@luma.gl/webgl 9.0.0-alpha.16 → 9.0.0-alpha.19

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 (417) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  2. package/dist/adapter/converters/device-parameters.js +117 -200
  3. package/dist/adapter/converters/device-parameters.js.map +1 -0
  4. package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  6. package/dist/adapter/converters/renderbuffer-formats.js +172 -62
  7. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  8. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.js +151 -149
  10. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  11. package/dist/adapter/converters/texture-formats.d.ts +2 -2
  12. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  13. package/dist/adapter/converters/texture-formats.js +847 -438
  14. package/dist/adapter/converters/texture-formats.js.map +1 -0
  15. package/dist/adapter/converters/vertex-formats.js +24 -15
  16. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  17. package/dist/adapter/device-helpers/device-features.js +84 -120
  18. package/dist/adapter/device-helpers/device-features.js.map +1 -0
  19. package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
  20. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  21. package/dist/adapter/device-helpers/device-limits.js +83 -88
  22. package/dist/adapter/device-helpers/device-limits.js.map +1 -0
  23. package/dist/adapter/device-helpers/get-device-info.js +37 -42
  24. package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
  25. package/dist/adapter/device-helpers/is-old-ie.js +8 -10
  26. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
  27. package/dist/adapter/helpers/attribute-utils.js +57 -50
  28. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  29. package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
  30. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
  31. package/dist/adapter/helpers/get-shader-info.js +19 -21
  32. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  33. package/dist/adapter/helpers/get-shader-layout.js +251 -310
  34. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  35. package/dist/adapter/helpers/parse-shader-compiler-log.js +26 -32
  36. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  37. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  38. package/dist/adapter/helpers/set-uniform.js +80 -67
  39. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  40. package/dist/adapter/helpers/uniforms.js +75 -80
  41. package/dist/adapter/helpers/uniforms.js.map +1 -0
  42. package/dist/adapter/objects/constants-to-keys.js +26 -33
  43. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  44. package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
  45. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  46. package/dist/adapter/objects/webgl-renderbuffer.js +70 -67
  47. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  48. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  49. package/dist/adapter/objects/webgl-resource.js +158 -213
  50. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  51. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  52. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  53. package/dist/adapter/objects/webgl-vertex-array-object.js +66 -74
  54. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  55. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  56. package/dist/adapter/resources/webgl-buffer.js +118 -150
  57. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  58. package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
  59. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-command-buffer.js +41 -40
  61. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  62. package/dist/adapter/resources/webgl-command-encoder.js +37 -26
  63. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  64. package/dist/adapter/resources/webgl-external-texture.js +1 -91
  65. package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
  66. package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
  67. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-framebuffer.js +198 -231
  69. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  70. package/dist/adapter/resources/webgl-render-pass.js +11 -8
  71. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  72. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-render-pipeline.js +289 -316
  74. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  75. package/dist/adapter/resources/webgl-sampler.js +35 -42
  76. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  77. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  78. package/dist/adapter/resources/webgl-shader.js +53 -57
  79. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  80. package/dist/adapter/resources/webgl-texture.d.ts +4 -4
  81. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  82. package/dist/adapter/resources/webgl-texture.js +697 -661
  83. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  84. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  85. package/dist/adapter/webgl-canvas-context.js +35 -55
  86. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  87. package/dist/adapter/webgl-device.d.ts +5 -0
  88. package/dist/adapter/webgl-device.d.ts.map +1 -1
  89. package/dist/adapter/webgl-device.js +270 -287
  90. package/dist/adapter/webgl-device.js.map +1 -0
  91. package/dist/classic/accessor.js +103 -120
  92. package/dist/classic/accessor.js.map +1 -0
  93. package/dist/classic/buffer.d.ts +1 -1
  94. package/dist/classic/buffer.d.ts.map +1 -1
  95. package/dist/classic/buffer.js +300 -325
  96. package/dist/classic/buffer.js.map +1 -0
  97. package/dist/classic/typed-array-utils.d.ts +1 -1
  98. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  99. package/dist/classic/typed-array-utils.js +81 -91
  100. package/dist/classic/typed-array-utils.js.map +1 -0
  101. package/dist/context/context/create-browser-context.d.ts +3 -1
  102. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  103. package/dist/context/context/create-browser-context.js +49 -66
  104. package/dist/context/context/create-browser-context.js.map +1 -0
  105. package/dist/context/context/create-headless-context.d.ts +1 -1
  106. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  107. package/dist/context/context/create-headless-context.js +30 -24
  108. package/dist/context/context/create-headless-context.js.map +1 -0
  109. package/dist/context/context/webgl-checks.js +17 -25
  110. package/dist/context/context/webgl-checks.js.map +1 -0
  111. package/dist/context/debug/spector.d.ts +3 -1
  112. package/dist/context/debug/spector.d.ts.map +1 -1
  113. package/dist/context/debug/spector.js +50 -53
  114. package/dist/context/debug/spector.js.map +1 -0
  115. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  116. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  117. package/dist/context/debug/webgl-developer-tools.js +76 -107
  118. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  119. package/dist/context/parameters/unified-parameter-api.js +46 -93
  120. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  121. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  122. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  123. package/dist/context/parameters/webgl-parameter-tables.js +404 -462
  124. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  125. package/dist/context/polyfill/context-data.js +10 -16
  126. package/dist/context/polyfill/context-data.js.map +1 -0
  127. package/dist/context/polyfill/get-parameter-polyfill.js +71 -91
  128. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  129. package/dist/context/polyfill/polyfill-context.js +73 -75
  130. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  131. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  132. package/dist/context/polyfill/polyfill-table.js +116 -133
  133. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  134. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  135. package/dist/context/polyfill/polyfill-vertex-array-object.js +227 -255
  136. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  137. package/dist/context/state-tracker/deep-array-equal.js +14 -16
  138. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  139. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  140. package/dist/context/state-tracker/track-context-state.js +127 -183
  141. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  142. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  143. package/dist/context/state-tracker/with-parameters.js +29 -43
  144. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  145. package/dist/dist.dev.js +9205 -0
  146. package/dist/index.cjs +5948 -0
  147. package/dist/index.d.ts +0 -2
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +25 -41
  150. package/dist/index.js.map +1 -0
  151. package/dist/types/webgl.d.ts +16 -16
  152. package/dist/types/webgl.d.ts.map +1 -1
  153. package/dist/types/webgl.js +1 -0
  154. package/dist/types/webgl.js.map +1 -0
  155. package/dist/types.d.ts +1 -1
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/types.js +1 -0
  158. package/dist/types.js.map +1 -0
  159. package/dist.min.js +36 -0
  160. package/package.json +18 -9
  161. package/src/adapter/converters/device-parameters.ts +5 -2
  162. package/src/adapter/converters/sampler-parameters.ts +4 -2
  163. package/src/adapter/converters/texture-formats.ts +3 -1
  164. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  165. package/src/adapter/helpers/get-shader-info.ts +1 -1
  166. package/src/adapter/helpers/get-shader-layout.ts +4 -4
  167. package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
  168. package/src/adapter/helpers/set-uniform.ts +2 -0
  169. package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
  170. package/src/adapter/objects/webgl-resource.ts +1 -1
  171. package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
  172. package/src/adapter/resources/webgl-buffer.ts +6 -6
  173. package/src/adapter/resources/webgl-command-encoder.ts +1 -1
  174. package/src/adapter/resources/webgl-framebuffer.ts +3 -4
  175. package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
  176. package/src/adapter/resources/webgl-shader.ts +1 -1
  177. package/src/adapter/resources/webgl-texture.ts +8 -9
  178. package/src/adapter/webgl-canvas-context.ts +2 -2
  179. package/src/adapter/webgl-device.ts +12 -2
  180. package/src/classic/accessor.ts +1 -1
  181. package/src/classic/buffer.ts +3 -3
  182. package/src/classic/typed-array-utils.ts +1 -1
  183. package/src/context/context/create-browser-context.ts +4 -2
  184. package/src/context/context/create-headless-context.ts +2 -2
  185. package/src/context/debug/spector.ts +5 -4
  186. package/src/context/debug/webgl-developer-tools.ts +1 -0
  187. package/src/context/polyfill/polyfill-table.ts +1 -0
  188. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  189. package/src/context/state-tracker/track-context-state.ts +6 -5
  190. package/src/context/state-tracker/with-parameters.ts +1 -1
  191. package/src/index.ts +1 -5
  192. package/src/types/webgl.ts +2 -0
  193. package/dist/bundle.d.ts +0 -2
  194. package/dist/bundle.d.ts.map +0 -1
  195. package/dist/bundle.js +0 -4
  196. package/dist/dist.min.js +0 -1
  197. package/dist/es5/adapter/converters/device-parameters.js +0 -139
  198. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  199. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
  200. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  201. package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
  202. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  203. package/dist/es5/adapter/converters/texture-formats.js +0 -950
  204. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  205. package/dist/es5/adapter/converters/vertex-formats.js +0 -36
  206. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  207. package/dist/es5/adapter/device-helpers/device-features.js +0 -121
  208. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  209. package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
  210. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  211. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
  212. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  213. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
  214. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  215. package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
  216. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  217. package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
  218. package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
  219. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
  220. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  221. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
  222. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  223. package/dist/es5/adapter/helpers/set-uniform.js +0 -92
  224. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  225. package/dist/es5/adapter/helpers/uniforms.js +0 -88
  226. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  227. package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
  228. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  229. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
  230. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  231. package/dist/es5/adapter/objects/webgl-resource.js +0 -233
  232. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  233. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
  234. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  235. package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
  236. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  237. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
  238. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  239. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
  240. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  241. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  242. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  243. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -275
  244. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  245. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
  246. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  247. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
  248. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  249. package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
  250. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  251. package/dist/es5/adapter/resources/webgl-shader.js +0 -111
  252. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  253. package/dist/es5/adapter/resources/webgl-texture.js +0 -826
  254. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  255. package/dist/es5/adapter/webgl-canvas-context.js +0 -72
  256. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  257. package/dist/es5/adapter/webgl-device.js +0 -387
  258. package/dist/es5/adapter/webgl-device.js.map +0 -1
  259. package/dist/es5/bundle.js +0 -6
  260. package/dist/es5/bundle.js.map +0 -1
  261. package/dist/es5/classic/accessor.js +0 -151
  262. package/dist/es5/classic/accessor.js.map +0 -1
  263. package/dist/es5/classic/buffer.js +0 -398
  264. package/dist/es5/classic/buffer.js.map +0 -1
  265. package/dist/es5/classic/typed-array-utils.js +0 -99
  266. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  267. package/dist/es5/context/context/create-browser-context.js +0 -66
  268. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  269. package/dist/es5/context/context/create-headless-context.js +0 -47
  270. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  271. package/dist/es5/context/context/webgl-checks.js +0 -44
  272. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  273. package/dist/es5/context/debug/spector.js +0 -99
  274. package/dist/es5/context/debug/spector.js.map +0 -1
  275. package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
  276. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  277. package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
  278. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  279. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
  280. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  281. package/dist/es5/context/polyfill/context-data.js +0 -18
  282. package/dist/es5/context/polyfill/context-data.js.map +0 -1
  283. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
  284. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  285. package/dist/es5/context/polyfill/polyfill-context.js +0 -109
  286. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  287. package/dist/es5/context/polyfill/polyfill-table.js +0 -143
  288. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  289. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
  290. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  291. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
  292. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  293. package/dist/es5/context/state-tracker/track-context-state.js +0 -167
  294. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  295. package/dist/es5/context/state-tracker/with-parameters.js +0 -40
  296. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  297. package/dist/es5/index.js +0 -249
  298. package/dist/es5/index.js.map +0 -1
  299. package/dist/es5/init.js +0 -7
  300. package/dist/es5/init.js.map +0 -1
  301. package/dist/es5/types/webgl.js +0 -5
  302. package/dist/es5/types/webgl.js.map +0 -1
  303. package/dist/es5/types.js +0 -2
  304. package/dist/es5/types.js.map +0 -1
  305. package/dist/esm/adapter/converters/device-parameters.js +0 -137
  306. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  307. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
  308. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  309. package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
  310. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  311. package/dist/esm/adapter/converters/texture-formats.js +0 -901
  312. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  313. package/dist/esm/adapter/converters/vertex-formats.js +0 -29
  314. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  315. package/dist/esm/adapter/device-helpers/device-features.js +0 -95
  316. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  317. package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
  318. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  319. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
  320. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  321. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
  322. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  323. package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
  324. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  325. package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
  326. package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
  327. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
  328. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  329. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
  330. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  331. package/dist/esm/adapter/helpers/set-uniform.js +0 -85
  332. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  333. package/dist/esm/adapter/helpers/uniforms.js +0 -89
  334. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  335. package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
  336. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  337. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
  338. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  339. package/dist/esm/adapter/objects/webgl-resource.js +0 -163
  340. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  341. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
  342. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  343. package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
  344. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  345. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
  346. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  347. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
  348. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  349. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  350. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  351. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -207
  352. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  353. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
  354. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  355. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
  356. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  357. package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
  358. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  359. package/dist/esm/adapter/resources/webgl-shader.js +0 -62
  360. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  361. package/dist/esm/adapter/resources/webgl-texture.js +0 -714
  362. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  363. package/dist/esm/adapter/webgl-canvas-context.js +0 -41
  364. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  365. package/dist/esm/adapter/webgl-device.js +0 -276
  366. package/dist/esm/adapter/webgl-device.js.map +0 -1
  367. package/dist/esm/bundle.js +0 -4
  368. package/dist/esm/bundle.js.map +0 -1
  369. package/dist/esm/classic/accessor.js +0 -120
  370. package/dist/esm/classic/accessor.js.map +0 -1
  371. package/dist/esm/classic/buffer.js +0 -327
  372. package/dist/esm/classic/buffer.js.map +0 -1
  373. package/dist/esm/classic/typed-array-utils.js +0 -92
  374. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  375. package/dist/esm/context/context/create-browser-context.js +0 -53
  376. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  377. package/dist/esm/context/context/create-headless-context.js +0 -39
  378. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  379. package/dist/esm/context/context/webgl-checks.js +0 -31
  380. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  381. package/dist/esm/context/debug/spector.js +0 -64
  382. package/dist/esm/context/debug/spector.js.map +0 -1
  383. package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
  384. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  385. package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
  386. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  387. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
  388. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  389. package/dist/esm/context/polyfill/context-data.js +0 -12
  390. package/dist/esm/context/polyfill/context-data.js.map +0 -1
  391. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
  392. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  393. package/dist/esm/context/polyfill/polyfill-context.js +0 -84
  394. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  395. package/dist/esm/context/polyfill/polyfill-table.js +0 -138
  396. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  397. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
  398. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  399. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
  400. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  401. package/dist/esm/context/state-tracker/track-context-state.js +0 -148
  402. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  403. package/dist/esm/context/state-tracker/with-parameters.js +0 -34
  404. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  405. package/dist/esm/index.js +0 -27
  406. package/dist/esm/index.js.map +0 -1
  407. package/dist/esm/init.js +0 -4
  408. package/dist/esm/init.js.map +0 -1
  409. package/dist/esm/types/webgl.js +0 -2
  410. package/dist/esm/types/webgl.js.map +0 -1
  411. package/dist/esm/types.js +0 -2
  412. package/dist/esm/types.js.map +0 -1
  413. package/dist/init.d.ts +0 -2
  414. package/dist/init.d.ts.map +0 -1
  415. package/dist/init.js +0 -3
  416. package/src/bundle.ts +0 -4
  417. package/src/init.ts +0 -4
package/dist/dist.min.js DELETED
@@ -1 +0,0 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=46)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){(t=(0,o.default)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r;return e};var n,o=(n=r(49))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Buffer",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"CanvasContext",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"CommandEncoder",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"ComputePass",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"ComputePipeline",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"Device",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"ExternalTexture",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"Framebuffer",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"RenderPass",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"RenderPipeline",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"Resource",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"Sampler",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"Shader",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"StatsManager",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(t,"Texture",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"UniformBlock",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(t,"UniformBufferLayout",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"assert",{enumerable:!0,get:function(){return g.assert}}),Object.defineProperty(t,"cancelAnimationFrame",{enumerable:!0,get:function(){return F.cancelAnimationFrame}}),Object.defineProperty(t,"cast",{enumerable:!0,get:function(){return m.cast}}),Object.defineProperty(t,"checkProps",{enumerable:!0,get:function(){return I.checkProps}}),Object.defineProperty(t,"decodeTextureFormat",{enumerable:!0,get:function(){return T.decodeTextureFormat}}),Object.defineProperty(t,"decodeVertexFormat",{enumerable:!0,get:function(){return R.decodeVertexFormat}}),Object.defineProperty(t,"fillArray",{enumerable:!0,get:function(){return C.fillArray}}),Object.defineProperty(t,"formatCompilerLog",{enumerable:!0,get:function(){return M.formatCompilerLog}}),Object.defineProperty(t,"formatValue",{enumerable:!0,get:function(){return P.formatValue}}),Object.defineProperty(t,"getRandom",{enumerable:!0,get:function(){return w.getRandom}}),Object.defineProperty(t,"getScratchArray",{enumerable:!0,get:function(){return C.getScratchArray}}),Object.defineProperty(t,"getScratchArrayBuffer",{enumerable:!0,get:function(){return C.getScratchArrayBuffer}}),t.glsl=void 0,Object.defineProperty(t,"isObjectEmpty",{enumerable:!0,get:function(){return S.isObjectEmpty}}),Object.defineProperty(t,"isPowerOfTwo",{enumerable:!0,get:function(){return S.isPowerOfTwo}}),Object.defineProperty(t,"loadFile",{enumerable:!0,get:function(){return L.loadFile}}),Object.defineProperty(t,"loadImage",{enumerable:!0,get:function(){return L.loadImage}}),Object.defineProperty(t,"loadImageBitmap",{enumerable:!0,get:function(){return L.loadImageBitmap}}),Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return L.loadScript}}),Object.defineProperty(t,"log",{enumerable:!0,get:function(){return O.log}}),Object.defineProperty(t,"luma",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"random",{enumerable:!0,get:function(){return w.random}}),Object.defineProperty(t,"requestAnimationFrame",{enumerable:!0,get:function(){return F.requestAnimationFrame}}),Object.defineProperty(t,"setPathPrefix",{enumerable:!0,get:function(){return L.setPathPrefix}}),Object.defineProperty(t,"stubRemovedMethods",{enumerable:!0,get:function(){return N.stubRemovedMethods}}),Object.defineProperty(t,"uid",{enumerable:!0,get:function(){return S.uid}}),r(48);var n=B(r(51)),o=B(r(28)),i=B(r(52)),a=B(r(4)),u=B(r(29)),l=B(r(53)),c=B(r(54)),f=B(r(55)),s=B(r(56)),d=B(r(57)),_=B(r(58)),E=B(r(59)),p=B(r(60)),y=B(r(61)),h=B(r(62)),b=B(r(63)),v=B(r(65)),R=r(66),T=r(67),A=B(r(13)),g=r(20),m=r(68),O=r(6),S=r(19),P=r(69),N=r(70),I=r(71),L=r(72),C=r(73),w=r(74),M=r(75),F=r(76);function B(e){return e&&e.__esModule?e:{default:e}}t.glsl=function(e){return"".concat(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n.GL}});var n=r(80)},function(e,t,r){"use strict";r.d(t,"c",(function(){return n})),r.d(t,"f",(function(){return o})),r.d(t,"g",(function(){return i})),r.d(t,"b",(function(){return a})),r.d(t,"e",(function(){return u})),r.d(t,"a",(function(){return l})),r.d(t,"d",(function(){return c}));const n=globalThis,o=globalThis.self||globalThis.window||globalThis.global,i=globalThis.window||globalThis.self||globalThis.global,a=globalThis.document||{},u=globalThis.process||{},l=globalThis.console,c=globalThis.navigator||{}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.DEFAULT_RESOURCE_PROPS=void 0;var n=r(19);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,l(n.key),n)}}function u(e,t,r){return(t=l(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}var c={id:"undefined",handle:void 0,userData:{}};t.DEFAULT_RESOURCE_PROPS=c;var f=function(){function e(t,r,i){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u(this,"id",void 0),u(this,"props",void 0),u(this,"userData",{}),u(this,"device",void 0),u(this,"_device",void 0),u(this,"destroyed",!1),u(this,"allocatedBytes",0),!t)throw new Error("no device");this._device=t,this.props=function(e,t){var r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},t);for(var n in e)void 0!==e[n]&&(r[n]=e[n]);return r}(r,i);var a="undefined"!==this.props.id?this.props.id:(0,n.uid)(this[Symbol.toStringTag]);this.props.id=a,this.id=a,this.userData=this.props.userData||{},this.addStats()}var t,r,i;return t=e,(r=[{key:"destroy",value:function(){this.removeStats()}},{key:"delete",value:function(){return this.destroy(),this}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"getProps",value:function(){return this.props}},{key:"addStats",value:function(){var e=this._device.statsManager.getStats("Resource Counts"),t=this[Symbol.toStringTag];e.get("Resources Created").incrementCount(),e.get("".concat(t,"s Created")).incrementCount(),e.get("".concat(t,"s Active")).incrementCount()}},{key:"removeStats",value:function(){var e=this._device.statsManager.getStats("Resource Counts"),t=this[Symbol.toStringTag];e.get("".concat(t,"s Active")).decrementCount()}},{key:"trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this[Symbol.toStringTag],r=this._device.statsManager.getStats("Resource Counts");r.get("GPU Memory").addCount(e),r.get("".concat(t," Memory")).addCount(e),this.allocatedBytes=e}},{key:"trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this[Symbol.toStringTag],t=this._device.statsManager.getStats("Resource Counts");t.get("GPU Memory").subtractCount(this.allocatedBytes),t.get("".concat(e," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0}}])&&a(t.prototype,r),i&&a(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERR_WEBGL2=t.ERR_WEBGL=void 0,t.assertWebGL2Context=function(e){return(0,n.assert)(i(e),"Requires WebGL2"),e},t.assertWebGLContext=function(e){return(0,n.assert)(o(e),"Invalid WebGLRenderingContext"),e},t.getWebGL2Context=function(e){return i(e)?e:null},t.isWebGL=o,t.isWebGL2=i;var n=r(1);t.ERR_WEBGL="Invalid WebGLRenderingContext";function o(e){return"undefined"!=typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||("undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version)))}function i(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}t.ERR_WEBGL2="Requires WebGL2"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.log=void 0;var n=new(r(99).Log)({id:"luma.gl"});t.log=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(1),o=r(8),i=r(31),a=r(14),u=r(83),l=r(34),c=r(84),f=r(85),s=r(87),d=g(r(35)),_=r(90),E=r(91),p=r(10),y=g(r(39)),h=g(r(41)),b=g(r(23)),v=g(r(16)),R=g(r(21)),T=g(r(42)),A=g(r(43));function g(e){return e&&e.__esModule?e:{default:e}}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function O(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */O=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,o){var i=t&&t.prototype instanceof d?t:d,a=Object.create(i.prototype),u=new P(o||[]);return n(a,"_invoke",{value:T(e,r,u)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var s={};function d(){}function _(){}function E(){}var p={};l(p,i,(function(){return this}));var y=Object.getPrototypeOf,h=y&&y(y(N([])));h&&h!==t&&r.call(h,i)&&(p=h);var b=E.prototype=d.prototype=Object.create(p);function v(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function R(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,u){var l=f(e[o],e,i);if("throw"!==l.type){var c=l.arg,s=c.value;return s&&"object"==m(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,a,u)}),(function(e){n("throw",e,a,u)})):t.resolve(s).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,u)}))}u(l.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function T(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=A(a,r);if(u){if(u===s)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=f(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===s)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function A(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,A(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),s;var o=f(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,s;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function g(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(g,this),this.reset(!0)}function N(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return _.prototype=E,n(b,"constructor",{value:E,configurable:!0}),n(E,"constructor",{value:_,configurable:!0}),_.displayName=l(E,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===_||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,l(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},v(R.prototype),l(R.prototype,a,(function(){return this})),e.AsyncIterator=R,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new R(c(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(b),l(b,u,"Generator"),l(b,i,(function(){return this})),l(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},e}function S(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){B(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function I(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,D(n.key),n)}}function L(e,t){return(L=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function C(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=F(e);if(t){var o=F(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return w(this,r)}}function w(e,t){if(t&&("object"===m(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return M(e)}function M(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function F(e){return(F=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e,t,r){return(t=D(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function D(e){var t=function(e,t){if("object"!==m(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===m(t)?t:String(t)}var U=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&L(e,t)}(F,e);var t,r,g,m,P,w=C(F);function F(e){var t,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,F),B(M(r=w.call(this,N(N({},e),{},{id:e.id||(0,n.uid)("webgl-device")}))),"info",void 0),B(M(r),"canvasContext",void 0),B(M(r),"handle",void 0),B(M(r),"lost",void 0),B(M(r),"_resolveContextLost",void 0),B(M(r),"_features",void 0),B(M(r),"_limits",void 0),B(M(r),"renderPass",null),B(M(r),"gl",void 0),B(M(r),"gl2",null),B(M(r),"debug",!1),B(M(r),"isWebGL1",void 0),B(M(r),"isWebGL2",void 0),B(M(r),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),B(M(r),"_extensions",{}),B(M(r),"_polyfilled",!1),B(M(r),"spector",void 0),B(M(r),"_webglLimits",void 0);var f=null===(t=e.gl)||void 0===t?void 0:t.device;if(f)throw new Error("WebGL context already attached to device ".concat(f.id));r.canvasContext=new d.default(M(r),e),r.lost=new Promise((function(e){r._resolveContextLost=e}));var s=function(e){var t,n;return null===(t=(n=r)._resolveContextLost)||void 0===t?void 0:t.call(n,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},p=e.gl||null;if(!(p=(p=p||((0,o.isBrowser)()?(0,u.createBrowserContext)(r.canvasContext.canvas,N(N({},e),{},{onContextLost:s})):null))||((0,o.isBrowser)()?null:(0,l.createHeadlessContext)(N(N({},e),{},{onContextLost:s})))))throw new Error("WebGL context creation failed");r.handle=p,r.gl=r.handle,r.gl2=r.gl,r.isWebGL2=function(e){if("undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext)return!0;return Boolean(e&&2===e._version)}(r.gl),r.isWebGL1=!r.isWebGL2,r.info=(0,c.getDeviceInfo)(r.gl),r.gl.device=M(r),r.gl._version=r.isWebGL2?2:1,(0,i.polyfillContext)(r.gl);var y=e.enable,h=void 0===y||y,b=e.copyState,v=void 0!==b&&b;if((0,a.trackContextState)(r.gl,{enable:h,copyState:v,log:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.log.log.apply(n.log,[1].concat(t))()}}),(0,o.isBrowser)()&&e.debug&&(r.gl=(0,E.makeDebugContext)(r.gl,N(N({},e),{},{webgl2:r.isWebGL2,throwOnError:!0})),r.gl2=r.gl,r.debug=!0,n.log.level=Math.max(n.log.level,1),n.log.warn("WebGL debug mode activated. Performance reduced.")()),(0,o.isBrowser)()&&e.spector){var R=r.handle.canvas||e.canvas;r.spector=(0,_.initializeSpectorJS)(N(N({},r.props),{},{canvas:R}))}var T="Created ".concat(r.info.type).concat(r.debug?" debug":""," context: ").concat(r.info.vendor,", ").concat(r.info.renderer," for canvas: ").concat(r.canvasContext.id);return n.log.probe(1,T)(),n.log.groupEnd(1)(),r}return t=F,r=[{key:"features",get:function(){return this._features=this._features||(0,f.getDeviceFeatures)(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||(0,s.getDeviceLimits)(this.gl),this._limits}},{key:"destroy",value:function(){var e=this.gl.getExtension("STACKGL_destroy_context");e&&e.destroy()}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"getSize",value:function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]}},{key:"isTextureFormatSupported",value:function(e){return(0,p.isTextureFormatSupported)(this.gl,e)}},{key:"isTextureFormatFilterable",value:function(e){return(0,p.isTextureFormatFilterable)(this.gl,e)}},{key:"isTextureFormatRenderable",value:function(e){return(0,p.isTextureFormatRenderable)(this.gl,e)}},{key:"assertWebGL2",value:function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2}},{key:"createCanvasContext",value:function(e){throw new Error("WebGL only supports a single canvas")}},{key:"_createBuffer",value:function(e){return new y.default(this,e)}},{key:"_createTexture",value:function(e){return new v.default(this,e)}},{key:"createExternalTexture",value:function(e){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(e){return new b.default(this,e)}},{key:"createShader",value:function(e){return new h.default(this,e)}},{key:"createFramebuffer",value:function(e){return new R.default(this,e)}},{key:"createRenderPipeline",value:function(e){return new A.default(this,e)}},{key:"beginRenderPass",value:function(e){return new T.default(this,e)}},{key:"createComputePipeline",value:function(e){throw new Error("ComputePipeline not supported in WebGL")}},{key:"beginComputePass",value:function(e){throw new Error("compute shaders not supported in WebGL")}},{key:"getDefaultRenderPass",value:function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass}},{key:"submit",value:function(){var e;null===(e=this.renderPass)||void 0===e||e.end(),this.renderPass=null}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||(0,s.getWebGLLimits)(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var e,t=this.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),null===(e=this._resolveContextLost)||void 0===e||e.call(this,{reason:"destroyed",message:"Application triggered context loss"})}},{key:"pushState",value:function(){(0,a.pushContextState)(this.gl)}},{key:"popState",value:function(){(0,a.popContextState)(this.gl)}}],g=[{key:"isSupported",value:function(){return"undefined"!=typeof WebGLRenderingContext||(0,l.isHeadlessGLRegistered)()}},{key:"attach",value:function(e){if(e instanceof F)return e;if((null==e?void 0:e.device)instanceof n.Device)return e.device;if(!function(e){return"undefined"!=typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||("undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version)))}(e))throw new Error("Invalid WebGLRenderingContext");return new F({gl:e})}},{key:"create",value:(m=O().mark((function e(){var t,r=arguments;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.length>0&&void 0!==r[0]?r[0]:{},n.log.groupCollapsed(1,"WebGLDevice created"),"string"!=typeof t.canvas){e.next=5;break}return e.next=5,n.CanvasContext.pageLoaded;case 5:if(!t.debug){e.next=8;break}return e.next=8,(0,E.loadWebGLDeveloperTools)();case 8:if(!t.spector){e.next=11;break}return e.next=11,(0,_.loadSpectorJS)();case 11:if(n.log.probe(2,"DOM is loaded")(),!t.gl||!t.gl.device){e.next=14;break}return e.abrupt("return",F.attach(t.gl));case 14:return e.abrupt("return",new F(t));case 15:case"end":return e.stop()}}),e)})),P=function(){var e=this,t=arguments;return new Promise((function(r,n){var o=m.apply(e,t);function i(e){S(o,r,n,i,a,"next",e)}function a(e){S(o,r,n,i,a,"throw",e)}i(void 0)}))},function(){return P.apply(this,arguments)})}],r&&I(t.prototype,r),g&&I(t,g),Object.defineProperty(t,"prototype",{writable:!1}),F}(n.Device);t.default=U,B(U,"type","webgl")},function(e,t,r){"use strict";r.r(t),r.d(t,"VERSION",(function(){return n.a})),r.d(t,"self",(function(){return o.f})),r.d(t,"window",(function(){return o.g})),r.d(t,"global",(function(){return o.c})),r.d(t,"document",(function(){return o.b})),r.d(t,"process",(function(){return o.e})),r.d(t,"console",(function(){return o.a})),r.d(t,"isBrowser",(function(){return i.a})),r.d(t,"isBrowserMainThread",(function(){return i.b})),r.d(t,"getBrowser",(function(){return c})),r.d(t,"isMobile",(function(){return l})),r.d(t,"isElectron",(function(){return a.a})),r.d(t,"assert",(function(){return f}));var n=r(26),o=r(3),i=r(9),a=r(11);const u=globalThis;function l(){return void 0!==u.orientation}function c(e){if(!e&&!Object(i.a)())return"Node";if(Object(a.a)(e))return"Electron";const t=e||o.d.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";const r=-1!==t.indexOf("MSIE "),n=-1!==t.indexOf("Trident/");return r||n?"IE":u.chrome?"Chrome":u.safari?"Safari":u.mozInnerScreenX?"Firefox":"Unknown"}function f(e,t){if(!e)throw new Error(t||"Assertion failed")}},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return i}));var n=r(11);function o(){return!("object"==typeof e&&"[object process]"===String(e)&&!e.browser)||Object(n.a)()}function i(){return o()&&"undefined"!=typeof document}}).call(this,r(18))},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.TEXTURE_FORMATS=void 0,t._checkFloat32ColorAttachment=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.RGBA,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.default.RGBA,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l.default.UNSIGNED_BYTE,o=null,i=null;try{o=e.createTexture(),e.bindTexture(l.default.TEXTURE_2D,o);var a=0,u=1,c=1,f=0,s=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,a,t,u,c,f,r,n,s),i=e.createFramebuffer(),e.bindFramebuffer(l.default.FRAMEBUFFER,i),e.framebufferTexture2D(l.default.FRAMEBUFFER,l.default.COLOR_ATTACHMENT0,l.default.TEXTURE_2D,o,0);var d=e.checkFramebufferStatus(l.default.FRAMEBUFFER)===l.default.FRAMEBUFFER_COMPLETE;return e.bindTexture(l.default.TEXTURE_2D,null),d}finally{e.deleteTexture(o),e.deleteFramebuffer(i)}},t.checkTextureFeature=T,t.getTextureFeatures=function(e){return Object.keys(R).filter((function(t){return T(e,t)}))},t.getTextureFormatBytesPerPixel=function(e,t){var r=m(t),n=P(e,r),o=N[n.dataFormat]||4,i=I[n.type]||1;return o*i},t.getTextureFormatSupport=function(e,t){var r=m(t),n=g[r];if(!n)return{supported:!1};var o=(0,c.isWebGL2)(e)?void 0===n.gl:void 0===n.gl1;return{supported:o=o&&A(e,[n.f]),renderable:o&&A(e,[n.render]),filterable:o&&A(e,[n.filter]),blendable:!1,storable:!1}},t.getWebGLDataType=C,t.getWebGLDepthStencilAttachment=function(e){var t=m(e);if("number"==typeof t)throw new Error("unsupported depth stencil format");var r=g[t].attachment;if(!r)throw new Error("not a depth stencil format");return r},t.getWebGLTextureFormat=S,t.getWebGLTextureParameters=P,t.isTextureFormatFilterable=function(e,t){var r=m(t);if(!O(e,r))return!1;try{if((0,u.decodeTextureFormat)(r).signed)return!1}catch(e){return!1}if(r.endsWith("32float"))return Boolean(e.getExtension("OES_texture_float_linear"));if(r.endsWith("16float"))return Boolean(e.getExtension("OES_texture_half_float_linear"));return!0},t.isTextureFormatRenderable=function(e,t){var r=m(t);if(!O(e,r))return!1;if("number"==typeof r)return!1;return!0},t.isTextureFormatSupported=O;var o,i,a,u=r(1),l=(o=r(2))&&o.__esModule?o:{default:o},c=r(5);function f(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var _="texture-compression-astc",E="WEBGL_compressed_texture_s3tc",p="WEBGL_compressed_texture_s3tc_srgb",y="EXT_texture_compression_rgtc",h="EXT_texture_compression_bptc",b=function(e,t){return e.getExtension(t)},v=function(e,t){return t.every((function(t){return e.getExtension(t)}))},R={"texture-blend-float-webgl1":function(e){return!!(0,c.isWebGL2)(e)||b(e,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(e){return!!(0,c.isWebGL2)(e)||b(e,"EXT_sRGB")},"texture-formats-depth-webgl1":function(e){return!!(0,c.isWebGL2)(e)||b(e,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(e){return!!(0,c.isWebGL2)(e)||b(e,"OES_texture_float")},"texture-formats-float16-webgl1":function(e){return!!(0,c.isWebGL2)(e)||b(e,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(e){return!!(0,c.isWebGL2)(e)&&b(e,"EXT_texture_norm16")},"texture-filter-linear-float32-webgl":function(e){return b(e,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(e){return b(e,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(e){return b(e,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(e){return b(e,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(e){return b(e,"EXT_color_buffer_half_float")},"texture-compression-bc":function(e){return v(e,[E,p,y,h])},"texture-compression-bc5-webgl":function(e){return v(e,[y])},"texture-compression-etc2":function(e){return v(e,["WEBGL_compressed_texture_etc"])},"texture-compression-astc":function(e){return v(e,["WEBGL_compressed_texture_astc"])},"texture-compression-etc1-webgl":function(e){return v(e,["WEBGL_compressed_texture_etc1"])},"texture-compression-pvrtc-webgl":function(e){return v(e,["WEBGL_compressed_texture_pvrtc"])},"texture-compression-atc-webgl":function(e){return v(e,["WEBGL_compressed_texture_atc"])}};function T(e,t){var r;return(null===(r=R[t])||void 0===r?void 0:r.call(R,e))||!1}var A=function(e,t){return t.every((function(t){return T(e,t)}))};var g={"rgb8unorm-unsized":{gl:l.default.RGB,gl1:l.default.RGB,b:4,c:2,bpp:4,dataFormat:l.default.RGB,types:[l.default.UNSIGNED_BYTE,l.default.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:l.default.RGBA,gl1:l.default.RGBA,b:4,c:2,bpp:4,dataFormat:l.default.RGBA,types:[l.default.UNSIGNED_BYTE,l.default.UNSIGNED_SHORT_4_4_4_4,l.default.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:l.default.R8,b:1,c:1},r8snorm:{gl:l.default.R8_SNORM,b:1,c:1},r8uint:{gl:l.default.R8UI,b:1,c:1},r8sint:{gl:l.default.R8I,b:1,c:1},rg8unorm:{gl:l.default.RG8,b:2,c:2},rg8snorm:{gl:l.default.RG8_SNORM,b:2,c:2},rg8uint:{gl:l.default.RG8UI,b:2,c:2},rg8sint:{gl:l.default.RG8I,b:2,c:2},r16uint:{gl:l.default.R16UI,b:2,c:1},r16sint:{gl:l.default.R16I,b:2,c:1},r16float:{gl:l.default.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"r16unorm-webgl":{gl:l.default.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"r16snorm-webgl":{gl:l.default.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"rgba4unorm-webgl":{gl:l.default.RGBA4,b:2,c:4,wgpu:!1},"rgb565unorm-webgl":{gl:l.default.RGB565,b:2,c:4,wgpu:!1},"rgb5a1unorm-webgl":{gl:l.default.RGB5_A1,b:2,c:4,wgpu:!1},"rbg8unorm-webgl":{gl:l.default.RGB8,b:3,c:3,wgpu:!1},"rbg8snorm-webgl":{gl:l.default.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:l.default.RGBA8,gl1:l.default.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:l.default.SRGB8_ALPHA8,gl1:l.default.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:"EXT_sRGB",bpp:4},rgba8snorm:{gl:l.default.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:l.default.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:l.default.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:l.default.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:l.default.RG16I,b:4,c:2,bpp:4},rg16float:{gl:l.default.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rg16unorm-webgl":{gl:l.default.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},"rg16snorm-webgl":{gl:l.default.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},r32uint:{gl:l.default.R32UI,b:4,c:1,bpp:4},r32sint:{gl:l.default.R32I,b:4,c:1,bpp:4},r32float:{gl:l.default.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:l.default.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:l.default.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl"},rgb10a2unorm:{gl:l.default.RGB10_A2,b:4,c:4,p:1},"rgb10a2unorm-webgl":{b:4,c:4,gl:l.default.RGB10_A2UI,p:1,wgpu:!1,bpp:4},"rgb16unorm-webgl":{gl:l.default.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},"rgb16snorm-webgl":{gl:l.default.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},rg32uint:{gl:l.default.RG32UI,b:8,c:2},rg32sint:{gl:l.default.RG32I,b:8,c:2},rg32float:{gl:l.default.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgba16uint:{gl:l.default.RGBA16UI,b:8,c:4},rgba16sint:{gl:l.default.RGBA16I,b:8,c:4},rgba16float:{gl:l.default.RGBA16F,gl1:l.default.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:l.default.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgba16snorm-webgl":{gl:l.default.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgb32float-webgl":{gl:l.default.RGB32F,gl1:l.default.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:"EXT_color_buffer_float",gl1ext:"WEBGL_color_buffer_float",dataFormat:l.default.RGB,types:[l.default.FLOAT]},rgba32uint:{gl:l.default.RGBA32UI,b:16,c:4},rgba32sint:{gl:l.default.RGBA32I,b:16,c:4},rgba32float:{gl:l.default.RGBA32F,gl1:l.default.RGBA,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},stencil8:{gl:l.default.STENCIL_INDEX8,b:1,c:1,attachment:l.default.STENCIL_ATTACHMENT},depth16unorm:{gl:l.default.DEPTH_COMPONENT16,gl1:l.default.DEPTH_COMPONENT16,b:2,c:1,attachment:l.default.DEPTH_ATTACHMENT},depth24plus:{gl:l.default.DEPTH_COMPONENT24,b:3,c:1,attachment:l.default.DEPTH_ATTACHMENT},depth32float:{gl:l.default.DEPTH_COMPONENT32F,b:4,c:1,attachment:l.default.DEPTH_ATTACHMENT},"depth24plus-stencil8":{b:4,gl:l.default.UNSIGNED_INT_24_8,gl1:l.default.DEPTH_STENCIL,c:2,p:1,attachment:l.default.DEPTH_STENCIL_ATTACHMENT},"depth24unorm-stencil8":{gl:l.default.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:l.default.DEPTH_STENCIL_ATTACHMENT},"depth32float-stencil8":{gl:l.default.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:l.default.DEPTH_STENCIL_ATTACHMENT},"bc1-rgb-unorm-webgl":{gl:l.default.COMPRESSED_RGB_S3TC_DXT1_EXT,x:E,f:"texture-compression-bc"},"bc1-rgb-unorm-srgb-webgl":{gl:l.default.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:p,f:"texture-compression-bc"},"bc1-rgba-unorm":{gl:l.default.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:E,f:"texture-compression-bc"},"bc1-rgba-unorm-srgb":{gl:l.default.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:p,f:"texture-compression-bc"},"bc2-rgba-unorm":{gl:l.default.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:E,f:"texture-compression-bc"},"bc2-rgba-unorm-srgb":{gl:l.default.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:p,f:"texture-compression-bc"},"bc3-rgba-unorm":{gl:l.default.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:E,f:"texture-compression-bc"},"bc3-rgba-unorm-srgb":{gl:l.default.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:p,f:"texture-compression-bc"},"bc4-r-unorm":{gl:l.default.COMPRESSED_RED_RGTC1_EXT,x:y,f:"texture-compression-bc"},"bc4-r-snorm":{gl:l.default.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:y,f:"texture-compression-bc"},"bc5-rg-unorm":{gl:l.default.COMPRESSED_RED_GREEN_RGTC2_EXT,x:y,f:"texture-compression-bc"},"bc5-rg-snorm":{gl:l.default.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:y,f:"texture-compression-bc"},"bc6h-rgb-ufloat":{gl:l.default.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:h,f:"texture-compression-bc"},"bc6h-rgb-float":{gl:l.default.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:h,f:"texture-compression-bc"},"bc7-rgba-unorm":{gl:l.default.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:h,f:"texture-compression-bc"},"bc7-rgba-unorm-srgb":{gl:l.default.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:h,f:"texture-compression-bc"},"etc2-rgb8unorm":{gl:l.default.COMPRESSED_RGB8_ETC2,f:"texture-compression-etc2"},"etc2-rgb8unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ETC2,f:"texture-compression-etc2"},"etc2-rgb8a1unorm":{gl:l.default.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:"texture-compression-etc2"},"etc2-rgb8a1unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:"texture-compression-etc2"},"etc2-rgba8unorm":{gl:l.default.COMPRESSED_RGBA8_ETC2_EAC,f:"texture-compression-etc2"},"etc2-rgba8unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:"texture-compression-etc2"},"eac-r11unorm":{gl:l.default.COMPRESSED_R11_EAC,f:"texture-compression-etc2"},"eac-r11snorm":{gl:l.default.COMPRESSED_SIGNED_R11_EAC,f:"texture-compression-etc2"},"eac-rg11unorm":{gl:l.default.COMPRESSED_RG11_EAC,f:"texture-compression-etc2"},"eac-rg11snorm":{gl:l.default.COMPRESSED_SIGNED_RG11_EAC,f:"texture-compression-etc2"},"astc-4x4-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_4x4_KHR,f:_},"astc-4x4-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:_},"astc-5x4-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_5x4_KHR,f:_},"astc-5x4-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:_},"astc-5x5-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_5x5_KHR,f:_},"astc-5x5-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:_},"astc-6x5-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_6x5_KHR,f:_},"astc-6x5-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:_},"astc-6x6-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_6x6_KHR,f:_},"astc-6x6-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:_},"astc-8x5-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_8x5_KHR,f:_},"astc-8x5-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:_},"astc-8x6-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_8x6_KHR,f:_},"astc-8x6-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:_},"astc-8x8-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_8x8_KHR,f:_},"astc-8x8-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:_},"astc-10x5-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_10x10_KHR,f:_},"astc-10x5-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:_},"astc-10x6-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_10x6_KHR,f:_},"astc-10x6-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:_},"astc-10x8-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_10x8_KHR,f:_},"astc-10x8-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:_},"astc-10x10-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_10x10_KHR,f:_},"astc-10x10-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:_},"astc-12x10-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_12x10_KHR,f:_},"astc-12x10-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:_},"astc-12x12-unorm":{gl:l.default.COMPRESSED_RGBA_ASTC_12x12_KHR,f:_},"astc-12x12-unorm-srgb":{gl:l.default.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:_},"pvrtc-rgb4unorm-webgl":{gl:l.default.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:"texture-compression-pvrtc-webgl"},"pvrtc-rgba4unorm-webgl":{gl:l.default.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:"texture-compression-pvrtc-webgl"},"pvrtc-rbg2unorm-webgl":{gl:l.default.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:"texture-compression-pvrtc-webgl"},"pvrtc-rgba2unorm-webgl":{gl:l.default.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:"texture-compression-pvrtc-webgl"},"etc1-rbg-unorm-webgl":{gl:l.default.COMPRESSED_RGB_ETC1_WEBGL,f:"texture-compression-etc1-webgl"},"atc-rgb-unorm-webgl":{gl:l.default.COMPRESSED_RGB_ATC_WEBGL,f:"texture-compression-atc-webgl"},"atc-rgba-unorm-webgl":{gl:l.default.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:"texture-compression-atc-webgl"},"atc-rgbai-unorm-webgl":{gl:l.default.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:"texture-compression-atc-webgl"}};function m(e){if("string"==typeof e)return e;var t=Object.entries(g).find((function(t){var r=s(t,2)[1];return r.gl===e||r.gl1===e}));if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function O(e,t){var r=m(t),n=g[r];if(!n)return!1;if((0,c.isWebGL2)(e)?void 0===n.gl:void 0===n.gl1)return!1;var o=n.x||(0,c.isWebGL2)(e)&&n.gl2ext||n.gl1ext;return!o||Boolean(e.getExtension(o))}function S(e,t){var r=m(t),n=g[r],o=(0,c.isWebGL2)(e)?null==n?void 0:n.gl:null==n?void 0:n.gl1;if("number"==typeof r)return o||r;if(void 0===o)throw new Error("Unsupported texture format ".concat(r));return o}function P(e,t){var r=m(t),n=S(e,r),o=(0,u.decodeTextureFormat)(r);return{format:n,dataFormat:L(o.format,o.integer,o.normalized,n),type:C(o.dataType),compressed:o.compressed}}t.TEXTURE_FORMATS=g;var N=(f(i={},l.default.RED,1),f(i,l.default.RED_INTEGER,1),f(i,l.default.RG,2),f(i,l.default.RG_INTEGER,2),f(i,l.default.RGB,3),f(i,l.default.RGB_INTEGER,3),f(i,l.default.RGBA,4),f(i,l.default.RGBA_INTEGER,4),f(i,l.default.DEPTH_COMPONENT,1),f(i,l.default.DEPTH_STENCIL,1),f(i,l.default.ALPHA,1),f(i,l.default.LUMINANCE,1),f(i,l.default.LUMINANCE_ALPHA,2),i),I=(f(a={},l.default.FLOAT,4),f(a,l.default.UNSIGNED_INT,4),f(a,l.default.INT,4),f(a,l.default.UNSIGNED_SHORT,2),f(a,l.default.SHORT,2),f(a,l.default.HALF_FLOAT,2),f(a,l.default.BYTE,1),f(a,l.default.UNSIGNED_BYTE,1),a);function L(e,t,r,n){if(n===l.default.RGBA||n===l.default.RGB)return n;switch(e){case"r":return t&&!r?l.default.RED_INTEGER:l.default.RED;case"rg":return t&&!r?l.default.RG_INTEGER:l.default.RG;case"rgb":return t&&!r?l.default.RGB_INTEGER:l.default.RGB;case"rgba":return t&&!r?l.default.RGBA_INTEGER:l.default.RGBA;default:return l.default.RGBA}}function C(e){switch(e){case"uint8":return l.default.UNSIGNED_BYTE;case"sint8":return l.default.BYTE;case"uint16":return l.default.UNSIGNED_SHORT;case"sint16":return l.default.SHORT;case"uint32":return l.default.UNSIGNED_INT;case"sint32":return l.default.INT;case"float16":return l.default.HALF_FLOAT;case"float32":return l.default.FLOAT;default:return l.default.UNSIGNED_BYTE}}},function(e,t,r){"use strict";(function(e){function n(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if(void 0!==e&&"object"==typeof e.versions&&Boolean(e.versions.electron))return!0;const r="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||r;return!!(n&&n.indexOf("Electron")>=0)}r.d(t,"a",(function(){return n}))}).call(this,r(18))},function(e,t,r){"use strict";(function(e){function n(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if(void 0!==e&&e.hrtime){const r=e.hrtime();t=1e3*r[0]+r[1]/1e6}else t=Date.now();return t}r.d(t,"a",(function(){return n}))}).call(this,r(18))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lumaStats=t.default=void 0;var n=r(100);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function a(e){var t=function(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===o(t)?t:String(t)}var u=function(){function e(){var t,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=this,r="stats",n=new Map,(r=a(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n}var t,r,o;return t=e,(r=[{key:"getStats",value:function(e){return this.get(e)}},{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new n.Stats({id:e})),this.stats.get(e)}}])&&i(t.prototype,r),o&&i(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=u;var l=new u;t.lumaStats=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.popContextState=function(e){var t=_(e);(0,n.assert)(t),t.pop()},t.pushContextState=function(e){var t=_(e);t||(E(e,{copyState:!1}),t=_(e));t.push()},t.trackContextState=E;var n=r(1),o=r(33),i=r(15),a=r(82);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,s(n.key),n)}}function f(e,t,r){return(t=s(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}var d=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.copyState,a=void 0!==n&&n,u=r.log,c=void 0===u?function(){}:u;l(this,e),f(this,"gl",void 0),f(this,"program",null),f(this,"stateStack",[]),f(this,"enable",!0),f(this,"cache",void 0),f(this,"log",void 0),this.gl=t,this.cache=a?(0,i.getParameters)(t):Object.assign({},o.GL_PARAMETER_DEFAULTS),this.log=c,this._updateCache=this._updateCache.bind(this),Object.seal(this)}var t,r,u;return t=e,(r=[{key:"push",value:function(){this.stateStack.push({})}},{key:"pop",value:function(){(0,n.assert)(this.stateStack.length>0);var e=this.stateStack[this.stateStack.length-1];(0,i.setParameters)(this.gl,e),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,r=!1,o=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var i in e){(0,n.assert)(void 0!==i);var u=e[i],l=this.cache[i];(0,a.deepArrayEqual)(u,l)||(r=!0,t=l,o&&!(i in o)&&(o[i]=l),this.cache[i]=u)}return{valueChanged:r,oldValue:t}}}])&&c(t.prototype,r),u&&c(t,u),Object.defineProperty(t,"prototype",{writable:!1}),e}();function _(e){return e.state}function E(e,t){var r=t.enable,i=void 0===r||r,a=t.copyState;if((0,n.assert)(void 0!==a),!e.state){for(var u in e.state=new d(e,{copyState:a}),function(e){var t=e.useProgram.bind(e);e.useProgram=function(r){var n=_(e);n.program!==r&&(t(r),n.program=r)}}(e),o.GL_HOOKED_SETTERS){y(e,u,o.GL_HOOKED_SETTERS[u])}p(e,"getParameter"),p(e,"isEnabled")}return _(e).enable=i,e}function p(e,t){var r=e[t].bind(e);e[t]=function(t){if(void 0===t||o.NON_CACHE_PARAMETERS.has(t))return r(t);var n=_(e);return t in n.cache||(n.cache[t]=r(t)),n.enable?n.cache[t]:r(t)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function y(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var t=_(e),o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=r.apply(void 0,[t._updateCache].concat(i)),l=u.valueChanged,c=u.oldValue;return l&&n.apply(void 0,i),c},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getParameters=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.GL_PARAMETER_DEFAULTS,r=i.default.attach(e),n=r.gl;if("number"==typeof t){var u=t,l=o.GL_PARAMETER_GETTERS[u];return l?l(n,u):n.getParameter(u)}var c,f=Array.isArray(t)?t:Object.keys(t),s={},d=a(f);try{for(d.s();!(c=d.n()).done;){var _=c.value,E=o.GL_PARAMETER_GETTERS[_];s[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(e){d.e(e)}finally{d.f()}return s},t.resetParameters=function(e){l(e,o.GL_PARAMETER_DEFAULTS)},t.setParameters=l;var n,o=r(33),i=(n=r(7))&&n.__esModule?n:{default:n};function a(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw i}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t){var r=i.default.attach(e).gl;if(!function(e){for(var t in e)return!1;return!0}(t)){var n={};for(var a in t){var u=Number(a),l=o.GL_PARAMETER_SETTERS[a];l&&("string"==typeof l?n[l]=!0:l(r,t[a],u))}var c=r.state&&r.state.cache;if(c)for(var f in n){(0,o.GL_COMPOSITE_PARAMETER_SETTERS[f])(r,t,c)}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(1),o=f(r(2)),i=r(36),a=r(10),u=r(37),l=f(r(17)),c=f(r(23));function f(e){return e&&e.__esModule?e:{default:e}}function s(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */s=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,o){var i=t&&t.prototype instanceof _?t:_,a=Object.create(i.prototype),u=new P(o||[]);return n(a,"_invoke",{value:g(e,r,u)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var d={};function _(){}function E(){}function p(){}var h={};l(h,i,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(N([])));v&&v!==t&&r.call(v,i)&&(h=v);var R=p.prototype=_.prototype=Object.create(h);function T(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,u){var l=f(e[o],e,i);if("throw"!==l.type){var c=l.arg,s=c.value;return s&&"object"==y(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,a,u)}),(function(e){n("throw",e,a,u)})):t.resolve(s).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,u)}))}u(l.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function g(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=m(a,r);if(u){if(u===d)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=f(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function m(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,m(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=f(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return E.prototype=p,n(R,"constructor",{value:p,configurable:!0}),n(p,"constructor",{value:E,configurable:!0}),E.displayName=l(p,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===E||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,u,"GeneratorFunction")),e.prototype=Object.create(R),e},e.awrap=function(e){return{__await:e}},T(A.prototype),l(A.prototype,a,(function(){return this})),e.AsyncIterator=A,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new A(c(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},T(R),l(R,u,"Generator"),l(R,i,(function(){return this})),l(R,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function d(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||E(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e,t){if(e){if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p(e,t):void 0}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){O(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,S(n.key),n)}}function R(e,t){return(R=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=m(e);if(t){var o=m(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return A(this,r)}}function A(e,t){if(t&&("object"===y(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function O(e,t,r){return(t=S(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function S(e){var t=function(e,t){if("object"!==y(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==y(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===y(t)?t:String(t)}var P=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&R(e,t)}(m,e);var t,r,f,p,h,A=T(m);function m(e,t){var r,i;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,m),O(g(i=A.call(this,e,b({format:o.default.RGBA},t))),"MAX_ATTRIBUTES",void 0),O(g(i),"device",void 0),O(g(i),"gl",void 0),O(g(i),"gl2",void 0),O(g(i),"handle",void 0),O(g(i),"data",void 0),O(g(i),"width",void 0),O(g(i),"height",void 0),O(g(i),"depth",void 0),O(g(i),"format",void 0),O(g(i),"type",void 0),O(g(i),"dataFormat",void 0),O(g(i),"mipmaps",void 0),O(g(i),"target",void 0),O(g(i),"textureUnit",void 0),O(g(i),"sampler",void 0),O(g(i),"loaded",!1),O(g(i),"_video",void 0),i.device=(0,n.cast)(e),i.gl=i.device.gl,i.gl2=i.device.gl2,i.handle=i.props.handle||i.gl.createTexture(),i.handle.__SPECTOR_Metadata=b(b({},i.props),{},{data:y(i.props.data)}),i.target=function(e){switch(e.dimension){case"2d":return o.default.TEXTURE_2D;case"cube":return o.default.TEXTURE_CUBE_MAP;case"2d-array":return o.default.TEXTURE_2D_ARRAY;case"3d":return o.default.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(e.dimension)}}(i.props),i.loaded=!1,"string"==typeof(null===(r=i.props)||void 0===r?void 0:r.data)&&Object.assign(i.props,{data:(0,n.loadImage)(i.props.data)}),i.initialize(i.props),Object.seal(g(i)),i}return t=m,(r=[{key:"destroy",value:function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("cube"===this.props.dimension)return this.initializeCube(t);var r=t.data;if(r instanceof Promise)return r.then((function(r){return e.initialize(Object.assign({},t,{pixels:r,data:r}))})),this;var i="undefined"!=typeof HTMLVideoElement&&r instanceof HTMLVideoElement;if(i&&r.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,r.addEventListener("loadeddata",(function(){return e.initialize(t)})),this;var u=t.parameters,l=void 0===u?{}:u,c=t.pixels,f=void 0===c?null:c,s=t.recreate,d=void 0!==s&&s,_=t.pixelStore,E=void 0===_?{}:_,p=t.textureUnit,y=void 0===p?void 0:p;r||(r=f);var h=t.width,b=t.height,v=t.dataFormat,R=t.type,T=t.compressed,A=void 0!==T&&T,g=t.mipmaps,m=void 0===g||g,O=t.depth,S=void 0===O?0:O,P=this._deduceParameters({format:t.format,type:R,dataFormat:v,compressed:A,data:r,width:h,height:b});h=P.width,b=P.height,A=P.compressed,v=P.dataFormat,R=P.type;var I=(0,a.getWebGLTextureFormat)(this.gl,t.format);return this.width=h,this.height=b,this.depth=S,this.format=I,this.type=R,this.dataFormat=v,this.textureUnit=y,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(o.default.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),m&&this.device.isWebGL1&&N(this.width,this.height)&&(n.log.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),m=!1),this.mipmaps=m,this.setImageData({data:r,width:h,height:b,depth:S,format:I,type:R,dataFormat:v,parameters:E,compressed:A}),this.setSampler(t.sampler),this._setSamplerParameters(l),m&&this.generateMipmap(),d&&(this.data=r),i&&(this._video={video:r,parameters:l,lastTime:r.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?r.currentTime:-1}),this}},{key:"initializeCube",value:function(e){var t=this,r=e.mipmaps,n=void 0===r||r,o=e.parameters,i=void 0===o?{}:o;return this.setCubeMapImageData(e).then((function(){t.loaded=!0,n&&t.generateMipmap(e),t.setSampler(e.sampler),t._setSamplerParameters(i)})),this}},{key:"setSampler",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t instanceof c.default?(this.sampler=t,e=t.props):(this.sampler=new c.default(this.device,t),e=t);var r=(0,u.convertSamplerParametersToWebGL)(e);return this._setSamplerParameters(r),this}},{key:"resize",value:function(e){var t=e.height,r=e.width,n=e.mipmaps,o=void 0!==n&&n;return r!==this.width||t!==this.height?this.initialize({width:r,height:t,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:o}):this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,r=e.parameters;if(e.lastTime===t.currentTime||t.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:t,parameters:r}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=t.currentTime}}},{key:"generateMipmap",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.device.isWebGL1&&N(this.width,this.height)?(n.log.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),(0,i.withParameters)(this.gl,t,(function(){e.gl.generateMipmap(e.target)})),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){var t=this;if("3d"===this.props.dimension)return this.setImageData3D(e);this.trackDeallocatedMemory("Texture");var r=e.target,u=void 0===r?this.target:r,l=e.pixels,c=void 0===l?null:l,f=e.level,s=void 0===f?0:f,d=e.format,p=void 0===d?this.format:d,y=e.offset,h=void 0===y?0:y,b=e.parameters,v=void 0===b?{}:b,R=e.data,T=void 0===R?null:R,A=e.type,g=void 0===A?this.type:A,m=e.width,O=void 0===m?this.width:m,S=e.height,P=void 0===S?this.height:S,N=e.dataFormat,I=void 0===N?this.dataFormat:N,L=e.compressed,C=void 0!==L&&L;T||(T=c);var w=this._deduceParameters({format:this.props.format,type:g,dataFormat:I,compressed:C,data:T,width:O,height:P});g=w.type,I=w.dataFormat,C=w.compressed,O=w.width,P=w.height;var M=this.gl;M.bindTexture(this.target,this.handle);var F,B,D=this._getDataType({data:T,compressed:C});if(T=D.data,F=D.dataType,(0,i.withParameters)(this.gl,v,(function(){switch(F){case"null":M.texImage2D(u,s,p,O,P,0,I,g,T);break;case"typed-array":M.texImage2D(u,s,p,O,P,0,I,g,T,h);break;case"buffer":(B=t.device.assertWebGL2()).bindBuffer(o.default.PIXEL_UNPACK_BUFFER,T.handle||T),B.texImage2D(u,s,p,O,P,0,I,g,h),B.bindBuffer(o.default.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":t.device.isWebGL2?M.texImage2D(u,s,p,O,P,0,I,g,T):M.texImage2D(u,s,p,I,g,T);break;case"compressed":var e,r=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=E(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(T.entries());try{for(r.s();!(e=r.n()).done;){var i=_(e.value,2),a=i[0],l=i[1];M.compressedTexImage2D(u,a,l.format,l.width,l.height,0,l.data)}}catch(e){r.e(e)}finally{r.f()}break;default:(0,n.assert)(!1,"Unknown image data type")}})),T&&T.byteLength)this.trackAllocatedMemory(T.byteLength,"Texture");else{var U=(0,a.getTextureFormatBytesPerPixel)(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*U,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t=this,r=e.target,a=void 0===r?this.target:r,u=e.pixels,c=void 0===u?null:u,f=e.data,s=void 0===f?null:f,d=e.x,_=void 0===d?0:d,E=e.y,p=void 0===E?0:E,y=e.width,h=void 0===y?this.width:y,b=e.height,v=void 0===b?this.height:b,R=e.level,T=void 0===R?0:R,A=e.format,g=void 0===A?this.format:A,m=e.type,O=void 0===m?this.type:m,S=e.dataFormat,P=void 0===S?this.dataFormat:S,N=e.compressed,I=void 0!==N&&N,L=e.offset,C=void 0===L?0:L,w=e.parameters,M=void 0===w?{}:w,F=this._deduceParameters({format:this.props.format,type:O,dataFormat:P,compressed:I,data:s,width:h,height:v});if(O=F.type,P=F.dataFormat,I=F.compressed,h=F.width,v=F.height,(0,n.assert)(1===this.depth,"texSubImage not supported for 3D textures"),s||(s=c),s&&s.data){var B=s;s=B.data,h=B.shape[0],v=B.shape[1]}s instanceof l.default&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),(0,i.withParameters)(this.gl,M,(function(){if(I)t.gl.compressedTexSubImage2D(a,T,_,p,h,v,g,s);else if(null===s)t.gl.texSubImage2D(a,T,_,p,h,v,P,O,null);else if(ArrayBuffer.isView(s))t.gl.texSubImage2D(a,T,_,p,h,v,P,O,s,C);else if("undefined"!=typeof WebGLBuffer&&s instanceof WebGLBuffer){var e=t.device.assertWebGL2();e.bindBuffer(o.default.PIXEL_UNPACK_BUFFER,s),e.texSubImage2D(a,T,_,p,h,v,P,O,C),e.bindBuffer(o.default.PIXEL_UNPACK_BUFFER,null)}else t.device.isWebGL2?t.device.assertWebGL2().texSubImage2D(a,T,_,p,h,v,P,O,s):t.gl.texSubImage2D(a,T,_,p,P,O,s)})),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){return n.log.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(o.default.ACTIVE_TEXTURE)-o.default.TEXTURE0}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(t.TEXTURE0+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(t.TEXTURE0+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,r=e.compressed;return void 0!==r&&r?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof l.default?{data:t.handle,dataType:"buffer"}:"undefined"!=typeof WebGLBuffer&&t instanceof WebGLBuffer?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t=e.format,r=e.data,n=e.width,o=e.height,i=e.dataFormat,u=e.type,l=e.compressed,c=(0,a.getWebGLTextureParameters)(this.gl,t);i=i||c.dataFormat,u=u||c.type,l=l||c.compressed;var f=this._deduceImageSize(r,n,o);return{dataFormat:i,type:u,compressed:l,width:n=f.width,height:o=f.height,format:t,data:r}}},{key:"_deduceImageSize",value:function(e,t,r){var o;return o="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:r}:{width:t>=0?t:1,height:r>=0?r:1},(0,n.assert)(o,"Could not deduced texture size"),(0,n.assert)(void 0===t||o.width===t,"Deduced texture width does not match supplied width"),(0,n.assert)(void 0===r||o.height===r,"Deduced texture height does not match supplied height"),o}},{key:"setCubeMapImageData",value:(p=s().mark((function e(t){var r,i,a,u,l,c,f,d,_,E,p,y=this;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.gl,i=t.width,a=t.height,u=t.pixels,l=t.data,c=t.format,f=void 0===c?o.default.RGBA:c,d=t.type,_=void 0===d?o.default.UNSIGNED_BYTE:d,E=u||l,e.next=5,Promise.all(m.FACES.map((function(e){var t=E[e];return Promise.all(Array.isArray(t)?t:[t])})));case 5:p=e.sent,this.bind(),m.FACES.forEach((function(e,t){p[t].length>1&&!1!==y.props.mipmaps&&n.log.warn("".concat(y.id," has mipmap and multiple LODs."))(),p[t].forEach((function(t,n){i&&a?r.texImage2D(e,n,f,i,a,0,f,_,t):r.texImage2D(e,n,f,f,_,t)}))})),this.unbind();case 9:case"end":return e.stop()}}),e,this)})),h=function(){var e=this,t=arguments;return new Promise((function(r,n){var o=p.apply(e,t);function i(e){d(o,r,n,i,a,"next",e)}function a(e){d(o,r,n,i,a,"throw",e)}i(void 0)}))},function(e){return h.apply(this,arguments)})},{key:"setImageDataForFace",value:function(e){var t=this,r=e.face,n=e.width,i=e.height,a=e.pixels,u=e.data,l=e.format,c=void 0===l?o.default.RGBA:l,f=e.type,s=void 0===f?o.default.UNSIGNED_BYTE:f,d=this.gl,_=a||u;return this.bind(),_ instanceof Promise?_.then((function(n){return t.setImageDataForFace(Object.assign({},e,{face:r,data:n,pixels:n}))})):this.width||this.height?d.texImage2D(r,0,c,n,i,0,c,s,_):d.texImage2D(r,0,c,c,s,_),this}},{key:"setImageData3D",value:function(e){var t=this,r=e.level,n=void 0===r?0:r,u=e.dataFormat,c=e.format,f=e.type,s=e.width,d=e.height,_=e.depth,E=void 0===_?1:_,p=e.offset,y=void 0===p?0:p,h=e.data,b=e.parameters,v=void 0===b?{}:b;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var R=(0,a.getWebGLTextureParameters)(this.gl,c);if((0,i.withParameters)(this.gl,v,(function(){ArrayBuffer.isView(h)&&t.gl.texImage3D(t.target,n,R.format,s,d,E,0,R.dataFormat,R.type,h),h instanceof l.default&&(t.gl.bindBuffer(o.default.PIXEL_UNPACK_BUFFER,h.handle),t.gl.texImage3D(t.target,n,u,s,d,E,0,c,f,y))})),h&&h.byteLength)this.trackAllocatedMemory(h.byteLength,"Texture");else{var T=(0,a.getTextureFormatBytesPerPixel)(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*this.depth*T,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(e){if(this.device.isWebGL1&&N(this.width,this.height)&&(e=(0,u.updateSamplerParametersForNPOT)(e)),!(0,n.isObjectEmpty)(e)){!function(e){n.log.log(1,"texture sampler parameters",e)()}(e),this.gl.bindTexture(this.target,this.handle);for(var t=0,r=Object.entries(e);t<r.length;t++){var i=_(r[t],2),a=i[0],l=i[1],c=Number(a),f=l;switch(c){case o.default.TEXTURE_MIN_LOD:case o.default.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,c,f);break;default:this.gl.texParameteri(this.target,c,f)}}this.gl.bindTexture(this.target,null)}}},{key:"_getWebGL1NPOTParameterOverride",value:function(e,t){if(this.device.isWebGL1&&N(this.width,this.height))switch(e){case o.default.TEXTURE_MIN_FILTER:if(t!==o.default.LINEAR&&t!==o.default.NEAREST)return o.default.LINEAR;break;case o.default.TEXTURE_WRAP_S:case o.default.TEXTURE_WRAP_T:return o.default.CLAMP_TO_EDGE}return t}}])&&v(t.prototype,r),f&&v(t,f),Object.defineProperty(t,"prototype",{writable:!1}),m}(n.Texture);function N(e,t){return!(!e||!t)&&(!(0,n.isPowerOfTwo)(e)||!(0,n.isPowerOfTwo)(t))}t.default=P,O(P,"FACES",[o.default.TEXTURE_CUBE_MAP_POSITIVE_X,o.default.TEXTURE_CUBE_MAP_NEGATIVE_X,o.default.TEXTURE_CUBE_MAP_POSITIVE_Y,o.default.TEXTURE_CUBE_MAP_NEGATIVE_Y,o.default.TEXTURE_CUBE_MAP_POSITIVE_Z,o.default.TEXTURE_CUBE_MAP_NEGATIVE_Z])},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=r(1),i=(n=r(2))&&n.__esModule?n:{default:n};function a(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */a=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",u=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var i=t&&t.prototype instanceof E?t:E,a=Object.create(i.prototype),u=new P(o||[]);return n(a,"_invoke",{value:g(e,r,u)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var _={};function E(){}function p(){}function y(){}var h={};c(h,i,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(N([])));v&&v!==t&&r.call(v,i)&&(h=v);var R=y.prototype=E.prototype=Object.create(h);function T(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,u){var l=d(e[o],e,i);if("throw"!==l.type){var c=l.arg,s=c.value;return s&&"object"==f(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,a,u)}),(function(e){n("throw",e,a,u)})):t.resolve(s).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,u)}))}u(l.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function g(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=m(a,r);if(u){if(u===_)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=d(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function m(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,m(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),_;var o=d(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,_;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return p.prototype=y,n(R,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=c(y,l,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,l,"GeneratorFunction")),e.prototype=Object.create(R),e},e.awrap=function(e){return{__await:e}},T(A.prototype),c(A.prototype,u,(function(){return this})),e.AsyncIterator=A,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new A(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},T(R),c(R,l,"Generator"),c(R,i,(function(){return this})),c(R,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),_}},e}function u(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,v(n.key),n)}}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function E(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=h(e);if(t){var o=h(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return p(this,r)}}function p(e,t){if(t&&("object"===f(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return y(e)}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t,r){return(t=v(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===f(t)?t:String(t)}var R=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_(e,t)}(v,e);var t,r,n,l,p,h=E(v);function v(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};s(this,v),b(y(t=h.call(this,e,r)),"device",void 0),b(y(t),"gl",void 0),b(y(t),"gl2",void 0),b(y(t),"handle",void 0),b(y(t),"target",void 0),b(y(t),"byteLength",void 0),b(y(t),"bytesUsed",void 0),b(y(t),"debugData",null),b(y(t),"webglUsage",void 0),t.device=e,t.gl=t.device.gl,t.gl2=t.device.gl2;var n="object"===f(r)?r.handle:void 0;return t.handle=n||t.gl.createBuffer(),t.handle.__SPECTOR_Metadata=c(c({},t.props),{},{data:f(t.props.data)}),t.target=t.props.target||T(t.props.usage),t.webglUsage=t.props.webglUsage||A(t.props.usage),t.debugData=null,r.data?t._initWithData(r.data,r.byteOffset,r.byteLength):t._initWithByteLength(r.byteLength||0),t}return t=v,(r=[{key:"_initWithData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;(0,o.assert)(ArrayBuffer.isView(e));var n=this._getWriteTarget();return this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,r,this.webglUsage),this.gl.bufferSubData(n,t,e),this.gl.bindBuffer(n,null),this.debugData=e.slice(0,10),this.bytesUsed=r,this.byteLength=r,this.trackAllocatedMemory(r),this}},{key:"_initWithByteLength",value:function(e){(0,o.assert)(e>=0);var t=e;0===e&&(t=new Float32Array(0));var r=this._getWriteTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,t,this.webglUsage),this.gl.bindBuffer(r,null),this.debugData=null,this.bytesUsed=e,this.byteLength=e,this}},{key:"destroy",value:function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0)}},{key:"write",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=0,n=e.byteLength,o=this.device.isWebGL2?i.default.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(o,this.handle),0!==r||void 0!==n?(this.device.assertWebGL2(),this.gl.bufferSubData(this.target,offset,e,r,n)):this.gl.bufferSubData(o,t,e),this.gl.bindBuffer(o,null)}},{key:"readAsync",value:(l=a().mark((function e(){var t,r,n,o,u=arguments;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=u.length>0&&void 0!==u[0]?u[0]:0,r=u.length>1?u[1]:void 0,this.device.assertWebGL2(),n=new Uint8Array(r),o=0,this.gl.bindBuffer(i.default.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(i.default.COPY_READ_BUFFER,t,n,o,r),this.gl.bindBuffer(i.default.COPY_READ_BUFFER,null),e.abrupt("return",n);case 9:case"end":return e.stop()}}),e,this)})),p=function(){var e=this,t=arguments;return new Promise((function(r,n){var o=l.apply(e,t);function i(e){u(o,r,n,i,a,"next",e)}function a(e){u(o,r,n,i,a,"throw",e)}i(void 0)}))},function(){return p.apply(this,arguments)})},{key:"_invalidateDebugData",value:function(){this.debugData=null}},{key:"_getWriteTarget",value:function(){return this.target}},{key:"_getReadTarget",value:function(){return this.target}}])&&d(t.prototype,r),n&&d(t,n),Object.defineProperty(t,"prototype",{writable:!1}),v}(o.Buffer);function T(e){return e&o.Buffer.INDEX?i.default.ELEMENT_ARRAY_BUFFER:e&o.Buffer.VERTEX?i.default.ARRAY_BUFFER:e&o.Buffer.UNIFORM?i.default.UNIFORM_BUFFER:i.default.ARRAY_BUFFER}function A(e){return e&o.Buffer.INDEX||e&o.Buffer.VERTEX?i.default.STATIC_DRAW:(o.Buffer.UNIFORM,i.default.DYNAMIC_DRAW)}t.default=R},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l,c=[],f=!1,s=-1;function d(){f&&l&&(f=!1,l.length?c=l.concat(c):s=-1,c.length&&_())}function _(){if(!f){var e=u(d);f=!0;for(var t=c.length;t;){for(l=c,c=[];++s<t;)l&&l[s].run();s=-1,t=c.length}l=null,f=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function E(e,t){this.fun=e,this.array=t}function p(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new E(e,t)),1!==c.length||f||u(_)},E.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=p,o.addListener=p,o.once=p,o.off=p,o.removeListener=p,o.removeAllListeners=p,o.emit=p,o.prependListener=p,o.prependOnceListener=p,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isObjectEmpty=function(e){var t=!0;for(var r in e){t=!1;break}return t},t.isPowerOfTwo=function(e){return e>0&&0==(e&e-1)},t.uid=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";n[e]=n[e]||1;var t=n[e]++;return"".concat(e,"-").concat(t)};var n={}},function(e,t,r){"use strict";function n(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}Object.defineProperty(t,"__esModule",{value:!0}),t.assert=n,t.default=void 0;var o=n;t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(1),o=l(r(2)),i=l(r(16)),a=l(r(38)),u=r(10);function l(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=d(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function d(e,t){if(e){if("string"==typeof e)return _(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(e,t):void 0}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,T(n.key),n)}}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var o=v(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return h(this,r)}}function h(e,t){if(t&&("object"===c(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return b(e)}function b(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function R(e,t,r){return(t=T(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function T(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}var A=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(d,e);var t,r,l,c=y(d);function d(e,t){var r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),R(b(r=c.call(this,e,t)),"device",void 0),R(b(r),"gl",void 0),R(b(r),"handle",void 0),R(b(r),"colorAttachments",[]),R(b(r),"depthStencilAttachment",null),R(b(r),"_ownResources",[]),r.device=e,r.gl=e.gl,r.handle=void 0!==r.props.handle?r.props.handle:r.gl.createFramebuffer(),r.handle&&(r.handle.__SPECTOR_Metadata={id:r.props.id,props:r.props}),r.colorAttachments=r._createColorAttachments(),r.depthStencilAttachment=r._createDepthStencilAttachment();for(var n=r.gl.bindFramebuffer(o.default.FRAMEBUFFER,r.handle),i=0;i<r.colorAttachments.length;++i){var a=r.colorAttachments[i],l=o.default.COLOR_ATTACHMENT0+i;a&&r._attachOne(l,a)}return r.props.depthStencilAttachment&&r._attachOne((0,u.getWebGLDepthStencilAttachment)(r.depthStencilAttachment.format),r.depthStencilAttachment),r.gl.bindFramebuffer(o.default.FRAMEBUFFER,n||null),!1!==t.check&&r._checkStatus(),r}return t=d,(r=[{key:"texture",get:function(){return this.colorAttachments[0]}},{key:"destroy",value:function(){if(null!==this.handle){var e,t=s(this._ownResources);try{for(t.s();!(e=t.n()).done;)e.value.destroy()}catch(e){t.e(e)}finally{t.f()}this.gl.deleteFramebuffer(this.handle),this.destroyed=!0}}},{key:"_checkStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(o.default.FRAMEBUFFER,this.handle),r=e.checkFramebufferStatus(o.default.FRAMEBUFFER);if(e.bindFramebuffer(o.default.FRAMEBUFFER,t||null),r!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(function(e){switch(e){case o.default.FRAMEBUFFER_COMPLETE:return"success";case o.default.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"Mismatched attachments";case o.default.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"No attachments";case o.default.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"Height/width mismatch";case o.default.FRAMEBUFFER_UNSUPPORTED:return"Unsupported or split attachments";case o.default.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:return"Samples mismatch";default:return"".concat(e)}}(r)))}},{key:"_createColorAttachments",value:function(){var e=this;return this.props.colorAttachments.map((function(t){if(t)return t instanceof i.default?t:e._createColorAttachment(t,e.width,e.height)}))}},{key:"_createColorAttachment",value:function(e,t,r){var n=this.device._createTexture({id:"".concat(this.id,"-color"),data:null,format:e,width:t,height:r,mipmaps:!1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}});return this._ownResources.push(n),n}},{key:"_createDepthStencilAttachment",value:function(){if(this.props.depthStencilAttachment){if(this.props.depthStencilAttachment instanceof a.default)return this.props.depthStencilAttachment;if(this.props.depthStencilAttachment instanceof n.Texture)return this.props.depthStencilAttachment;var e=this.props.depthStencilAttachment,t=(0,u.getWebGLTextureFormat)(this.gl,e),r=new a.default(this.device,{id:"".concat(this.id,"-depth-stencil"),format:t,width:this.width,height:this.height});return this._ownResources.push(r),r}}},{key:"_resizeAttachments",value:function(e,t){var r;if(null===this.handle)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===t&&(t=this.gl.drawingBufferHeight),e!==this.width&&t!==this.height&&n.log.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(e,"x").concat(t))();var o,i=s(this.colorAttachments);try{for(i.s();!(o=i.n()).done;)o.value.resize({width:e,height:t})}catch(e){i.e(e)}finally{i.f()}return null===(r=this.depthStencilAttachment)||void 0===r||r.resize({width:e,height:t}),this}},{key:"_attachOne",value:function(e,t){if(t instanceof a.default)return this._attachRenderbuffer(e,t),t;if(Array.isArray(t)){var r=f(t,3),n=r[0],o=r[1],u=void 0===o?0:o,l=r[2],c=void 0===l?0:l;return this._attachTexture(e,n,u,c),n}if(t instanceof i.default)return this._attachTexture(e,t,0,0),t;throw new Error("attach")}},{key:"_attachRenderbuffer",value:function(e,t){this.gl.framebufferRenderbuffer(o.default.FRAMEBUFFER,e,o.default.RENDERBUFFER,t.handle)}},{key:"_attachTexture",value:function(e,t,r,i){var a=this.device,u=a.gl,l=a.gl2;switch(u.bindTexture(t.target,t.handle),t.target){case o.default.TEXTURE_2D_ARRAY:case o.default.TEXTURE_3D:this.device.assertWebGL2(),null==l||l.framebufferTextureLayer(o.default.FRAMEBUFFER,e,t.target,i,r);break;case o.default.TEXTURE_CUBE_MAP:var c=function(e){return e<o.default.TEXTURE_CUBE_MAP_POSITIVE_X?e+o.default.TEXTURE_CUBE_MAP_POSITIVE_X:e}(r);u.framebufferTexture2D(o.default.FRAMEBUFFER,e,c,t.handle,i);break;case o.default.TEXTURE_2D:u.framebufferTexture2D(o.default.FRAMEBUFFER,e,o.default.TEXTURE_2D,t.handle,i);break;default:(0,n.assert)(!1,"Illegal texture type")}u.bindTexture(t.target,null)}}])&&E(t.prototype,r),l&&E(t,l),Object.defineProperty(t,"prototype",{writable:!1}),d}(n.Framebuffer);t.default=A},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertCompareFunction=d,t.convertToCompareFunction=function(e,t){var r;return E(e,t,(f(r={},o.default.NEVER,"never"),f(r,o.default.LESS,"less"),f(r,o.default.EQUAL,"equal"),f(r,o.default.LEQUAL,"less-equal"),f(r,o.default.GREATER,"greater"),f(r,o.default.NOTEQUAL,"not-equal"),f(r,o.default.GEQUAL,"greater-equal"),f(r,o.default.ALWAYS,"always"),r))},t.setDeviceParameters=s,t.withDeviceParameters=function(e,t,r){if((0,n.isObjectEmpty)(t))return r(e);(0,i.pushContextState)(e.gl);try{return s(e,t),r(e)}finally{(0,i.popContextState)(e.gl)}},t.withGLParameters=function(e,t,r){if((0,n.isObjectEmpty)(t))return r(e);(0,i.pushContextState)(e.gl);try{return(0,a.setParameters)(e,t),r(e)}finally{(0,i.popContextState)(e.gl)}};var n=r(1),o=l(r(2)),i=r(14),a=r(15),u=l(r(7));function l(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=u.default.attach(e).gl;if(t.cullMode)switch(t.cullMode){case"none":r.disable(o.default.CULL_FACE);break;case"front":r.enable(o.default.CULL_FACE),r.cullFace(o.default.FRONT);break;case"back":r.enable(o.default.CULL_FACE),r.cullFace(o.default.BACK)}if(t.frontFace&&r.frontFace(E("frontFace",t.frontFace,{ccw:o.default.CCW,cw:o.default.CW})),void 0!==t.depthBias&&r.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),void 0!==t.depthWriteEnabled&&r.depthMask(t.depthWriteEnabled),t.depthCompare&&("always"!==t.depthCompare?r.enable(o.default.DEPTH_TEST):r.disable(o.default.DEPTH_TEST),r.depthFunc(d("depthCompare",t.depthCompare))),t.stencilWriteMask){var i=t.stencilWriteMask;r.stencilMaskSeparate(o.default.FRONT,i),r.stencilMaskSeparate(o.default.BACK,i)}if(t.stencilReadMask&&n.log.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var a=t.stencilReadMask||4294967295,l=d("depthCompare",t.stencilCompare);"always"!==t.stencilCompare?r.enable(o.default.STENCIL_TEST):r.disable(o.default.STENCIL_TEST),r.stencilFuncSeparate(o.default.FRONT,l,0,a),r.stencilFuncSeparate(o.default.BACK,l,0,a)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var c=_("stencilPassOperation",t.stencilPassOperation),f=_("stencilFailOperation",t.stencilFailOperation),s=_("stencilDepthFailOperation",t.stencilDepthFailOperation);r.stencilOpSeparate(o.default.FRONT,f,s,c),r.stencilOpSeparate(o.default.BACK,f,s,c)}}function d(e,t){return E(e,t,{never:o.default.NEVER,less:o.default.LESS,equal:o.default.EQUAL,"less-equal":o.default.LEQUAL,greater:o.default.GREATER,"not-equal":o.default.NOTEQUAL,"greater-equal":o.default.GEQUAL,always:o.default.ALWAYS})}function _(e,t){return E(e,t,{keep:o.default.KEEP,zero:o.default.ZERO,replace:o.default.REPLACE,invert:o.default.INVERT,"increment-clamp":o.default.INCR,"decrement-clamp":o.default.DECR,"increment-wrap":o.default.INCR_WRAP,"decrement-wrap":o.default.DECR_WRAP})}function E(e,t,r){if(!(t in r))throw new Error(function(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}(e,t));return r[t]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=r(1),i=(n=r(2))&&n.__esModule?n:{default:n},a=r(37);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,h(n.key),n)}}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=p(e);if(t){var o=p(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return _(this,r)}}function _(e,t){if(t&&("object"===u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return E(e)}function E(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t,r){return(t=h(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}(u,e);var t,r,n,o=d(u);function u(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),y(E(r=o.call(this,e,t)),"device",void 0),y(E(r),"handle",void 0),y(E(r),"parameters",void 0),r.device=e,r.parameters=(0,a.convertSamplerParametersToWebGL)(t),r.device.isWebGL2&&(r.handle=r.handle||r.device.gl2.createSampler(),r._setSamplerParameters(r.parameters)),r}return t=u,(r=[{key:"destroy",value:function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)}},{key:"toString",value:function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")}},{key:"_setSamplerParameters",value:function(e){for(var t=0,r=Object.entries(e);t<r.length;t++){var n=l(r[t],2),o=n[0],a=n[1],u=Number(o);switch(u){case i.default.TEXTURE_MIN_LOD:case i.default.TEXTURE_MAX_LOD:this.device.gl2.samplerParameterf(this.handle,u,a);break;default:this.device.gl2.samplerParameteri(this.handle,u,a)}}}}])&&f(t.prototype,r),n&&f(t,n),Object.defineProperty(t,"prototype",{writable:!1}),u}(o.Sampler);t.default=b},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=r(1),i=r(5),a=(n=r(7))&&n.__esModule?n:{default:n},u=r(88);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return f(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,b(n.key),n)}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=y(e);if(t){var o=y(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return E(this,r)}}function E(e,t){if(t&&("object"===l(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return p(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t,r){return(t=b(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==l(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===l(t)?t:String(t)}var v="Resource subclass must define virtual methods",R=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(f,e);var t,r,n,l=_(f);function f(e,t,r){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),h(p(n=l.call(this,e,t,r)),"device",void 0),h(p(n),"gl",void 0),h(p(n),"gl2",void 0),h(p(n),"_handle",void 0),h(p(n),"_bound",!1),h(p(n),"byteLength",0),n.device=a.default.attach(e);var u=n.device.gl;(0,i.assertWebGLContext)(u);var c=(t||{}).id;return n.gl=u,n.gl2=u,n.id=c||(0,o.uid)(n.constructor.name),n._handle=null==t?void 0:t.handle,void 0===n._handle&&(n._handle=n._createHandle()),n.byteLength=0,n}return t=f,(r=[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"destroy",value:function(){this.delete()}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,r=void 0!==t&&t,n=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,n&&r&&n.filter(Boolean).forEach((function(e){return e.delete()})),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=(0,u.getKeyValue)(this.gl,e),(0,o.assert)(e);var r=this.constructor.PARAMETERS||{},n=r[e];if(n){var a=(0,i.isWebGL2)(this.gl),l=(!("webgl2"in n)||a)&&(!("extension"in n)||this.gl.getExtension(n.extension));if(!l){var c=n.webgl1,f="webgl2"in n?n.webgl2:n.webgl1,s=a?f:c;return s}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.parameters,n=t.keys,o=this.constructor.PARAMETERS||{},a=(0,i.isWebGL2)(this.gl),l={},f=r||Object.keys(o),s=c(f);try{for(s.s();!(e=s.n()).done;){var d=e.value,_=o[d],E=_&&(!("webgl2"in _)||a)&&(!("extension"in _)||this.gl.getExtension(_.extension));if(E){var p=n?(0,u.getKey)(this.gl,d):d;l[p]=this.getParameter(d,t),n&&"GLenum"===_.type&&(l[p]=(0,u.getKey)(this.gl,l[p]))}}}catch(e){s.e(e)}finally{s.f()}return l}},{key:"setParameter",value:function(e,t){e=(0,u.getKeyValue)(this.gl,e),(0,o.assert)(e);var r=(this.constructor.PARAMETERS||{})[e];if(r){var n=(0,i.isWebGL2)(this.gl);if("webgl2"in r&&!n||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=(0,u.getKeyValue)(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,r){return(0,o.stubRemovedMethods)(this,e,t,r)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(v)}},{key:"_deleteHandle",value:function(){throw new Error(v)}},{key:"_bindHandle",value:function(e){throw new Error(v)}},{key:"_getOptsFromHandle",value:function(){throw new Error(v)}},{key:"_getParameter",value:function(e,t){throw new Error(v)}},{key:"_setParameter",value:function(e,t){throw new Error(v)}}])&&s(t.prototype,r),n&&s(t,n),Object.defineProperty(t,"prototype",{writable:!1}),f}(o.Resource);t.default=R},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.DEFAULT_ACCESSOR_VALUES=void 0;var n,o=r(1),i=(n=r(2))&&n.__esModule?n:{default:n},a=r(40);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t,r){return(l=c()?Reflect.construct.bind():function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&f(o,r.prototype),o}).apply(null,arguments)}function c(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function _(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}var p={offset:0,stride:0,type:i.default.FLOAT,size:1,divisor:0,normalized:!1,integer:!1};t.DEFAULT_ACCESSOR_VALUES=p;var y={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},h=function(){function e(){var t=this;s(this,e),_(this,"offset",void 0),_(this,"stride",void 0),_(this,"type",void 0),_(this,"size",void 0),_(this,"divisor",void 0),_(this,"normalized",void 0),_(this,"integer",void 0),_(this,"buffer",void 0),_(this,"index",void 0);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];n.forEach((function(e){return t._assign(e)})),Object.freeze(this)}var t,r,n;return t=e,n=[{key:"getBytesPerElement",value:function(e){return(0,a.getTypedArrayFromGLType)(e.type||i.default.FLOAT).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return(0,o.assert)(e.size),(0,a.getTypedArrayFromGLType)(e.type||i.default.FLOAT).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return l(e,[p].concat(r))}}],(r=[{key:"toString",value:function(){return JSON.stringify(this)}},{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}},{key:"_assign",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=(0,o.checkProps)("Accessor",e,y)).type&&(this.type=e.type,e.type!==i.default.INT&&e.type!==i.default.UNSIGNED_INT||(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalize&&(this.normalized=e.normalize),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&("boolean"==typeof e.index?this.index=e.index?1:0:this.index=e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),void 0===this.offset&&delete this.offset,void 0===this.stride&&delete this.stride,void 0===this.type&&delete this.type,void 0===this.size&&delete this.size,void 0===this.divisor&&delete this.divisor,void 0===this.normalized&&delete this.normalized,void 0===this.integer&&delete this.integer,void 0===this.buffer&&delete this.buffer,void 0===this.index&&delete this.index,this}}])&&d(t.prototype,r),n&&d(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=h},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(9);const o="9.0.0-alpha.15";Object(n.a)()},function(e,t,r){"use strict";function n(e){return t.default=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.DEFAULT_DEVICE_PROPS=void 0;var o,i,a=r(13),u=r(6),l=r(19),c=(o=r(29))&&o.__esModule?o:{default:o};function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){_(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function _(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}var p={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(u.log.get("debug")),break:[],gl:null};t.DEFAULT_DEVICE_PROPS=p,i=Symbol.toStringTag;var y=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),_(this,"id",void 0),_(this,"statsManager",a.lumaStats),_(this,"props",void 0),_(this,"userData",{}),_(this,"info",void 0),_(this,"lost",void 0),_(this,"canvasContext",void 0),this.props=s(s({},p),t),this.id=this.props.id||(0,l.uid)(this[Symbol.toStringTag].toLowerCase())}var t,r,n;return t=e,(r=[{key:i,get:function(){return"Device"}},{key:"createBuffer",value:function(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?this._createBuffer({data:e}):((e.usage||0)&c.default.INDEX&&!e.indexType&&(e.data instanceof Uint32Array?e.indexType="uint32":e.data instanceof Uint16Array&&(e.indexType="uint16")),this._createBuffer(e))}},{key:"createTexture",value:function(e){return(e instanceof Promise||"string"==typeof e)&&(e={data:e}),this._createTexture(e)}}])&&d(t.prototype,r),n&&d(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=o?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=s(e);if(t){var o=s(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){E(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function E(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var y=_(_({},o.DEFAULT_RESOURCE_PROPS),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});n=Symbol.toStringTag;var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(a,e);var t,r,o,i=c(a);function a(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);var r=_({},t);return(t.usage||0)&a.INDEX&&!t.indexType&&(t.data instanceof Uint32Array?r.indexType="uint32":t.data instanceof Uint16Array&&(r.indexType="uint16")),i.call(this,e,r,y)}return t=a,(r=[{key:n,get:function(){return"Buffer"}},{key:"write",value:function(e,t){throw new Error("not implemented")}},{key:"readAsync",value:function(e,t){throw new Error("not implemented")}},{key:"getData",value:function(){throw new Error("not implemented")}}])&&u(t.prototype,r),o&&u(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.default);t.default=h,E(h,"MAP_READ",1),E(h,"MAP_WRITE",2),E(h,"COPY_SRC",4),E(h,"COPY_DST",8),E(h,"INDEX",16),E(h,"VERTEX",32),E(h,"UNIFORM",64),E(h,"STORAGE",128),E(h,"INDIRECT",256),E(h,"QUERY_RESOLVE",512)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeVertexType=function(e){var t=function(e){return o[e]}(n[e]),r=!e.startsWith("float"),i=e.includes("norm"),a=e.startsWith("s");return{dataType:n[e],byteLength:t,integer:r,signed:a,normalized:i}};var n={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},o={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.polyfillContext=function(e){var t=(0,a.getContextData)(e);t._polyfilled||((0,o.polyfillVertexArrayObject)(e),function(e){var t,r=(0,a.getContextData)(e),n=u(e.getSupportedExtensions()||[]);try{for(n.s();!(t=n.n()).done;){var o=t.value,i=e.getExtension(o);r._extensions[o]=i}}catch(e){n.e(e)}finally{n.f()}}(e),function(e,t){var r,n=(0,a.getContextData)(e),o=u(Object.getOwnPropertyNames(t));try{for(o.s();!(r=o.n()).done;){var i=r.value;"overrides"!==i&&c(e,{extension:i,target:n,target2:e})}}catch(e){o.e(e)}finally{o.f()}}(e,i.WEBGL2_CONTEXT_POLYFILLS),function(e,t){var r=t.target,n=t.target2;Object.keys(i.WEBGL2_CONTEXT_OVERRIDES).forEach((function(t){if("function"==typeof i.WEBGL2_CONTEXT_OVERRIDES[t]){var o=e[t]?e[t].bind(e):function(){},a=i.WEBGL2_CONTEXT_OVERRIDES[t].bind(null,e,o);r[t]=a,n[t]=a}}))}(e,{target:t,target2:e}),t._polyfilled=!0);return e};var n=r(1),o=r(78),i=r(79),a=r(32);function u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t){var r=t.extension,o=t.target,a=t.target2,u=i.WEBGL2_CONTEXT_POLYFILLS[r];(0,n.assert)(u);for(var l=u.meta,c=(void 0===l?{}:l).suffix,f=void 0===c?"":c,s=e.getExtension(r),d=function(){var t=E[_],r="".concat(t).concat(f),n=null;"meta"===t||"function"==typeof e[t]||(s&&"function"==typeof s[r]?n=function(){return s[r].apply(s,arguments)}:"function"==typeof u[t]&&(n=u[t].bind(o))),n&&(o[t]=n,a[t]=n)},_=0,E=Object.keys(u);_<E.length;_++)d()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getContextData=function(e){if(!e.luma){e.luma={_polyfilled:!1,_extensions:{}}}return e.luma}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NON_CACHE_PARAMETERS=t.GL_PARAMETER_SETTERS=t.GL_PARAMETER_GETTERS=t.GL_PARAMETER_DEFAULTS=t.GL_HOOKED_SETTERS=t.GL_COMPOSITE_PARAMETER_SETTERS=void 0;var n,o,i,a,u=(n=r(2))&&n.__esModule?n:{default:n},l=r(5);function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return _(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(e,t):void 0}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var p=(E(o={},u.default.BLEND,!1),E(o,u.default.BLEND_COLOR,new Float32Array([0,0,0,0])),E(o,u.default.BLEND_EQUATION_RGB,u.default.FUNC_ADD),E(o,u.default.BLEND_EQUATION_ALPHA,u.default.FUNC_ADD),E(o,u.default.BLEND_SRC_RGB,u.default.ONE),E(o,u.default.BLEND_DST_RGB,u.default.ZERO),E(o,u.default.BLEND_SRC_ALPHA,u.default.ONE),E(o,u.default.BLEND_DST_ALPHA,u.default.ZERO),E(o,u.default.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),E(o,u.default.COLOR_WRITEMASK,[!0,!0,!0,!0]),E(o,u.default.CULL_FACE,!1),E(o,u.default.CULL_FACE_MODE,u.default.BACK),E(o,u.default.DEPTH_TEST,!1),E(o,u.default.DEPTH_CLEAR_VALUE,1),E(o,u.default.DEPTH_FUNC,u.default.LESS),E(o,u.default.DEPTH_RANGE,new Float32Array([0,1])),E(o,u.default.DEPTH_WRITEMASK,!0),E(o,u.default.DITHER,!0),E(o,u.default.CURRENT_PROGRAM,null),E(o,u.default.FRAMEBUFFER_BINDING,null),E(o,u.default.RENDERBUFFER_BINDING,null),E(o,u.default.VERTEX_ARRAY_BINDING,null),E(o,u.default.ARRAY_BUFFER_BINDING,null),E(o,u.default.FRONT_FACE,u.default.CCW),E(o,u.default.GENERATE_MIPMAP_HINT,u.default.DONT_CARE),E(o,u.default.LINE_WIDTH,1),E(o,u.default.POLYGON_OFFSET_FILL,!1),E(o,u.default.POLYGON_OFFSET_FACTOR,0),E(o,u.default.POLYGON_OFFSET_UNITS,0),E(o,u.default.SAMPLE_ALPHA_TO_COVERAGE,!1),E(o,u.default.SAMPLE_COVERAGE,!1),E(o,u.default.SAMPLE_COVERAGE_VALUE,1),E(o,u.default.SAMPLE_COVERAGE_INVERT,!1),E(o,u.default.SCISSOR_TEST,!1),E(o,u.default.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),E(o,u.default.STENCIL_TEST,!1),E(o,u.default.STENCIL_CLEAR_VALUE,0),E(o,u.default.STENCIL_WRITEMASK,4294967295),E(o,u.default.STENCIL_BACK_WRITEMASK,4294967295),E(o,u.default.STENCIL_FUNC,u.default.ALWAYS),E(o,u.default.STENCIL_REF,0),E(o,u.default.STENCIL_VALUE_MASK,4294967295),E(o,u.default.STENCIL_BACK_FUNC,u.default.ALWAYS),E(o,u.default.STENCIL_BACK_REF,0),E(o,u.default.STENCIL_BACK_VALUE_MASK,4294967295),E(o,u.default.STENCIL_FAIL,u.default.KEEP),E(o,u.default.STENCIL_PASS_DEPTH_FAIL,u.default.KEEP),E(o,u.default.STENCIL_PASS_DEPTH_PASS,u.default.KEEP),E(o,u.default.STENCIL_BACK_FAIL,u.default.KEEP),E(o,u.default.STENCIL_BACK_PASS_DEPTH_FAIL,u.default.KEEP),E(o,u.default.STENCIL_BACK_PASS_DEPTH_PASS,u.default.KEEP),E(o,u.default.VIEWPORT,[0,0,1024,1024]),E(o,u.default.PACK_ALIGNMENT,4),E(o,u.default.UNPACK_ALIGNMENT,4),E(o,u.default.UNPACK_FLIP_Y_WEBGL,!1),E(o,u.default.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),E(o,u.default.UNPACK_COLORSPACE_CONVERSION_WEBGL,u.default.BROWSER_DEFAULT_WEBGL),E(o,u.default.TRANSFORM_FEEDBACK_BINDING,null),E(o,u.default.COPY_READ_BUFFER_BINDING,null),E(o,u.default.COPY_WRITE_BUFFER_BINDING,null),E(o,u.default.PIXEL_PACK_BUFFER_BINDING,null),E(o,u.default.PIXEL_UNPACK_BUFFER_BINDING,null),E(o,u.default.FRAGMENT_SHADER_DERIVATIVE_HINT,u.default.DONT_CARE),E(o,u.default.READ_FRAMEBUFFER_BINDING,null),E(o,u.default.RASTERIZER_DISCARD,!1),E(o,u.default.PACK_ROW_LENGTH,0),E(o,u.default.PACK_SKIP_PIXELS,0),E(o,u.default.PACK_SKIP_ROWS,0),E(o,u.default.UNPACK_ROW_LENGTH,0),E(o,u.default.UNPACK_IMAGE_HEIGHT,0),E(o,u.default.UNPACK_SKIP_PIXELS,0),E(o,u.default.UNPACK_SKIP_ROWS,0),E(o,u.default.UNPACK_SKIP_IMAGES,0),o);t.GL_PARAMETER_DEFAULTS=p;var y=function(e,t,r){return t?e.enable(r):e.disable(r)},h=function(e,t,r){return e.hint(r,t)},b=function(e,t,r){return e.pixelStorei(r,t)},v=function(e,t,r){var n;return n=r===u.default.FRAMEBUFFER_BINDING?(0,l.isWebGL2)(e)?u.default.DRAW_FRAMEBUFFER:u.default.FRAMEBUFFER:u.default.READ_FRAMEBUFFER,e.bindFramebuffer(n,t)},R=function(e,t,r){var n,o=(E(n={},u.default.ARRAY_BUFFER_BINDING,u.default.ARRAY_BUFFER),E(n,u.default.COPY_READ_BUFFER_BINDING,u.default.COPY_READ_BUFFER),E(n,u.default.COPY_WRITE_BUFFER_BINDING,u.default.COPY_WRITE_BUFFER),E(n,u.default.PIXEL_PACK_BUFFER_BINDING,u.default.PIXEL_PACK_BUFFER),E(n,u.default.PIXEL_UNPACK_BUFFER_BINDING,u.default.PIXEL_UNPACK_BUFFER),n)[r];e.bindBuffer(o,t)};function T(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var A=(E(i={},u.default.BLEND,y),E(i,u.default.BLEND_COLOR,(function(e,t){return e.blendColor.apply(e,s(t))})),E(i,u.default.BLEND_EQUATION_RGB,"blendEquation"),E(i,u.default.BLEND_EQUATION_ALPHA,"blendEquation"),E(i,u.default.BLEND_SRC_RGB,"blendFunc"),E(i,u.default.BLEND_DST_RGB,"blendFunc"),E(i,u.default.BLEND_SRC_ALPHA,"blendFunc"),E(i,u.default.BLEND_DST_ALPHA,"blendFunc"),E(i,u.default.COLOR_CLEAR_VALUE,(function(e,t){return e.clearColor.apply(e,s(t))})),E(i,u.default.COLOR_WRITEMASK,(function(e,t){return e.colorMask.apply(e,s(t))})),E(i,u.default.CULL_FACE,y),E(i,u.default.CULL_FACE_MODE,(function(e,t){return e.cullFace(t)})),E(i,u.default.DEPTH_TEST,y),E(i,u.default.DEPTH_CLEAR_VALUE,(function(e,t){return e.clearDepth(t)})),E(i,u.default.DEPTH_FUNC,(function(e,t){return e.depthFunc(t)})),E(i,u.default.DEPTH_RANGE,(function(e,t){return e.depthRange.apply(e,s(t))})),E(i,u.default.DEPTH_WRITEMASK,(function(e,t){return e.depthMask(t)})),E(i,u.default.DITHER,y),E(i,u.default.FRAGMENT_SHADER_DERIVATIVE_HINT,h),E(i,u.default.CURRENT_PROGRAM,(function(e,t){return e.useProgram(t)})),E(i,u.default.RENDERBUFFER_BINDING,(function(e,t){return e.bindRenderbuffer(u.default.RENDERBUFFER,t)})),E(i,u.default.TRANSFORM_FEEDBACK_BINDING,(function(e,t){var r,n;return null===(r=(n=e).bindTransformFeedback)||void 0===r?void 0:r.call(n,u.default.TRANSFORM_FEEDBACK,t)})),E(i,u.default.VERTEX_ARRAY_BINDING,(function(e,t){return e.bindVertexArray(t)})),E(i,u.default.FRAMEBUFFER_BINDING,v),E(i,u.default.READ_FRAMEBUFFER_BINDING,v),E(i,u.default.ARRAY_BUFFER_BINDING,R),E(i,u.default.COPY_READ_BUFFER_BINDING,R),E(i,u.default.COPY_WRITE_BUFFER_BINDING,R),E(i,u.default.PIXEL_PACK_BUFFER_BINDING,R),E(i,u.default.PIXEL_UNPACK_BUFFER_BINDING,R),E(i,u.default.FRONT_FACE,(function(e,t){return e.frontFace(t)})),E(i,u.default.GENERATE_MIPMAP_HINT,h),E(i,u.default.LINE_WIDTH,(function(e,t){return e.lineWidth(t)})),E(i,u.default.POLYGON_OFFSET_FILL,y),E(i,u.default.POLYGON_OFFSET_FACTOR,"polygonOffset"),E(i,u.default.POLYGON_OFFSET_UNITS,"polygonOffset"),E(i,u.default.RASTERIZER_DISCARD,y),E(i,u.default.SAMPLE_ALPHA_TO_COVERAGE,y),E(i,u.default.SAMPLE_COVERAGE,y),E(i,u.default.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),E(i,u.default.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),E(i,u.default.SCISSOR_TEST,y),E(i,u.default.SCISSOR_BOX,(function(e,t){return e.scissor.apply(e,s(t))})),E(i,u.default.STENCIL_TEST,y),E(i,u.default.STENCIL_CLEAR_VALUE,(function(e,t){return e.clearStencil(t)})),E(i,u.default.STENCIL_WRITEMASK,(function(e,t){return e.stencilMaskSeparate(u.default.FRONT,t)})),E(i,u.default.STENCIL_BACK_WRITEMASK,(function(e,t){return e.stencilMaskSeparate(u.default.BACK,t)})),E(i,u.default.STENCIL_FUNC,"stencilFuncFront"),E(i,u.default.STENCIL_REF,"stencilFuncFront"),E(i,u.default.STENCIL_VALUE_MASK,"stencilFuncFront"),E(i,u.default.STENCIL_BACK_FUNC,"stencilFuncBack"),E(i,u.default.STENCIL_BACK_REF,"stencilFuncBack"),E(i,u.default.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),E(i,u.default.STENCIL_FAIL,"stencilOpFront"),E(i,u.default.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),E(i,u.default.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),E(i,u.default.STENCIL_BACK_FAIL,"stencilOpBack"),E(i,u.default.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),E(i,u.default.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),E(i,u.default.VIEWPORT,(function(e,t){return e.viewport.apply(e,s(t))})),E(i,u.default.PACK_ALIGNMENT,b),E(i,u.default.UNPACK_ALIGNMENT,b),E(i,u.default.UNPACK_FLIP_Y_WEBGL,b),E(i,u.default.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b),E(i,u.default.UNPACK_COLORSPACE_CONVERSION_WEBGL,b),E(i,u.default.PACK_ROW_LENGTH,b),E(i,u.default.PACK_SKIP_PIXELS,b),E(i,u.default.PACK_SKIP_ROWS,b),E(i,u.default.UNPACK_ROW_LENGTH,b),E(i,u.default.UNPACK_IMAGE_HEIGHT,b),E(i,u.default.UNPACK_SKIP_PIXELS,b),E(i,u.default.UNPACK_SKIP_ROWS,b),E(i,u.default.UNPACK_SKIP_IMAGES,b),E(i,"framebuffer",(function(e,t){var r=t&&"handle"in t?t.handle:t;return e.bindFramebuffer(u.default.FRAMEBUFFER,r)})),E(i,"blend",(function(e,t){return t?e.enable(u.default.BLEND):e.disable(u.default.BLEND)})),E(i,"blendColor",(function(e,t){return e.blendColor.apply(e,s(t))})),E(i,"blendEquation",(function(e,t){var r="number"==typeof t?[t,t]:t;e.blendEquationSeparate.apply(e,s(r))})),E(i,"blendFunc",(function(e,t){var r=2===(null==t?void 0:t.length)?[].concat(s(t),s(t)):t;e.blendFuncSeparate.apply(e,s(r))})),E(i,"clearColor",(function(e,t){return e.clearColor.apply(e,s(t))})),E(i,"clearDepth",(function(e,t){return e.clearDepth(t)})),E(i,"clearStencil",(function(e,t){return e.clearStencil(t)})),E(i,"colorMask",(function(e,t){return e.colorMask.apply(e,s(t))})),E(i,"cull",(function(e,t){return t?e.enable(u.default.CULL_FACE):e.disable(u.default.CULL_FACE)})),E(i,"cullFace",(function(e,t){return e.cullFace(t)})),E(i,"depthTest",(function(e,t){return t?e.enable(u.default.DEPTH_TEST):e.disable(u.default.DEPTH_TEST)})),E(i,"depthFunc",(function(e,t){return e.depthFunc(t)})),E(i,"depthMask",(function(e,t){return e.depthMask(t)})),E(i,"depthRange",(function(e,t){return e.depthRange.apply(e,s(t))})),E(i,"dither",(function(e,t){return t?e.enable(u.default.DITHER):e.disable(u.default.DITHER)})),E(i,"derivativeHint",(function(e,t){e.hint(u.default.FRAGMENT_SHADER_DERIVATIVE_HINT,t)})),E(i,"frontFace",(function(e,t){return e.frontFace(t)})),E(i,"mipmapHint",(function(e,t){return e.hint(u.default.GENERATE_MIPMAP_HINT,t)})),E(i,"lineWidth",(function(e,t){return e.lineWidth(t)})),E(i,"polygonOffsetFill",(function(e,t){return t?e.enable(u.default.POLYGON_OFFSET_FILL):e.disable(u.default.POLYGON_OFFSET_FILL)})),E(i,"polygonOffset",(function(e,t){return e.polygonOffset.apply(e,s(t))})),E(i,"sampleCoverage",(function(e,t){return e.sampleCoverage.apply(e,s(t))})),E(i,"scissorTest",(function(e,t){return t?e.enable(u.default.SCISSOR_TEST):e.disable(u.default.SCISSOR_TEST)})),E(i,"scissor",(function(e,t){return e.scissor.apply(e,s(t))})),E(i,"stencilTest",(function(e,t){return t?e.enable(u.default.STENCIL_TEST):e.disable(u.default.STENCIL_TEST)})),E(i,"stencilMask",(function(e,t){var r=f(t=T(t)?t:[t,t],2),n=r[0],o=r[1];e.stencilMaskSeparate(u.default.FRONT,n),e.stencilMaskSeparate(u.default.BACK,o)})),E(i,"stencilFunc",(function(e,t){var r=f(t=T(t)&&3===t.length?[].concat(s(t),s(t)):t,6),n=r[0],o=r[1],i=r[2],a=r[3],l=r[4],c=r[5];e.stencilFuncSeparate(u.default.FRONT,n,o,i),e.stencilFuncSeparate(u.default.BACK,a,l,c)})),E(i,"stencilOp",(function(e,t){var r=f(t=T(t)&&3===t.length?[].concat(s(t),s(t)):t,6),n=r[0],o=r[1],i=r[2],a=r[3],l=r[4],c=r[5];e.stencilOpSeparate(u.default.FRONT,n,o,i),e.stencilOpSeparate(u.default.BACK,a,l,c)})),E(i,"viewport",(function(e,t){return e.viewport.apply(e,s(t))})),i);function g(e,t,r){return void 0!==t[e]?t[e]:r[e]}t.GL_PARAMETER_SETTERS=A;var m={blendEquation:function(e,t,r){return e.blendEquationSeparate(g(u.default.BLEND_EQUATION_RGB,t,r),g(u.default.BLEND_EQUATION_ALPHA,t,r))},blendFunc:function(e,t,r){return e.blendFuncSeparate(g(u.default.BLEND_SRC_RGB,t,r),g(u.default.BLEND_DST_RGB,t,r),g(u.default.BLEND_SRC_ALPHA,t,r),g(u.default.BLEND_DST_ALPHA,t,r))},polygonOffset:function(e,t,r){return e.polygonOffset(g(u.default.POLYGON_OFFSET_FACTOR,t,r),g(u.default.POLYGON_OFFSET_UNITS,t,r))},sampleCoverage:function(e,t,r){return e.sampleCoverage(g(u.default.SAMPLE_COVERAGE_VALUE,t,r),g(u.default.SAMPLE_COVERAGE_INVERT,t,r))},stencilFuncFront:function(e,t,r){return e.stencilFuncSeparate(u.default.FRONT,g(u.default.STENCIL_FUNC,t,r),g(u.default.STENCIL_REF,t,r),g(u.default.STENCIL_VALUE_MASK,t,r))},stencilFuncBack:function(e,t,r){return e.stencilFuncSeparate(u.default.BACK,g(u.default.STENCIL_BACK_FUNC,t,r),g(u.default.STENCIL_BACK_REF,t,r),g(u.default.STENCIL_BACK_VALUE_MASK,t,r))},stencilOpFront:function(e,t,r){return e.stencilOpSeparate(u.default.FRONT,g(u.default.STENCIL_FAIL,t,r),g(u.default.STENCIL_PASS_DEPTH_FAIL,t,r),g(u.default.STENCIL_PASS_DEPTH_PASS,t,r))},stencilOpBack:function(e,t,r){return e.stencilOpSeparate(u.default.BACK,g(u.default.STENCIL_BACK_FAIL,t,r),g(u.default.STENCIL_BACK_PASS_DEPTH_FAIL,t,r),g(u.default.STENCIL_BACK_PASS_DEPTH_PASS,t,r))}};t.GL_COMPOSITE_PARAMETER_SETTERS=m;var O={enable:function(e,t){return e(E({},t,!0))},disable:function(e,t){return e(E({},t,!1))},pixelStorei:function(e,t,r){return e(E({},t,r))},hint:function(e,t,r){return e(E({},t,r))},useProgram:function(e,t){return e(E({},u.default.CURRENT_PROGRAM,t))},bindRenderbuffer:function(e,t,r){return e(E({},u.default.RENDERBUFFER_BINDING,r))},bindTransformFeedback:function(e,t,r){return e(E({},u.default.TRANSFORM_FEEDBACK_BINDING,r))},bindVertexArray:function(e,t){return e(E({},u.default.VERTEX_ARRAY_BINDING,t))},bindFramebuffer:function(e,t,r){var n;switch(t){case u.default.FRAMEBUFFER:return e((E(n={},u.default.DRAW_FRAMEBUFFER_BINDING,r),E(n,u.default.READ_FRAMEBUFFER_BINDING,r),n));case u.default.DRAW_FRAMEBUFFER:return e(E({},u.default.DRAW_FRAMEBUFFER_BINDING,r));case u.default.READ_FRAMEBUFFER:return e(E({},u.default.READ_FRAMEBUFFER_BINDING,r));default:return null}},bindBuffer:function(e,t,r){var n,o=(n={},E(n,u.default.ARRAY_BUFFER,[u.default.ARRAY_BUFFER_BINDING]),E(n,u.default.COPY_READ_BUFFER,[u.default.COPY_READ_BUFFER_BINDING]),E(n,u.default.COPY_WRITE_BUFFER,[u.default.COPY_WRITE_BUFFER_BINDING]),E(n,u.default.PIXEL_PACK_BUFFER,[u.default.PIXEL_PACK_BUFFER_BINDING]),E(n,u.default.PIXEL_UNPACK_BUFFER,[u.default.PIXEL_UNPACK_BUFFER_BINDING]),n)[t];return o?e(E({},o,r)):{valueChanged:!0}},blendColor:function(e,t,r,n,o){return e(E({},u.default.BLEND_COLOR,new Float32Array([t,r,n,o])))},blendEquation:function(e,t){var r;return e((E(r={},u.default.BLEND_EQUATION_RGB,t),E(r,u.default.BLEND_EQUATION_ALPHA,t),r))},blendEquationSeparate:function(e,t,r){var n;return e((E(n={},u.default.BLEND_EQUATION_RGB,t),E(n,u.default.BLEND_EQUATION_ALPHA,r),n))},blendFunc:function(e,t,r){var n;return e((E(n={},u.default.BLEND_SRC_RGB,t),E(n,u.default.BLEND_DST_RGB,r),E(n,u.default.BLEND_SRC_ALPHA,t),E(n,u.default.BLEND_DST_ALPHA,r),n))},blendFuncSeparate:function(e,t,r,n,o){var i;return e((E(i={},u.default.BLEND_SRC_RGB,t),E(i,u.default.BLEND_DST_RGB,r),E(i,u.default.BLEND_SRC_ALPHA,n),E(i,u.default.BLEND_DST_ALPHA,o),i))},clearColor:function(e,t,r,n,o){return e(E({},u.default.COLOR_CLEAR_VALUE,new Float32Array([t,r,n,o])))},clearDepth:function(e,t){return e(E({},u.default.DEPTH_CLEAR_VALUE,t))},clearStencil:function(e,t){return e(E({},u.default.STENCIL_CLEAR_VALUE,t))},colorMask:function(e,t,r,n,o){return e(E({},u.default.COLOR_WRITEMASK,[t,r,n,o]))},cullFace:function(e,t){return e(E({},u.default.CULL_FACE_MODE,t))},depthFunc:function(e,t){return e(E({},u.default.DEPTH_FUNC,t))},depthRange:function(e,t,r){return e(E({},u.default.DEPTH_RANGE,new Float32Array([t,r])))},depthMask:function(e,t){return e(E({},u.default.DEPTH_WRITEMASK,t))},frontFace:function(e,t){return e(E({},u.default.FRONT_FACE,t))},lineWidth:function(e,t){return e(E({},u.default.LINE_WIDTH,t))},polygonOffset:function(e,t,r){var n;return e((E(n={},u.default.POLYGON_OFFSET_FACTOR,t),E(n,u.default.POLYGON_OFFSET_UNITS,r),n))},sampleCoverage:function(e,t,r){var n;return e((E(n={},u.default.SAMPLE_COVERAGE_VALUE,t),E(n,u.default.SAMPLE_COVERAGE_INVERT,r),n))},scissor:function(e,t,r,n,o){return e(E({},u.default.SCISSOR_BOX,new Int32Array([t,r,n,o])))},stencilMask:function(e,t){var r;return e((E(r={},u.default.STENCIL_WRITEMASK,t),E(r,u.default.STENCIL_BACK_WRITEMASK,t),r))},stencilMaskSeparate:function(e,t,r){return e(E({},t===u.default.FRONT?u.default.STENCIL_WRITEMASK:u.default.STENCIL_BACK_WRITEMASK,r))},stencilFunc:function(e,t,r,n){var o;return e((E(o={},u.default.STENCIL_FUNC,t),E(o,u.default.STENCIL_REF,r),E(o,u.default.STENCIL_VALUE_MASK,n),E(o,u.default.STENCIL_BACK_FUNC,t),E(o,u.default.STENCIL_BACK_REF,r),E(o,u.default.STENCIL_BACK_VALUE_MASK,n),o))},stencilFuncSeparate:function(e,t,r,n,o){var i;return e((E(i={},t===u.default.FRONT?u.default.STENCIL_FUNC:u.default.STENCIL_BACK_FUNC,r),E(i,t===u.default.FRONT?u.default.STENCIL_REF:u.default.STENCIL_BACK_REF,n),E(i,t===u.default.FRONT?u.default.STENCIL_VALUE_MASK:u.default.STENCIL_BACK_VALUE_MASK,o),i))},stencilOp:function(e,t,r,n){var o;return e((E(o={},u.default.STENCIL_FAIL,t),E(o,u.default.STENCIL_PASS_DEPTH_FAIL,r),E(o,u.default.STENCIL_PASS_DEPTH_PASS,n),E(o,u.default.STENCIL_BACK_FAIL,t),E(o,u.default.STENCIL_BACK_PASS_DEPTH_FAIL,r),E(o,u.default.STENCIL_BACK_PASS_DEPTH_PASS,n),o))},stencilOpSeparate:function(e,t,r,n,o){var i;return e((E(i={},t===u.default.FRONT?u.default.STENCIL_FAIL:u.default.STENCIL_BACK_FAIL,r),E(i,t===u.default.FRONT?u.default.STENCIL_PASS_DEPTH_FAIL:u.default.STENCIL_BACK_PASS_DEPTH_FAIL,n),E(i,t===u.default.FRONT?u.default.STENCIL_PASS_DEPTH_PASS:u.default.STENCIL_BACK_PASS_DEPTH_PASS,o),i))},viewport:function(e,t,r,n,o){return e(E({},u.default.VIEWPORT,[t,r,n,o]))}};t.GL_HOOKED_SETTERS=O;var S=function(e,t){return e.isEnabled(t)},P=(E(a={},u.default.BLEND,S),E(a,u.default.CULL_FACE,S),E(a,u.default.DEPTH_TEST,S),E(a,u.default.DITHER,S),E(a,u.default.POLYGON_OFFSET_FILL,S),E(a,u.default.SAMPLE_ALPHA_TO_COVERAGE,S),E(a,u.default.SAMPLE_COVERAGE,S),E(a,u.default.SCISSOR_TEST,S),E(a,u.default.STENCIL_TEST,S),E(a,u.default.RASTERIZER_DISCARD,S),a);t.GL_PARAMETER_GETTERS=P;var N=new Set([u.default.ACTIVE_TEXTURE,u.default.TRANSFORM_FEEDBACK_ACTIVE,u.default.TRANSFORM_FEEDBACK_PAUSED,u.default.TRANSFORM_FEEDBACK_BUFFER_BINDING,u.default.UNIFORM_BUFFER_BINDING,u.default.ELEMENT_ARRAY_BUFFER_BINDING,u.default.IMPLEMENTATION_COLOR_READ_FORMAT,u.default.IMPLEMENTATION_COLOR_READ_TYPE,u.default.READ_BUFFER,u.default.DRAW_BUFFER0,u.default.DRAW_BUFFER1,u.default.DRAW_BUFFER2,u.default.DRAW_BUFFER3,u.default.DRAW_BUFFER4,u.default.DRAW_BUFFER5,u.default.DRAW_BUFFER6,u.default.DRAW_BUFFER7,u.default.DRAW_BUFFER8,u.default.DRAW_BUFFER9,u.default.DRAW_BUFFER10,u.default.DRAW_BUFFER11,u.default.DRAW_BUFFER12,u.default.DRAW_BUFFER13,u.default.DRAW_BUFFER14,u.default.DRAW_BUFFER15,u.default.SAMPLER_BINDING,u.default.TEXTURE_BINDING_2D,u.default.TEXTURE_BINDING_2D_ARRAY,u.default.TEXTURE_BINDING_3D,u.default.TEXTURE_BINDING_CUBE_MAP]);t.NON_CACHE_PARAMETERS=N},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Object.defineProperty(t,"__esModule",{value:!0}),t.createHeadlessContext=function(e){var t=e=i(i({},u),e),r=t.width,n=t.height,o=t.webgl1;if(t.webgl2&&!o)throw new Error("headless-gl does not support WebGL2");if(!l)throw new Error(" luma.gl: loaded under Node.js without headless gl installed, meaning that WebGL contexts can not be created. This may not be an error. For example, this is a typical configuration for isorender applications running on the server.");var a=l(r,n,e);if(!a)throw new Error("Failed to create WebGL context in Node.js, headless gl returned null");return a},t.isHeadlessGLRegistered=function(){return null!==l},t.registerHeadlessGL=function(e){l=e};var u={width:1,height:1,debug:!0,throwOnError:!1},l=null},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=r(1),i=(n=r(21))&&n.__esModule?n:{default:n};function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d(e);if(t){var o=d(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return s(e)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(a,e);var t,r,n,o=c(a);function a(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),_(s(r=o.call(this,t)),"device",void 0),_(s(r),"presentationSize",void 0),_(s(r),"_framebuffer",null),r.device=e,r.presentationSize=[-1,-1],r._setAutoCreatedCanvasId("".concat(r.device.id,"-canvas")),r.update(),r}return t=a,(r=[{key:"getCurrentFramebuffer",value:function(){return this.update(),this._framebuffer=this._framebuffer||new i.default(this.device,{handle:null}),this._framebuffer}},{key:"update",value:function(){var e=this.getPixelSize();(e[0]!==this.presentationSize[0]||e[1]!==this.presentationSize[1])&&(this.presentationSize=e)}},{key:"resize",value:function(e){if(this.canvas)this.setDevicePixelRatio(devicePixelRatio,e);else{var t=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");t&&e&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}}},{key:"commit",value:function(){}}])&&u(t.prototype,r),n&&u(t,n),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.CanvasContext);t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.withParameters=function(e,t,r){var n=o.default.attach(e).gl;if(function(e){for(var t in e)return!1;return!0}(t))return r(e);var u,l=t.nocatch,c=void 0===l||l;if((0,a.pushContextState)(n),(0,i.setParameters)(n,t),c)u=r(n),(0,a.popContextState)(n);else try{u=r(n)}finally{(0,a.popContextState)(n)}return u};var n,o=(n=r(7))&&n.__esModule?n:{default:n},i=r(15),a=r(14)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertSamplerParametersToWebGL=function(e){var t={};e.addressModeU&&(t[o.default.TEXTURE_WRAP_S]=c(e.addressModeU));e.addressModeV&&(t[o.default.TEXTURE_WRAP_T]=c(e.addressModeV));e.addressModeW&&(t[o.default.TEXTURE_WRAP_R]=c(e.addressModeW));e.magFilter&&(t[o.default.TEXTURE_MAG_FILTER]=f(e.magFilter));(e.minFilter||e.mipmapFilter)&&(t[o.default.TEXTURE_MIN_FILTER]=function(e,t){if(!t)return f(e);switch(e){case"nearest":return"nearest"===t?o.default.NEAREST_MIPMAP_NEAREST:o.default.NEAREST_MIPMAP_LINEAR;case"linear":return"nearest"===t?o.default.LINEAR_MIPMAP_NEAREST:o.default.LINEAR_MIPMAP_LINEAR}}(e.minFilter||"linear",e.mipmapFilter));void 0!==e.lodMinClamp&&(t[o.default.TEXTURE_MIN_LOD]=e.lodMinClamp);void 0!==e.lodMaxClamp&&(t[o.default.TEXTURE_MAX_LOD]=e.lodMaxClamp);"comparison-sampler"===e.type&&(t[o.default.TEXTURE_COMPARE_MODE]=o.default.COMPARE_REF_TO_TEXTURE);e.compare&&(t[o.default.TEXTURE_COMPARE_FUNC]=(0,i.convertCompareFunction)("compare",e.compare));e.maxAnisotropy&&(t[o.default.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy);return t},t.convertToSamplerParameters=function(e){var t={};e[o.default.TEXTURE_WRAP_S]&&(t.addressModeU=s(e[o.default.TEXTURE_WRAP_S]));e[o.default.TEXTURE_WRAP_T]&&(t.addressModeV=s(e[o.default.TEXTURE_WRAP_T]));e[o.default.TEXTURE_WRAP_R]&&(t.addressModeW=s(e[o.default.TEXTURE_WRAP_R]));e[o.default.TEXTURE_MAG_FILTER]&&(t.magFilter=function(e){switch(e){case o.default.NEAREST:return"nearest";case o.default.LINEAR:return"linear";default:throw new Error("maxfilter")}}(e[o.default.TEXTURE_MAG_FILTER]));e[o.default.TEXTURE_MIN_FILTER]&&(t.minFilter=function(e){switch(e){case o.default.NEAREST:return"nearest";case o.default.LINEAR:return"linear";case o.default.NEAREST_MIPMAP_NEAREST:return"nearest";case o.default.LINEAR_MIPMAP_NEAREST:return"linear";case o.default.NEAREST_MIPMAP_LINEAR:return"nearest";case o.default.LINEAR_MIPMAP_LINEAR:return"linear";default:throw new Error("minfilter")}}(e[o.default.TEXTURE_MIN_FILTER]));e[o.default.TEXTURE_MIN_FILTER]&&(t.mipmapFilter=function(e){switch(e){case o.default.NEAREST:return"nearest";case o.default.LINEAR:return"linear";case o.default.NEAREST_MIPMAP_NEAREST:case o.default.LINEAR_MIPMAP_NEAREST:return"nearest";case o.default.NEAREST_MIPMAP_LINEAR:case o.default.LINEAR_MIPMAP_LINEAR:return"linear";default:throw new Error("mipmap")}}(e[o.default.TEXTURE_MIN_FILTER]));e[o.default.TEXTURE_MIN_LOD]&&(t.lodMinClamp=e[o.default.TEXTURE_MIN_LOD]);e[o.default.TEXTURE_MAX_LOD]&&(t.lodMaxClamp=e[o.default.TEXTURE_MAX_LOD]);e[o.default.TEXTURE_COMPARE_MODE]&&(t.type=e[o.default.TEXTURE_COMPARE_MODE]===o.default.COMPARE_REF_TO_TEXTURE?"comparison-sampler":"color-sampler");e[o.default.TEXTURE_COMPARE_FUNC]&&(t.compare=(0,i.convertToCompareFunction)("compare",e[o.default.TEXTURE_COMPARE_FUNC]));e[o.default.TEXTURE_MAX_ANISOTROPY_EXT]&&(t.maxAnisotropy=e[o.default.TEXTURE_MAX_ANISOTROPY_EXT]);return t},t.updateSamplerParametersForNPOT=function(e){var t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},e);e[o.default.TEXTURE_MIN_FILTER]!==o.default.NEAREST&&(t[o.default.TEXTURE_MIN_FILTER]=o.default.LINEAR);return t[o.default.TEXTURE_WRAP_S]=o.default.CLAMP_TO_EDGE,t[o.default.TEXTURE_WRAP_T]=o.default.CLAMP_TO_EDGE,t};var n,o=(n=r(2))&&n.__esModule?n:{default:n},i=r(22);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e){switch(e){case"clamp-to-edge":return o.default.CLAMP_TO_EDGE;case"repeat":return o.default.REPEAT;case"mirror-repeat":return o.default.MIRRORED_REPEAT}}function f(e){switch(e){case"nearest":return o.default.NEAREST;case"linear":return o.default.LINEAR}}function s(e){switch(e){case o.default.CLAMP_TO_EDGE:return"clamp-to-edge";case o.default.REPEAT:return"repeat";case o.default.MIRRORED_REPEAT:return"mirror-repeat";default:throw new Error("address")}}},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(1),i=l(r(2)),a=l(r(24)),u=r(89);function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return(t=_(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_(n.key),n)}}function _(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}function E(e,t){return(E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=h(e);if(t){var o=h(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return y(this,r)}}function y(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var b={id:void 0,handle:void 0,userData:void 0,format:0,width:1,height:1,samples:0},v=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&E(e,t)}(c,e);var r,n,a,l=p(c);function c(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(r=l.call(this,e,t,b))._initialize(r.props),r}return r=c,a=[{key:"isSupported",value:function(e,t){return!(null!=t&&t.format)||(0,u.isRenderbufferFormatSupported)(e,t.format)}}],(n=[{key:t,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"resize",value:function(e){return e.width===this.width&&e.height===this.height||(Object.assign(this.props,f(f({},e),{},{format:this.format,samples:this.samples})),this._initialize(this.props)),this}},{key:"_initialize",value:function(e){var t=e.format,r=e.width,n=e.height,a=e.samples;return(0,o.assert)(t,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(i.default.RENDERBUFFER,this.handle),0!==a&&this.device.isWebGL2?this.gl.renderbufferStorageMultisample(i.default.RENDERBUFFER,a,t,r,n):this.gl.renderbufferStorage(i.default.RENDERBUFFER,t,r,n),this.gl.bindRenderbuffer(i.default.RENDERBUFFER,null),this.trackAllocatedMemory(r*n*(a||1)*(0,u.getRenderbufferFormatBytesPerPixel)(t)),this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(i.default.RENDERBUFFER,e)}}])&&d(r.prototype,n),a&&d(r,a),Object.defineProperty(r,"prototype",{writable:!1}),c}(a.default,Symbol.toStringTag);t.default=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(1),o=f(r(2)),i=r(5),a=f(r(25)),u=r(40),l=f(r(7)),c=f(r(17));function f(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,T(n.key),n)}}function E(e,t){return(E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=b(e);if(t){var o=b(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return y(this,r)}}function y(e,t){if(t&&("object"===s(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function R(e,t,r){return(t=T(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function T(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}var A={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},g={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:A},m={removedProps:A};function O(e){if(ArrayBuffer.isView(e))return{data:e};if("number"==typeof e)return{byteLength:e};var t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){R(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},e=(0,n.checkProps)("Buffer",e,g));return t.offset&&(t.byteOffset=t.offset),t}var S=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&E(e,t)}(s,e);var t,r,c,f=p(s);function s(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(d(this,s),R(h(t=f.call(this,l.default.attach(e),O(r))),"usage",void 0),R(h(t),"accessor",void 0),t.setAccessor(Object.assign({},r,r.accessor)),t.props.data){var o=(0,u.getGLTypeFromTypedArray)(t.props.data);(0,n.assert)(o),t.setAccessor(new a.default(t.accessor,{type:o}))}return Object.seal(h(t)),t}return t=s,(r=[{key:"write",value:function(e,t){this.subData({data:e,offset:t})}},{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/a.default.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/a.default.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=(0,n.checkProps)("Buffer",e,g),this.webglUsage=e.webglUsage||o.default.STATIC_DRAW,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=(0,n.checkProps)("Buffer",e,m))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new a.default(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,r=t.data,a=t.offset,u=void 0===a?0:a,l=t.srcOffset,c=void 0===l?0:l,f=e.byteLength||e.length;(0,n.assert)(r);var s=this.gl.webgl2?o.default.COPY_WRITE_BUFFER:this.target;return this.gl.bindBuffer(s,this.handle),0!==c||void 0!==f?((0,i.assertWebGL2Context)(this.gl),this.gl.bufferSubData(this.target,u,r,c,f)):this.gl.bufferSubData(s,u,r),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(r),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,r=e.readOffset,n=void 0===r?0:r,a=e.writeOffset,u=void 0===a?0:a,l=e.size,c=this.gl,f=this.gl2;return(0,i.assertWebGL2Context)(c),c.bindBuffer(o.default.COPY_READ_BUFFER,t.handle),c.bindBuffer(o.default.COPY_WRITE_BUFFER,this.handle),null==f||f.copyBufferSubData(o.default.COPY_READ_BUFFER,o.default.COPY_WRITE_BUFFER,n,u,l),c.bindBuffer(o.default.COPY_READ_BUFFER,null),c.bindBuffer(o.default.COPY_WRITE_BUFFER,null),this.debugData=null,this}},{key:"getData",value:function(e){var t,r=e||{},a=r.dstData,l=void 0===a?null:a,c=r.length,f=void 0===c?0:c,s=e||{},d=s.srcByteOffset,_=void 0===d?0:d,E=s.dstOffset,p=void 0===E?0:E;(0,i.assertWebGL2Context)(this.gl);var y,h,b=(0,u.getTypedArrayFromGLType)(this.accessor.type||o.default.FLOAT,{clamped:!1}),v=this._getAvailableElementCount(_),R=p;l?y=(h=l.length)-R:h=R+(y=Math.min(v,f||v));var T=Math.min(v,y);return f=f||T,(0,n.assert)(f<=T),l=l||new b(h),this.gl.bindBuffer(o.default.COPY_READ_BUFFER,this.handle),null===(t=this.gl2)||void 0===t||t.getBufferSubData(o.default.COPY_READ_BUFFER,_,l,p,f),this.gl.bindBuffer(o.default.COPY_READ_BUFFER,null),l}},{key:"bind",value:function(e){var t,r,i=e||{},a=i.target,u=void 0===a?this.target:a,l=i.index,c=void 0===l?this.accessor&&this.accessor.index:l,f=i.offset,s=void 0===f?0:f,d=i.size;return u===o.default.UNIFORM_BUFFER||u===o.default.TRANSFORM_FEEDBACK_BUFFER?void 0!==d?null===(t=this.gl2)||void 0===t||t.bindBufferRange(u,c,this.handle,s,d):((0,n.assert)(0===s),null===(r=this.gl2)||void 0===r||r.bindBufferBase(u,c,this.handle)):this.gl.bindBuffer(u,this.handle),this}},{key:"unbind",value:function(e){var t,r=e||{},n=r.target,i=void 0===n?this.target:n,a=r.index,u=void 0===a?this.accessor&&this.accessor.index:a;return i===o.default.UNIFORM_BUFFER||i===o.default.TRANSFORM_FEEDBACK_BUFFER?null===(t=this.gl2)||void 0===t||t.bindBufferBase(i,u,null):this.gl.bindBuffer(i,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;(0,n.assert)(ArrayBuffer.isView(e)),this.trackDeallocatedMemory();var o=this._getTarget();this.gl.bindBuffer(o,this.handle),this.gl.bufferData(o,r,this.webglUsage),this.gl.bufferSubData(o,t,e),this.gl.bindBuffer(o,null),this.debugData=e.slice(0,10),this.bytesUsed=r,this.byteLength=r,this.trackAllocatedMemory(r);var i=(0,u.getGLTypeFromTypedArray)(e);return(0,n.assert)(i),this.setAccessor(new a.default(this.accessor,{type:i})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.webglUsage;(0,n.assert)(e>=0),this.trackDeallocatedMemory();var r=e;0===e&&(r=new Float32Array(0));var o=this._getTarget();return this.gl.bindBuffer(o,this.handle),this.gl.bufferData(o,r,t),this.gl.bindBuffer(o,null),this.webglUsage=t,this.debugData=null,this.bytesUsed=e,this.byteLength=e,this.trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?o.default.COPY_WRITE_BUFFER:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/(0,u.getTypedArrayFromGLType)(this.accessor.type||o.default.FLOAT,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new a.default(this.accessor,{type:(0,u.getGLTypeFromTypedArray)(e)}))}},{key:"getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"type",get:function(){return this.accessor.type}}])&&_(t.prototype,r),c&&_(t,c),Object.defineProperty(t,"prototype",{writable:!1}),s}(c.default);t.default=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.flipRows=function(e){for(var t=e.data,r=e.width,n=e.height,o=e.bytesPerPixel,i=void 0===o?4:o,a=e.temp,u=r*i,l=a||new Uint8Array(u),c=0;c<n/2;++c){var f=c*u,s=(n-c-1)*u;l.set(t.subarray(f,f+u)),t.copyWithin(f,s,s+u),t.set(l,s)}},t.getGLTypeFromTypedArray=function(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return o.default.FLOAT;case Uint16Array:return o.default.UNSIGNED_SHORT;case Uint32Array:return o.default.UNSIGNED_INT;case Uint8Array:case Uint8ClampedArray:return o.default.UNSIGNED_BYTE;case Int8Array:return o.default.BYTE;case Int16Array:return o.default.SHORT;case Int32Array:return o.default.INT;default:throw new Error("Failed to deduce GL constant from typed array")}},t.getTypedArrayFromGLType=function(e,t){var r=(t||{}).clamped,n=void 0===r||r;switch(e){case o.default.FLOAT:return Float32Array;case o.default.UNSIGNED_SHORT:case o.default.UNSIGNED_SHORT_5_6_5:case o.default.UNSIGNED_SHORT_4_4_4_4:case o.default.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;case o.default.UNSIGNED_INT:return Uint32Array;case o.default.UNSIGNED_BYTE:return n?Uint8ClampedArray:Uint8Array;case o.default.BYTE:return Int8Array;case o.default.SHORT:return Int16Array;case o.default.INT:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}},t.scalePixels=function(e){for(var t=e.data,r=e.width,n=e.height,o=Math.round(r/2),i=Math.round(n/2),a=new Uint8Array(o*i*4),u=0;u<i;u++)for(var l=0;l<o;l++)for(var c=0;c<4;c++)a[4*(u*o+l)+c]=t[4*(2*u*r+2*l)+c];return{data:a,width:o,height:i}};var n,o=(n=r(2))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=r(1),i=(n=r(2))&&n.__esModule?n:{default:n},a=r(92),u=r(93);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */c=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var i=t&&t.prototype instanceof E?t:E,a=Object.create(i.prototype),u=new P(o||[]);return n(a,"_invoke",{value:g(e,r,u)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var _={};function E(){}function p(){}function y(){}var h={};f(h,i,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(N([])));v&&v!==t&&r.call(v,i)&&(h=v);var R=y.prototype=E.prototype=Object.create(h);function T(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,u){var c=d(e[o],e,i);if("throw"!==c.type){var f=c.arg,s=f.value;return s&&"object"==l(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,a,u)}),(function(e){n("throw",e,a,u)})):t.resolve(s).then((function(e){f.value=e,a(f)}),(function(e){return n("throw",e,a,u)}))}u(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function g(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=m(a,r);if(u){if(u===_)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=d(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function m(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,m(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),_;var o=d(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,_;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return p.prototype=y,n(R,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=f(y,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,f(e,u,"GeneratorFunction")),e.prototype=Object.create(R),e},e.awrap=function(e){return{__await:e}},T(A.prototype),f(A.prototype,a,(function(){return this})),e.AsyncIterator=A,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new A(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},T(R),f(R,u,"Generator"),f(R,i,(function(){return this})),f(R,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),_}},e}function f(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,v(n.key),n)}}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function E(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=h(e);if(t){var o=h(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return p(this,r)}}function p(e,t){if(t&&("object"===l(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return y(e)}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t,r){return(t=v(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==l(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===l(t)?t:String(t)}var R=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_(e,t)}(v,e);var t,r,n,l,p,h=E(v);function v(e,t){var r;switch(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,v),r=h.call(this,e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({id:T(t)},t)),b(y(r),"device",void 0),b(y(r),"handle",void 0),r.device=e,r.props.stage){case"vertex":r.handle=r.props.handle||r.device.gl.createShader(i.default.VERTEX_SHADER);break;case"fragment":r.handle=r.props.handle||r.device.gl.createShader(i.default.FRAGMENT_SHADER);break;default:throw new Error(r.props.stage)}return r._compile(r.source),r}return t=v,(r=[{key:"destroy",value:function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)}},{key:"compilationInfo",value:(l=c().mark((function e(){var t;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.device.gl.getShaderInfoLog(this.handle),e.abrupt("return",t?(0,u.parseShaderCompilerLog)(t):[]);case 2:case"end":return e.stop()}}),e,this)})),p=function(){var e=this,t=arguments;return new Promise((function(r,n){var o=l.apply(e,t);function i(e){f(o,r,n,i,a,"next",e)}function a(e){f(o,r,n,i,a,"throw",e)}i(void 0)}))},function(){return p.apply(this,arguments)})},{key:"_compile",value:function(e){e=function(e){return e.startsWith("#version ")?e:"#version 100\n".concat(e)}(e);var t=this.device.gl;if(t.shaderSource(this.handle,e),t.compileShader(this.handle),!t.getShaderParameter(this.handle,i.default.COMPILE_STATUS)){var r=t.getShaderInfoLog(this.handle),n=(r?(0,u.parseShaderCompilerLog)(r):[]).filter((function(e){return"error"===e.type})),l=(0,o.formatCompilerLog)(n,e),c=(0,a.getShaderInfo)(e).name,f="".concat(this.stage," shader ").concat(c);throw o.log.error("GLSL compilation errors in ".concat(f,"\n").concat(l))(),new Error("GLSL compilation errors in ".concat(c))}}}])&&d(t.prototype,r),n&&d(t,n),Object.defineProperty(t,"prototype",{writable:!1}),v}(o.Shader);function T(e){return(0,a.getShaderInfo)(e.source).name||e.id||(0,o.uid)("unnamed ".concat(e.stage,"-shader"))}t.default=R},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function i(e,t){return(i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=c(e);if(t){var o=c(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u(this,r)}}function u(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return l(e)}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&i(e,t)}(c,e);var t,r,n,u=a(c);function c(e,t){var r,n,o,i;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),r=u.call(this,e,t),n=l(r),i=void 0,(o=f(o="device"))in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i,r.device=e,r}return t=c,(r=[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(e){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(e){}}])&&o(t.prototype,r),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),c}(r(1).RenderPass);t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(1),o=d(r(2)),i=r(10),a=r(44),u=r(22),l=r(96),c=d(r(17)),f=d(r(16)),s=d(r(45));function d(e){return e&&e.__esModule?e:{default:e}}function _(e){return(_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function E(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=y(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||y(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){if(e){if("string"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,O(n.key),n)}}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=g(e);if(t){var o=g(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return T(this,r)}}function T(e,t){if(t&&("object"===_(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return A(e)}function A(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t,r){return(t=O(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function O(e){var t=function(e,t){if("object"!==_(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_(t)?t:String(t)}var S=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}(y,e);var t,r,d,_=R(y);function y(e,t){var r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y),m(A(r=_.call(this,e,t)),"device",void 0),m(A(r),"handle",void 0),m(A(r),"vs",void 0),m(A(r),"fs",void 0),m(A(r),"layout",void 0),m(A(r),"varyings",null),m(A(r),"vertexArrayObject",void 0),m(A(r),"_indexBuffer",void 0),m(A(r),"uniforms",{}),m(A(r),"bindings",{}),m(A(r),"_textureUniforms",{}),m(A(r),"_textureIndexCounter",0),m(A(r),"_uniformCount",0),m(A(r),"_uniformSetters",{}),r.device=e,r.handle=r.props.handle||r.device.gl.createProgram(),r.handle.__SPECTOR_Metadata={id:r.props.id},r.vs=(0,n.cast)(t.vs),r.fs=(0,n.cast)(t.fs);var i,u=t.varyings,l=t.bufferMode,c=void 0===l?o.default.SEPARATE_ATTRIBS:l;u&&u.length>0&&(r.device.assertWebGL2(),r.varyings=u,null===(i=r.device.gl2)||void 0===i||i.transformFeedbackVaryings(r.handle,u,c));return r._compileAndLink(),r.layout=t.layout||(0,a.getShaderLayout)(r.device.gl,r.handle),r.vertexArrayObject=new s.default(r.device),r}return t=y,(r=[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(e){var t=(0,n.cast)(e);this.vertexArrayObject.setElementBuffer(t),this._indexBuffer=e}},{key:"setAttributes",value:function(e){for(var t=0,r=Object.entries(e);t<r.length;t++){var o=p(r[t],2),a=o[0],u=o[1],l=(0,n.cast)(u),c=P(this.layout,a);if(c){var f=(0,n.decodeVertexFormat)(c.format),s=f.type,d=f.components,_=f.byteLength,E=f.normalized,y=f.integer,h="instance"===c.stepMode?1:0,b=(0,i.getWebGLDataType)(s);this.vertexArrayObject.setBuffer(c.location,l,{size:d,type:b,stride:_,offset:0,normalized:E,integer:y,divisor:h})}else n.log.warn('Ignoring buffer supplied for unknown attribute "'.concat(a,'" in pipeline "').concat(this.id,'" (buffer "').concat(u.id,'")'))()}}},{key:"setBindings",value:function(e){for(var t=this,r=function(){var e=p(i[o],2),r=e[0],a=e[1],u=t.layout.bindings.find((function(e){return e.name===r}));if(!u)return n.log.warn("Unknown binding ".concat(r," in render pipeline ").concat(t.id))(),"continue";switch(a||n.log.warn("Unsetting binding ".concat(r," in render pipeline ").concat(t.id))(),u.type){case"uniform":if(!(a instanceof c.default||a.buffer instanceof c.default))throw new Error("buffer value");break;case"texture":if(!(a instanceof f.default))throw new Error("texture value");break;case"sampler":n.log.warn("Ignoring sampler ".concat(r))();break;default:throw new Error(u.type)}t.bindings[r]=a},o=0,i=Object.entries(e);o<i.length;o++)r()}},{key:"setUniforms",value:function(e){Object.assign(this.uniforms,e)}},{key:"draw",value:function(e){var t,r=this,n=e.renderPass,i=void 0===n?this.device.getDefaultRenderPass():n,a=e.vertexCount,l=e.instanceCount,c=e.firstVertex,f=void 0===c?0:c,s=function(e){switch(e){case"point-list":return o.default.POINTS;case"line-list":return o.default.LINES;case"line-strip":return o.default.LINE_STRIP;case"line-loop":return o.default.LINE_LOOP;case"triangle-list":return o.default.TRIANGLES;case"triangle-strip":return o.default.TRIANGLE_STRIP;case"triangle-fan":return o.default.TRIANGLE_FAN;default:throw new Error(e)}}(this.props.topology),d=Boolean(this._indexBuffer),_="uint16"===(null===(t=this._indexBuffer)||void 0===t?void 0:t.props.indexType)?o.default.UNSIGNED_SHORT:o.default.UNSIGNED_INT,E=Number(e.instanceCount)>0;return!(!this._areTexturesRenderable()||0===e.vertexCount||(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind((function(){!function(e){switch(e){case"point-list":return o.default.POINTS;case"line-list":case"line-strip":case"line-loop":return o.default.LINES;case"triangle-list":case"triangle-strip":case"triangle-fan":return o.default.TRIANGLES;default:throw new Error(e)}}(r.props.topology),r._applyBindings(),r._applyUniforms(),(0,u.withDeviceParameters)(r.device,r.props.parameters,(function(){(0,u.withGLParameters)(r.device,{framebuffer:i.props.framebuffer},(function(){var e;if(d&&E)null===(e=r.device.gl2)||void 0===e||e.drawElementsInstanced(s,a||0,_,f,l||0);else if(d)r.device.gl.drawElements(s,a||0,_,f);else if(E){var t;null===(t=r.device.gl2)||void 0===t||t.drawArraysInstanced(s,f,a||0,l||0)}else r.device.gl.drawArrays(s,f,a||0)}))}))})),0))}},{key:"_compileAndLink",value:function(){var e=this.device.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),n.log.time(4,"linkProgram for ".concat(this.id))(),e.linkProgram(this.handle),n.log.timeEnd(4,"linkProgram for ".concat(this.id))(),e.debug||n.log.level>0){if(!e.getProgramParameter(this.handle,e.LINK_STATUS))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,e.VALIDATE_STATUS))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_areTexturesRenderable",value:function(){for(var e=!0,t=0,r=Object.entries(this._textureUniforms);t<r.length;t++){var n=p(r[t],2)[1];n.update(),e=e&&n.loaded}for(var o=0,i=Object.entries(this.bindings);o<i.length;o++){var a=p(i[o],2)[1];void 0!==a.loaded&&(e=e&&a.loaded)}return e}},{key:"_applyBindings",value:function(){this.device.gl.useProgram(this.handle);var e=this.device.gl2;if(!e)throw new Error("bindings");var t,r=0,n=0,i=E(this.layout.bindings);try{for(i.s();!(t=i.n()).done;){var a=t.value,u=this.bindings[a.name];if(!u)throw new Error("No value for binding ".concat(a.name," in ").concat(this.id));switch(a.type){case"uniform":var l=a.name,s=e.getUniformBlockIndex(this.handle,l);if(s===o.default.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(l));e.uniformBlockBinding(this.handle,n,s),u instanceof c.default?e.bindBufferBase(o.default.UNIFORM_BUFFER,n,u.handle):e.bindBufferRange(o.default.UNIFORM_BUFFER,n,u.buffer.handle,u.offset||0,u.size||u.buffer.byteLength-u.offset),n+=1;break;case"texture":if(!(u instanceof f.default))throw new Error("texture");var d=u;e.activeTexture(o.default.TEXTURE0+r),e.bindTexture(d.target,d.handle),r+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(a.type,"' not supported in WebGL"))}}}catch(e){i.e(e)}finally{i.f()}}},{key:"_applyUniforms",value:function(){var e,t=E(this.layout.uniforms||[]);try{for(t.s();!(e=t.n()).done;){var r=e.value,n=r.name,o=r.location,i=r.type,a=r.textureUnit,u=this.uniforms[n]||a;void 0!==u&&(0,l.setUniform)(this.device.gl,o,i,u)}}catch(e){t.e(e)}finally{t.f()}}}])&&b(t.prototype,r),d&&b(t,d),Object.defineProperty(t,"prototype",{writable:!1}),y}(n.RenderPipeline);function P(e,t){return e.attributes.find((function(e){return e.name===t}))||null}t.default=S},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.getProgramBindings=b,t.getShaderLayout=function(e,t){var r,n,o,a=b(e,t),u={attributes:[],bindings:[]},f=p(a.attributes);try{for(f.s();!(o=f.n()).done;){var s=o.value,d=Math.min(s.accessor.size,4),_=(0,c.getVertexFormat)(s.accessor.type||i.default.FLOAT,d);u.attributes.push({name:s.name,location:s.location,format:_,stepMode:1===s.accessor.divisor?"instance":"vertex"})}}catch(e){f.e(e)}finally{f.f()}var E,y=p(a.uniformBlocks);try{for(y.s();!(E=y.n()).done;){var h=E.value,v=h.uniforms.map((function(e){return{name:e.name,format:e.format,byteOffset:e.byteOffset,byteStride:e.byteStride,arrayLength:e.arrayLength}}));u.bindings.push({type:"uniform",name:h.name,location:h.location,visibility:(h.vertex?1:0)&(h.fragment?2:0),minBindingSize:h.byteLength,uniforms:v})}}catch(e){y.e(e)}finally{y.f()}var R,T=0,A=p(a.uniforms);try{for(A.s();!(R=A.n()).done;){var g=R.value;if((0,l.isSamplerUniform)(g.type)){var O=m(g.type),S=O.viewDimension,P=O.sampleType;u.bindings.push({type:"texture",name:g.name,location:T,viewDimension:S,sampleType:P}),g.textureUnit=T,T+=1}}}catch(e){A.e(e)}finally{A.f()}var N=(null===(r=a.uniforms)||void 0===r?void 0:r.filter((function(e){return null!==e.location})))||[];N.length&&(u.uniforms=N);null!==(n=a.varyings)&&void 0!==n&&n.length&&(u.varyings=a.varyings);return u};var o,i=f(r(2)),a=r(5),u=f(r(25)),l=r(94),c=r(95);function f(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||y(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){E(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function E(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=y(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function y(e,t){if(e){if("string"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t){var r={attributes:v(e,t),uniforms:T(e,t),uniformBlocks:A(e,t),varyings:R(e,t)};return Object.seal(r),r}function v(e,t){for(var r=[],n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),o=0;o<n;o++){var i=e.getActiveAttrib(t,o);if(!i)throw new Error("activeInfo");var a=i.name,c=i.type,f=i.size,s=e.getAttribLocation(t,a);if(s>=0){var d=(0,l.decodeAttributeType)(c),_={type:d.glType,size:f*d.components};/instance/i.test(a)&&(_.divisor=1);var E={location:s,name:a,accessor:new u.default(_)};r.push(E)}}return r.sort((function(e,t){return e.location-t.location})),r}function R(e,t){if(!(0,a.isWebGL2)(e))return[];for(var r=e,n=[],o=e.getProgramParameter(t,i.default.TRANSFORM_FEEDBACK_VARYINGS),c=0;c<o;c++){var f=r.getTransformFeedbackVarying(t,c);if(!f)throw new Error("activeInfo");var s=f.name,d=f.type,_=f.size,E=(0,l.decodeUniformType)(d),p=E.glType,y=E.components,h={location:c,name:s,accessor:new u.default({type:p,size:_*y})};n.push(h)}return n.sort((function(e,t){return e.location-t.location})),n}function T(e,t){for(var r=[],n=e.getProgramParameter(t,i.default.ACTIVE_UNIFORMS),o=0;o<n;o++){var a=e.getActiveUniform(t,o);if(!a)throw new Error("activeInfo");var u=a.name,l=a.size,c=a.type,f=O(u),s=f.name,d=f.isArray,E=e.getUniformLocation(t,s),p={location:E,name:s,size:l,type:c,isArray:d};if(r.push(p),p.size>1)for(var y=0;y<p.size;y++){var h="".concat(s,"[").concat(y,"]");E=e.getUniformLocation(t,h);var b=_(_({},p),{},{name:h,location:E});r.push(b)}}return r}function A(e,t){if(!(0,a.isWebGL2)(e))return[];for(var r=e,n=function(e,n){return r.getActiveUniformBlockParameter(t,e,n)},o=[],u=r.getProgramParameter(t,i.default.ACTIVE_UNIFORM_BLOCKS),c=0;c<u;c++){for(var f={name:r.getActiveUniformBlockName(t,c)||"",location:n(c,i.default.UNIFORM_BLOCK_BINDING),byteLength:n(c,i.default.UNIFORM_BLOCK_DATA_SIZE),vertex:n(c,i.default.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(c,i.default.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(c,i.default.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},s=n(c,i.default.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],d=r.getActiveUniforms(t,s,i.default.UNIFORM_TYPE),_=r.getActiveUniforms(t,s,i.default.UNIFORM_SIZE),E=r.getActiveUniforms(t,s,i.default.UNIFORM_OFFSET),p=r.getActiveUniforms(t,s,i.default.UNIFORM_ARRAY_STRIDE),y=0;y<f.uniformCount;++y){var h=r.getActiveUniform(t,s[y]);if(!h)throw new Error("activeInfo");f.uniforms.push({name:h.name,format:(0,l.decodeUniformType)(d[y]).format,type:d[y],arrayLength:_[y],byteOffset:E[y],byteStride:p[y]})}o.push(f)}return o.sort((function(e,t){return e.location-t.location})),o}var g=(E(o={},i.default.SAMPLER_2D,["2d","float"]),E(o,i.default.SAMPLER_CUBE,["cube","float"]),E(o,i.default.SAMPLER_3D,["3d","float"]),E(o,i.default.SAMPLER_2D_SHADOW,["3d","depth"]),E(o,i.default.SAMPLER_2D_ARRAY,["2d-array","float"]),E(o,i.default.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),E(o,i.default.SAMPLER_CUBE_SHADOW,["cube","float"]),E(o,i.default.INT_SAMPLER_2D,["2d","sint"]),E(o,i.default.INT_SAMPLER_3D,["3d","sint"]),E(o,i.default.INT_SAMPLER_CUBE,["cube","sint"]),E(o,i.default.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),E(o,i.default.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),E(o,i.default.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),E(o,i.default.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),E(o,i.default.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),o);function m(e){var t=g[e];if(!t)throw new Error("sampler");var r=s(t,2);return{viewDimension:r[0],sampleType:r[1]}}function O(e){if("]"!==e[e.length-1])return{name:e,length:1,isArray:!1};var t=e.match(/([^[]*)(\[[0-9]+\])?/);if(!t||t.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:t[1],length:t[2]?1:0,isArray:Boolean(t[2])}}},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(1),i=l(r(2)),a=r(8),u=l(r(24));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(i=o.key,a=void 0,a=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(i,"string"),"symbol"===n(a)?a:String(a)),o)}var i,a}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=_(e);if(t){var o=_(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return d(this,r)}}function d(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function _(e){return(_=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var E="elements must be GL.ELEMENT_ARRAY_BUFFER",p=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(d,e);var r,n,u,l=s(d);function d(e,t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),l.call(this,e,t,{})}return r=d,(n=[{key:t,get:function(){return"BaseVertexArrayObject"}},{key:"_createHandle",value:function(){return this.gl2.createVertexArray()}},{key:"_deleteHandle",value:function(){return this.gl2.deleteVertexArray(this.handle),[this.elements]}},{key:"_bindHandle",value:function(e){this.gl2.bindVertexArray(e)}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return(0,o.assert)(!t||t.target===i.default.ELEMENT_ARRAY_BUFFER,E),this.bind((function(){e.gl.bindBuffer(i.default.ELEMENT_ARRAY_BUFFER,t?t.handle:null)})),this}},{key:"setBuffer",value:function(e,t,r){var n=this;if(t.target===i.default.ELEMENT_ARRAY_BUFFER)return this.setElementBuffer(t,r);var o=r.size,a=r.type,u=r.stride,l=r.offset,c=r.normalized,f=r.integer,s=r.divisor,d=this.gl,_=this.gl2;return e=Number(e),this.bind((function(){d.bindBuffer(d.ARRAY_BUFFER,t.handle),f?(n.device.assertWebGL2(),_.vertexAttribIPointer(e,o,a,u,l)):d.vertexAttribPointer(e,o,a,c,u,l),d.enableVertexAttribArray(e),_.vertexAttribDivisor(e,s||0)})),this}},{key:"enable",value:function(e){var t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.device.isWebGL2||"Chrome"===(0,a.getBrowser)(),o=n||0!==e;return(r||o)&&(e=Number(e),this.bind((function(){return r?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)}))),this}}])&&c(r.prototype,n),u&&c(r,u),Object.defineProperty(r,"prototype",{writable:!1}),d}(u.default,Symbol.toStringTag);t.default=p},function(e,t,r){"use strict";var n=r(47);globalThis.luma=globalThis.luma||{},e.exports=Object.assign(globalThis.luma,n)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Accessor",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"Buffer",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"ClassicBuffer",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"WEBGLBuffer",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"WEBGLCommandEncoder",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"WEBGLFramebuffer",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"WEBGLRenderPass",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"WEBGLRenderPipeline",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"WEBGLRenderbuffer",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"WEBGLResource",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"WEBGLSampler",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"WEBGLShader",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"WEBGLTexture",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"WEBGLVertexArrayObject",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"WebGLCanvasContext",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"WebGLDevice",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"WebGLResource",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"_checkFloat32ColorAttachment",{enumerable:!0,get:function(){return S._checkFloat32ColorAttachment}}),Object.defineProperty(t,"assertWebGL2Context",{enumerable:!0,get:function(){return v.assertWebGL2Context}}),Object.defineProperty(t,"assertWebGLContext",{enumerable:!0,get:function(){return v.assertWebGLContext}}),Object.defineProperty(t,"getParameters",{enumerable:!0,get:function(){return T.getParameters}}),Object.defineProperty(t,"getProgramBindings",{enumerable:!0,get:function(){return O.getProgramBindings}}),Object.defineProperty(t,"getShaderLayout",{enumerable:!0,get:function(){return O.getShaderLayout}}),Object.defineProperty(t,"getWebGL2Context",{enumerable:!0,get:function(){return v.getWebGL2Context}}),Object.defineProperty(t,"isWebGL",{enumerable:!0,get:function(){return v.isWebGL}}),Object.defineProperty(t,"isWebGL2",{enumerable:!0,get:function(){return v.isWebGL2}}),Object.defineProperty(t,"polyfillContext",{enumerable:!0,get:function(){return m.polyfillContext}}),Object.defineProperty(t,"popContextState",{enumerable:!0,get:function(){return g.popContextState}}),Object.defineProperty(t,"pushContextState",{enumerable:!0,get:function(){return g.pushContextState}}),Object.defineProperty(t,"registerHeadlessGL",{enumerable:!0,get:function(){return n.registerHeadlessGL}}),Object.defineProperty(t,"resetParameters",{enumerable:!0,get:function(){return T.resetParameters}}),Object.defineProperty(t,"setDeviceParameters",{enumerable:!0,get:function(){return R.setDeviceParameters}}),Object.defineProperty(t,"setParameters",{enumerable:!0,get:function(){return T.setParameters}}),Object.defineProperty(t,"trackContextState",{enumerable:!0,get:function(){return g.trackContextState}}),Object.defineProperty(t,"withDeviceParameters",{enumerable:!0,get:function(){return R.withDeviceParameters}}),Object.defineProperty(t,"withParameters",{enumerable:!0,get:function(){return A.withParameters}}),r(1),r(77);var n=r(34),o=P(r(7)),i=P(r(35)),a=P(r(24)),u=P(r(17)),l=P(r(16)),c=P(r(41)),f=P(r(23)),s=P(r(21)),d=P(r(43)),_=P(r(97)),E=P(r(42)),p=P(r(38)),y=P(r(45)),h=P(r(25)),b=P(r(39)),v=r(5),R=r(22),T=r(15),A=r(36),g=r(14),m=r(31),O=r(44),S=r(10);function P(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,Object.defineProperty(t,"lumaStats",{enumerable:!0,get:function(){return i.lumaStats}});var n=r(8),o=r(6),i=r(13),a="9.0.0-alpha.15";if(globalThis.luma&&globalThis.luma.VERSION!==a)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(a));globalThis.luma||((0,n.isBrowser)()&&o.log.log(1,"luma.gl ".concat(a," - ").concat("set luma.log.level=1 (or higher) to trace rendering"))(),globalThis.luma=globalThis.luma||{VERSION:a,version:a,log:o.log,stats:i.lumaStats});var u=globalThis.luma;t.default=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,o.default)(e,"string");return"symbol"===(0,n.default)(t)?t:String(t)};var n=i(r(27)),o=i(r(50));function i(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("object"!==(0,o.default)(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==(0,o.default)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)};var n,o=(n=r(27))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(28),o=r(13),i=r(6),a=r(1);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */l=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var i=t&&t.prototype instanceof E?t:E,a=Object.create(i.prototype),u=new P(o||[]);return n(a,"_invoke",{value:g(e,r,u)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var _={};function E(){}function p(){}function y(){}var h={};f(h,i,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(N([])));v&&v!==t&&r.call(v,i)&&(h=v);var R=y.prototype=E.prototype=Object.create(h);function T(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,l){var c=d(e[o],e,i);if("throw"!==c.type){var f=c.arg,s=f.value;return s&&"object"==u(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,a,l)}),(function(e){n("throw",e,a,l)})):t.resolve(s).then((function(e){f.value=e,a(f)}),(function(e){return n("throw",e,a,l)}))}l(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function g(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=m(a,r);if(u){if(u===_)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=d(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function m(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,m(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),_;var o=d(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,_;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return p.prototype=y,n(R,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=f(y,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,f(e,c,"GeneratorFunction")),e.prototype=Object.create(R),e},e.awrap=function(e){return{__await:e}},T(A.prototype),f(A.prototype,a,(function(){return this})),e.AsyncIterator=A,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new A(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},T(R),f(R,c,"Generator"),f(R,i,(function(){return this})),f(R,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),_}},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function d(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function p(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}var h=new Map,b=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,o,i,u;return t=e,r=null,o=[{key:"registerDevices",value:function(e){var t,r=d(e);try{for(r.s();!(t=r.n()).done;){var n=t.value;(0,a.assert)(n.type&&n.isSupported&&n.create),h.set(n.type,n)}}catch(e){r.e(e)}finally{r.f()}}},{key:"getAvailableDevices",value:function(){return Array.from(h).map((function(e){return e.type}))}},{key:"getSupportedDevices",value:function(){return Array.from(h).filter((function(e){return e.isSupported()})).map((function(e){return e.type}))}},{key:"setDefaultDeviceProps",value:function(e){Object.assign(n.DEFAULT_DEVICE_PROPS,e)}},{key:"createDevice",value:(i=l().mark((function e(){var t,r,o=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=o.length>0&&void 0!==o[0]?o[0]:{},(t=f(f({},n.DEFAULT_DEVICE_PROPS),t)).gl&&(t.type="webgl"),e.t0=t.type,e.next="webgpu"===e.t0?6:"webgl"===e.t0||"webgl1"===e.t0||"webgl2"===e.t0?12:"best-available"===e.t0?18:29;break;case 6:if(!(r=h.get("webgpu"))){e.next=11;break}return e.next=10,r.create(t);case 10:return e.abrupt("return",e.sent);case 11:return e.abrupt("break",29);case 12:if(!(r=h.get("webgl"))){e.next=17;break}return e.next=16,r.create(t);case 16:return e.abrupt("return",e.sent);case 17:return e.abrupt("break",29);case 18:if(!(r=h.get("webgpu"))||!r.isSupported()){e.next=23;break}return e.next=22,r.create(t);case 22:return e.abrupt("return",e.sent);case 23:if(!(r=h.get("webgl"))||!r.isSupported()){e.next=28;break}return e.next=27,r.create(t);case 27:return e.abrupt("return",e.sent);case 28:return e.abrupt("break",29);case 29:throw new Error("No matching device found. Ensure `@luma.gl/webgl` and/or `@luma.gl/webgpu` modules are imported.");case 30:case"end":return e.stop()}}),e)})),u=function(){var e=this,t=arguments;return new Promise((function(r,n){var o=i.apply(e,t);function a(e){s(o,r,n,a,u,"next",e)}function u(e){s(o,r,n,a,u,"throw",e)}a(void 0)}))},function(){return u.apply(this,arguments)})}],r&&E(t.prototype,r),o&&E(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=b,p(b,"stats",o.lumaStats),p(b,"log",i.log)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(8),o=r(6);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_(n.key),n)}}function d(e,t,r){return(t=_(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}var E=(0,n.isBrowser)()&&"undefined"!=typeof document,p=function(){return E&&"complete"===document.readyState},y={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},h=function(){function e(t){var r=this;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),d(this,"device",void 0),d(this,"id",void 0),d(this,"props",void 0),d(this,"canvas",void 0),d(this,"htmlCanvas",void 0),d(this,"offscreenCanvas",void 0),d(this,"type",void 0),d(this,"width",1),d(this,"height",1),d(this,"resizeObserver",void 0),d(this,"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),this.props=f(f({},y),t),t=this.props,!(0,n.isBrowser)())return this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,void(this.canvas=null);if(t.canvas)"string"==typeof t.canvas?this.canvas=function(e){var t=document.getElementById(e);if(!t&&!p())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("'".concat(t,"' is not a canvas element"));return t}(t.canvas):this.canvas=t.canvas;else{var o,i,a=function(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}(t),l=function(e){if("string"==typeof e){var t=document.getElementById(e);if(!t&&!p())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}if(e)return e;return document.body}((null===(o=t)||void 0===o?void 0:o.container)||null);l.insertBefore(a,l.firstChild),this.canvas=a,null!==(i=t)&&void 0!==i&&i.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&t.autoResize&&(this.resizeObserver=new ResizeObserver((function(e){var t,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=u(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw i}}}}(e);try{for(n.s();!(t=n.n()).done;){t.value.target===r.canvas&&r.update()}}catch(e){n.e(e)}finally{n.f()}})),this.resizeObserver.observe(this.canvas))}var t,r,i;return t=e,i=[{key:"isPageLoaded",get:function(){return p()}}],(r=[{key:"getDevicePixelRatio",value:function(e){return"undefined"!=typeof OffscreenCanvas&&this.canvas instanceof OffscreenCanvas?1:"number"==typeof e?e>0?e:1:"number"==typeof this.props.useDevicePixels?this.props.useDevicePixels>0?this.props.useDevicePixels:1:(e||this.props.useDevicePixels)&&"undefined"!=typeof window&&window.devicePixelRatio||1}},{key:"getPixelSize",value:function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var e=this.getDevicePixelRatio(),t=this.canvas;return t.parentElement?[t.clientWidth*e,t.clientHeight*e]:[this.canvas.width,this.canvas.height]}}},{key:"getAspect",value:function(){var e=a(this.getPixelSize(),2);return e[0]/e[1]}},{key:"cssToDeviceRatio",value:function(){try{var e=a(this.getDrawingBufferSize(),1)[0],t=this._canvasSizeInfo.clientWidth;return t?e/t:1}catch(e){return 1}}},{key:"cssToDevicePixels",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this.cssToDeviceRatio(),n=this.getDrawingBufferSize(),o=a(n,2),i=o[0],u=o[1];return b(e,r,i,u,t)}},{key:"setDevicePixelRatio",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.htmlCanvas){var r="width"in t?t.width:this.htmlCanvas.clientWidth,n="height"in t?t.height:this.htmlCanvas.clientHeight;r&&n||(o.log.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,r=this.htmlCanvas.width||1,n=this.htmlCanvas.height||1);var i=this._canvasSizeInfo;if(i.clientWidth!==r||i.clientHeight!==n||i.devicePixelRatio!==e){var u=e,l=Math.floor(r*u),c=Math.floor(n*u);this.htmlCanvas.width=l,this.htmlCanvas.height=c;var f=this.getDrawingBufferSize(),s=a(f,2),d=s[0],_=s[1];d===l&&_===c||(u=Math.min(d/r,_/n),this.htmlCanvas.width=Math.floor(r*u),this.htmlCanvas.height=Math.floor(n*u),o.log.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=r,this._canvasSizeInfo.clientHeight=n,this._canvasSizeInfo.devicePixelRatio=e}}}},{key:"getDrawingBufferSize",value:function(){var e=this.device.gl;if(!e)throw new Error("canvas size");return[e.drawingBufferWidth,e.drawingBufferHeight]}},{key:"_setAutoCreatedCanvasId",value:function(e){var t;"lumagl-auto-created-canvas"===(null===(t=this.htmlCanvas)||void 0===t?void 0:t.id)&&(this.htmlCanvas.id=e)}}])&&s(t.prototype,r),i&&s(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();function b(e,t,r,n,o){var i,a=e,u=v(a[0],t,r),l=R(a[1],t,n,o),c=v(a[0]+1,t,r),f=c===r-1?c:c-1;return c=R(a[1]+1,t,n,o),o?(i=l,l=c=0===c?c:c+1):i=c===n-1?c:c-1,{x:u,y:l,width:Math.max(f-u+1,1),height:Math.max(i-l+1,1)}}function v(e,t,r){return Math.min(Math.round(e*t),r-1)}function R(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}t.default=h,d(h,"pageLoaded",function(){if(p()||"undefined"==typeof window)return Promise.resolve();return new Promise((function(e){window.addEventListener("load",(function(){return e()}))}))}())},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=o?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d(e);if(t){var o=d(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return s(e)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var h=E(E({},o.DEFAULT_RESOURCE_PROPS),{},{data:null,dimension:"2d",format:"rgba8unorm",depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,parameters:{},pixelStore:{},pixels:null,border:0,recreate:!1});n=Symbol.toStringTag;var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(a,e);var t,r,o,i=c(a);function a(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),p(s(r=i.call(this,e,t,h)),"sampler",void 0),r}return t=a,(r=[{key:n,get:function(){return"Texture"}}])&&u(t.prototype,r),o&&u(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.default);t.default=b,p(b,"COPY_SRC",1),p(b,"COPY_DST",2),p(b,"TEXTURE_BINDING",4),p(b,"STORAGE_BINDING",8),p(b,"RENDER_ATTACHMENT",16)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=f(e);if(t){var o=f(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return c(this,r)}}function c(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){_(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}var p=d(d({},n.DEFAULT_RESOURCE_PROPS),{},{source:null,colorSpace:"srgb"}),y=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(c,e);var r,n,o,i=l(c);function c(e,t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),i.call(this,e,t,p)}return r=c,(n=[{key:t,get:function(){return"ExternalTexture"}}])&&a(r.prototype,n),o&&a(r,o),Object.defineProperty(r,"prototype",{writable:!1}),c}(n.default,Symbol.toStringTag);t.default=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=o?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d(e);if(t){var o=d(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return s(e)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var h=E(E({},o.DEFAULT_RESOURCE_PROPS),{},{stage:"vertex",source:"",sourceMap:null,language:"glsl",shaderType:0});n=Symbol.toStringTag;var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(a,e);var t,r,o,i=c(a);function a(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),p(s(r=i.call(this,e,t,h)),"stage",void 0),p(s(r),"source",void 0),r.stage=r.props.stage,r.source=r.props.source,r}return t=a,(r=[{key:n,get:function(){return"Shader"}}])&&u(t.prototype,r),o&&u(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.default);t.default=b},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=f(e);if(t){var o=f(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return c(this,r)}}function c(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){_(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}var p=d(d({},n.DEFAULT_RESOURCE_PROPS),{},{type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1}),y=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(c,e);var r,n,o,i=l(c);function c(e,t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),i.call(this,e,t,p)}return r=c,(n=[{key:t,get:function(){return"Sampler"}}])&&a(r.prototype,n),o&&a(r,o),Object.defineProperty(r,"prototype",{writable:!1}),c}(n.default,Symbol.toStringTag);t.default=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=o?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,h(n.key),n)}}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=_(e);if(t){var o=_(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return s(this,r)}}function s(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return d(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _(e){return(_=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return(t=h(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var b=p(p({},o.DEFAULT_RESOURCE_PROPS),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});n=Symbol.toStringTag;var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(a,e);var t,r,o,i=f(a);function a(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return u(this,a),y(d(t=i.call(this,e,r,b)),"width",void 0),y(d(t),"height",void 0),y(d(t),"colorAttachments",void 0),y(d(t),"depthStencilAttachment",void 0),t.width=t.props.width,t.height=t.props.height,t}return t=a,(r=[{key:n,get:function(){return"Framebuffer"}},{key:"resize",value:function(e){var t=!e||e.height!==this.height||e.width!==this.width;e&&(this.width=null==e?void 0:e.width,this.height=null==e?void 0:e.height),t&&this._resizeAttachments(this.width,this.height)}}])&&l(t.prototype,r),o&&l(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.default);t.default=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.DEFAULT_RENDER_PIPELINE_PROPS=void 0;var n,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=o?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d(e);if(t){var o=d(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return s(e)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var h=E(E({},o.DEFAULT_RESOURCE_PROPS),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},layout:null,topology:"triangle-list",parameters:{},bufferMap:[],vertexCount:0,instanceCount:0,indices:null,attributes:{},bindings:{},uniforms:{}});t.DEFAULT_RENDER_PIPELINE_PROPS=h,n=Symbol.toStringTag;var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(a,e);var t,r,o,i=c(a);function a(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),p(s(r=i.call(this,e,t,h)),"hash",""),p(s(r),"vs",void 0),p(s(r),"fs",void 0),r}return t=a,(r=[{key:n,get:function(){return"RenderPipeline"}}])&&u(t.prototype,r),o&&u(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.default);t.default=b,p(b,"_DEFAULT_PROPS",h)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=o?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d(e);if(t){var o=d(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return s(e)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var h=E(E({},o.DEFAULT_RESOURCE_PROPS),{},{csConstants:{},layout:[]});n=Symbol.toStringTag;var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(a,e);var t,r,o,i=c(a);function a(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),p(s(r=i.call(this,e,t,h)),"hash",""),r}return t=a,(r=[{key:n,get:function(){return"ComputePipeline"}}])&&u(t.prototype,r),o&&u(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.default);t.default=b},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o;function i(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(i=o.key,a=void 0,a=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(i,"string"),"symbol"===n(a)?a:String(a)),o)}var i,a}function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function u(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=c(e);if(t){var o=c(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return l(this,r)}}function l(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}(c,e);var r,n,o,l=u(c);function c(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),l.call(this,e,DEFAULT_COMMAND_ENCODER_PROPS)}return r=c,(n=[{key:t,get:function(){return"CommandEncoder"}},{key:"pushDebugGroup",value:function(e){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(e){}}])&&i(r.prototype,n),o&&i(r,o),Object.defineProperty(r,"prototype",{writable:!1}),c}(((o=r(4))&&o.__esModule?o:{default:o}).default,Symbol.toStringTag);t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}n.default=e,r&&r.set(e,n);return n}(r(4));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=f(e);if(t){var o=f(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return c(this,r)}}function c(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){_(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}var p=d(d({},n.DEFAULT_RESOURCE_PROPS),{},{framebuffer:null,parameters:null}),y=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(c,e);var r,n,o,i=l(c);function c(e,t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),i.call(this,e,t,p)}return r=c,(n=[{key:t,get:function(){return"RenderPass"}}])&&a(r.prototype,n),o&&a(r,o),Object.defineProperty(r,"prototype",{writable:!1}),c}(n.default,Symbol.toStringTag);t.default=y},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(o,u,l):o[u]=e[u]}o.default=e,r&&r.set(e,o);return o}(r(4));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function a(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(i=o.key,a=void 0,a=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(i,"string"),"symbol"===n(a)?a:String(a)),o)}var i,a}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=f(e);if(t){var o=f(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return c(this,r)}}function c(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var s=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(f,e);var r,n,i,c=l(f);function f(e,t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),c.call(this,e,t,o.DEFAULT_RESOURCE_PROPS)}return r=f,(n=[{key:t,get:function(){return"ComputePass"}}])&&a(r.prototype,n),i&&a(r,i),Object.defineProperty(r,"prototype",{writable:!1}),f}(o.default,Symbol.toStringTag);t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(64);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function l(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e){var t=function(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===o(t)?t:String(t)}var f=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),l(this,"layout",{}),l(this,"size",0);for(var r=0,o=Object.entries(t);r<o.length;r++){var a=i(o[r],2),u=a[0],c=a[1],f=(0,n.decodeUniformFormat)(c),s=f.type,d=f.components;this.size=(0,n.alignTo)(this.size,d);var _=this.size;this.size+=d,this.layout[u]={type:s,size:d,offset:_}}this.size+=(4-this.size%4)%4}var t,r,o;return t=e,(r=[{key:"byteLength",get:function(){return 4*this.size}},{key:"has",value:function(e){return Boolean(this.layout[e])}},{key:"get",value:function(e){return this.layout[e]}}])&&u(t.prototype,r),o&&u(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.alignTo=function(e,t){switch(t){case 1:return e;case 2:return e+e%2;default:return e+(4-e%4)%4}},t.decodeUniformFormat=function(e){var t=o[e];return(0,n.assert)(e),t};var n=r(20),o={f32:{type:"float32",components:1},i32:{type:"sint32",components:1},u32:{type:"uint32",components:1},"vec2<f32>":{type:"float32",components:2},"vec3<f32>":{type:"float32",components:3},"vec4<f32>":{type:"float32",components:4},"vec2<i32>":{type:"sint32",components:2},"vec3<i32>":{type:"sint32",components:3},"vec4<i32>":{type:"sint32",components:4},"vec2<u32>":{type:"uint32",components:2},"vec3<u32>":{type:"uint32",components:3},"vec4<u32>":{type:"uint32",components:4},"mat2x2<f32>":{type:"float32",components:4},"mat2x3<f32>":{type:"float32",components:6},"mat2x4<f32>":{type:"float32",components:8},"mat3x2<f32>":{type:"float32",components:6},"mat3x3<f32>":{type:"float32",components:9},"mat3x4<f32>":{type:"float32",components:12},"mat4x2<f32>":{type:"float32",components:8},"mat4x3<f32>":{type:"float32",components:12},"mat4x4<f32>":{type:"float32",components:16}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(20),o=r(6);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,s(n.key),n)}}function f(e,t,r){return(t=s(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}var d=function(){function e(t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),f(this,"layout",{}),f(this,"uniforms",{}),f(this,"size",void 0),f(this,"data",void 0),f(this,"typedArray",void 0);var n=t.bindings.find((function(e){return"uniform"===e.type&&e.name===r}));if(!n)throw new Error(r);var o,i=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=u(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw i}}}}(n.uniforms||[]);try{for(i.s();!(o=i.n()).done;){var a=o.value;this.layout[a.name]=a}}catch(e){i.e(e)}finally{i.f()}this.size=256,this.data=new ArrayBuffer(4*this.size),this.typedArray={float32:new Float32Array(this.data),sint32:new Int32Array(this.data),uint32:new Uint32Array(this.data)}}var t,r,i;return t=e,(r=[{key:"setUniforms",value:function(e){for(var t=0,r=Object.entries(e);t<r.length;t++){var n=a(r[t],2),i=n[0],u=n[1];void 0!==this.layout[i]?this._setValue(i,u):o.log.warn("Unknown uniform ".concat(i))}}},{key:"getData",value:function(){return this.data}},{key:"_setValue",value:function(e,t){var r=this.layout.layout[e];(0,n.assert)(r,"UniformLayoutStd140 illegal argument");var o=this.typedArray[r.type];1===r.size?o[r.offset]=t:o.set(t,r.offset)}}])&&c(t.prototype,r),i&&c(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeVertexFormat=function(e){var t=(c=e.split("x"),f=2,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(c,f)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}(c,f)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=t[0],i=t[1],a=r,u=i?parseInt(i):1,l=(0,n.decodeVertexType)(a);var c,f;return{type:a,components:u,byteLength:l.byteLength*u,integer:l.integer,signed:l.signed,normalized:l.normalized}};var n=r(30);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.decodeTextureFormat=function(e){var t=e.match(l);if(t){var r=(y=6,function(e){if(Array.isArray(e))return e}(p=t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(p,y)||function(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(p,y)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=r[1],c=r[2],f=r[3],s=r[4],d=r[5];if(n){var _="".concat(f).concat(c),E=(0,o.decodeVertexType)(_);return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({format:n,components:0,srgb:"-srgb"===s,unsized:"-unsized"===d,webgl:"-webgl"===d},E)}}var p,y;throw new Error("Unknown format ".concat(e))};var o=r(30);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var l=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cast=function(e){return e}},function(e,t,r){"use strict";function n(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxElts,n=void 0===r?16:r,i=t.size,a=void 0===i?1:i,u="[",l=0;l<e.length&&l<n;++l)l>0&&(u+=",".concat(l%a==0?" ":"")),u+=o(e[l],t);var c=e.length>n?"...":"]";return"".concat(u).concat(c)}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=1e-16,o=t.isInteger,i=void 0!==o&&o;if(Array.isArray(e)||ArrayBuffer.isView(e))return n(e,t);if("number"!=typeof e)return String(e);if(Math.abs(e)<r)return i?"0":"0.";if(i)return e.toFixed(0);if(Math.abs(e)>100&&Math.abs(e)<1e4)return e.toFixed(0);var a=e.toPrecision(2),u=a.indexOf(".0");return u===a.length-2?a.slice(0,-1):a}Object.defineProperty(t,"__esModule",{value:!0}),t.formatValue=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stubRemovedMethods=function(e,t,r,o){var i="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),a=Object.getPrototypeOf(e);o.forEach((function(e){a.methodName||(a[e]=function(){throw n.log.removed("Calling removed method ".concat(t,".").concat(e,": "),i)(),new Error(e)})}))};var n=r(6)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkProps=function(e,t,r){var i=r.removedProps,a=void 0===i?{}:i,u=r.deprecatedProps,l=void 0===u?{}:u,c=r.replacedProps,f=void 0===c?{}:c;for(var s in a)if(s in t){var d=a[s]?"".concat(e,".").concat(a[s]):"N/A";n.log.removed("".concat(e,".").concat(s),d)()}for(var _ in l)if(_ in t){var E=l[_];n.log.deprecated("".concat(e,".").concat(_),"".concat(e,".").concat(E))()}for(var p=null,y=0,h=Object.entries(f);y<h.length;y++){var b=(T=h[y],A=2,function(e){if(Array.isArray(e))return e}(T)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(T,A)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(e,t)}(T,A)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),v=b[0],R=b[1];v in t&&(n.log.deprecated("".concat(e,".").concat(v),"".concat(e,".").concat(R))(),(p=p||Object.assign({},t))[R]=t[v],delete p[v])}var T,A;return p||t};var n=r(6);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */o=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,i=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof E?t:E,a=Object.create(o.prototype),u=new P(n||[]);return i(a,"_invoke",{value:g(e,r,u)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var _={};function E(){}function p(){}function y(){}var h={};f(h,u,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(N([])));v&&v!==t&&r.call(v,u)&&(h=v);var R=y.prototype=E.prototype=Object.create(h);function T(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var o;i(this,"_invoke",{value:function(i,a){function u(){return new t((function(o,u){!function o(i,a,u,l){var c=d(e[i],e,a);if("throw"!==c.type){var f=c.arg,s=f.value;return s&&"object"==n(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){o("next",e,u,l)}),(function(e){o("throw",e,u,l)})):t.resolve(s).then((function(e){f.value=e,u(f)}),(function(e){return o("throw",e,u,l)}))}l(c.arg)}(i,a,o,u)}))}return o=o?o.then(u,u):u()}})}function g(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=m(a,r);if(u){if(u===_)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=d(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function m(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,m(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),_;var o=d(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,_;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var t=e[u];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return p.prototype=y,i(R,"constructor",{value:y,configurable:!0}),i(y,"constructor",{value:p,configurable:!0}),p.displayName=f(y,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,f(e,c,"GeneratorFunction")),e.prototype=Object.create(R),e},e.awrap=function(e){return{__await:e}},T(A.prototype),f(A.prototype,l,(function(){return this})),e.AsyncIterator=A,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new A(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},T(R),f(R,c,"Generator"),f(R,u,(function(){return this})),f(R,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),_}},e}function i(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function a(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function u(e){i(a,n,o,u,l,"next",e)}function l(e){i(a,n,o,u,l,"throw",e)}u(void 0)}))}}Object.defineProperty(t,"__esModule",{value:!0}),t.loadFile=function(e,t){return l.apply(this,arguments)},t.loadImage=function(e,t){return f.apply(this,arguments)},t.loadImageBitmap=function(e,t){return c.apply(this,arguments)},t.loadScript=function(e,t){return s.apply(this,arguments)},t.setPathPrefix=function(e){u=e};var u="";function l(){return(l=a(o().mark((function e(t,r){var n,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=t.startsWith("http")?t:u+t,n=(null==r?void 0:r.dataType)||"text",e.next=4,fetch(t,r);case 4:return i=e.sent,e.next=7,i[n]();case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function c(){return(c=a(o().mark((function e(t,r){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(n=new Image).crossOrigin=(null==r?void 0:r.crossOrigin)||"anonymous",n.src=t.startsWith("http")?t:u+t,e.next=5,n.decode();case 5:return e.next=7,createImageBitmap(n);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(){return(f=a(o().mark((function e(t,r){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){try{var o=new Image;o.onload=function(){return e(o)},o.onerror=function(){return n(new Error("Could not load image ".concat(t,".")))},o.crossOrigin=(null==r?void 0:r.crossOrigin)||"anonymous",o.src=t.startsWith("http")?t:u+t}catch(e){n(e)}})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=a(o().mark((function e(t,r){var n,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=document.getElementsByTagName("head")[0]){e.next=3;break}throw new Error("loadScript");case 3:return(i=document.createElement("script")).setAttribute("type","text/javascript"),i.setAttribute("src",t),r&&(i.id=r),e.abrupt("return",new Promise((function(e,r){i.onload=e,i.onerror=function(e){return r(new Error("Unable to load script '".concat(t,"': ").concat(e)))},n.appendChild(i)})));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,r){"use strict";var n;function o(e){return(!n||n.byteLength<e)&&(n=new ArrayBuffer(e)),n}Object.defineProperty(t,"__esModule",{value:!0}),t.fillArray=function(e){for(var t=e.target,r=e.source,n=e.start,o=void 0===n?0:n,i=e.count,a=void 0===i?1:i,u=r.length,l=a*u,c=0,f=o;c<u;c++)t[f++]=r[c];for(;c<l;)c<l-c?(t.copyWithin(o+c,o,o+c),c*=2):(t.copyWithin(o+c,o,o+l-c),c=l);return e.target},t.getScratchArray=function(e,t){var r=o(e.BYTES_PER_ELEMENT*t);return new e(r,0,t)},t.getScratchArrayBuffer=o},function(e,t,r){"use strict";function n(){var e=1,t=1;return function(){return e=Math.sin(17.23*t),t=Math.cos(27.92*e),(r=1432.71*Math.abs(e*t))-Math.floor(r);var r}}Object.defineProperty(t,"__esModule",{value:!0}),t.getRandom=n,t.random=void 0;var o=n();t.random=o},function(e,t,r){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function o(e,t,r,n){if(null!=n&&n.showSourceCode){var o=e.linePos>0?"".concat(" ".repeat(e.linePos+5),"^^^\n"):"",a=function(e,t){for(var r="",n=t-2;n<=t;n++){var o=e[n];void 0!==o&&(r+="".concat(i(String(n),4),": ").concat(o,"\n"))}return r}(t,r);return"".concat(a).concat(o).concat(e.type.toUpperCase(),": ").concat(e.message,"\n\n")}return"".concat(e.type.toUpperCase(),": ").concat(e.message,"\n")}function i(e,t){for(var r="",n=e.length;n<t;++n)r+=" ";return r+e}Object.defineProperty(t,"__esModule",{value:!0}),t.formatCompilerLog=function(e,t,r){var i,a=t.split(/\r?\n/),u="",l=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){l=!0,a=e},f:function(){try{u||null==r.return||r.return()}finally{if(l)throw a}}}}(e);try{for(l.s();!(i=l.n()).done;){var c=i.value;u+=o(c,a,c.lineNum,r)}}catch(e){l.e(e)}finally{l.f()}return u}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cancelAnimationFrame=function(e){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)},t.requestAnimationFrame=function(e){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}},function(e,t,r){"use strict";var n,o=r(1),i=(n=r(7))&&n.__esModule?n:{default:n};o.luma.registerDevices([i.default])},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.polyfillVertexArrayObject=function(e){if("function"==typeof e.createVertexArray)return;var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var e=t.call(this)||[];return e.indexOf("OES_vertex_array_object")<0&&e.push("OES_vertex_array_object"),e};var r=e.getExtension;e.getExtension=function(t){var n=r.call(this,t);return n||("OES_vertex_array_object"!==t?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new a(this)),this.__OESVertexArrayObject))}};var n={};function o(e,t){var r;n[e]=!0,void 0!==t&&(r=t,globalThis.console&&globalThis.console.error&&globalThis.console.error(r))}var i=function e(t){var r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var o=new e.VertexAttrib(r);this.attribs[n]=o}this.maxAttrib=0};(i.VertexAttrib=function(e){this.enabled=!1,this.buffer=null,this.size=4,this.type=e.FLOAT,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()}).prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var a=function(e){var t=this;this.gl=e,function(e){var t=e.getError;e.getError=function(){var r;do{(r=t.apply(e))!==e.NO_ERROR&&(n[r]=!0)}while(r!==e.NO_ERROR);for(r in n)if(n[r])return delete n[r],parseInt(r,10);return e.NO_ERROR}}(e);var r=this.original={getParameter:e.getParameter,enableVertexAttribArray:e.enableVertexAttribArray,disableVertexAttribArray:e.disableVertexAttribArray,bindBuffer:e.bindBuffer,getVertexAttrib:e.getVertexAttrib,vertexAttribPointer:e.vertexAttribPointer};e.getParameter=function(e){return e===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:r.getParameter.apply(this,arguments)},e.enableVertexAttribArray=function(e){var n=t.currentVertexArrayObject;n.maxAttrib=Math.max(n.maxAttrib,e);var o=n.attribs[e];return o.enabled=!0,r.enableVertexAttribArray.apply(this,arguments)},e.disableVertexAttribArray=function(e){var n=t.currentVertexArrayObject;n.maxAttrib=Math.max(n.maxAttrib,e);var o=n.attribs[e];return o.enabled=!1,r.disableVertexAttribArray.apply(this,arguments)},e.bindBuffer=function(n,o){switch(n){case e.ARRAY_BUFFER:t.currentArrayBuffer=o;break;case e.ELEMENT_ARRAY_BUFFER:t.currentVertexArrayObject.elementArrayBuffer=o}return r.bindBuffer.apply(this,arguments)},e.getVertexAttrib=function(n,o){var i=t.currentVertexArrayObject,a=i.attribs[n];switch(o){case e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return a.buffer;case e.VERTEX_ATTRIB_ARRAY_ENABLED:return a.enabled;case e.VERTEX_ATTRIB_ARRAY_SIZE:return a.size;case e.VERTEX_ATTRIB_ARRAY_STRIDE:return a.stride;case e.VERTEX_ATTRIB_ARRAY_TYPE:return a.type;case e.VERTEX_ATTRIB_ARRAY_NORMALIZED:return a.normalized;default:return r.getVertexAttrib.apply(this,arguments)}},e.vertexAttribPointer=function(e,n,o,i,a,u){var l=t.currentVertexArrayObject;l.maxAttrib=Math.max(l.maxAttrib,e);var c=l.attribs[e];return c.buffer=t.currentArrayBuffer,c.size=n,c.type=o,c.normalized=i,c.stride=a,c.offset=u,c.recache(),r.vertexAttribPointer.apply(this,arguments)},e.instrumentExtension&&e.instrumentExtension(this,"OES_vertex_array_object"),e.canvas&&e.canvas.addEventListener("webglcontextrestored",(function(){var e;e="OESVertexArrayObject emulation library context restored",globalThis.console&&globalThis.console.log&&globalThis.console.log(e),t.reset_()}),!0),this.reset_()};a.prototype.VERTEX_ARRAY_BINDING_OES=34229,a.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(var e=0;e<this.vertexArrayObjects.length;++e)this.vertexArrayObjects.isAlive=!1;var t=this.gl;this.maxVertexAttribs=t.getParameter(t.MAX_VERTEX_ATTRIBS),this.defaultVertexArrayObject=new i(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)},a.prototype.createVertexArrayOES=function(){var e=new i(this);return this.vertexArrayObjects.push(e),e},a.prototype.deleteVertexArrayOES=function(e){e.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(e),1),this.currentVertexArrayObject===e&&this.bindVertexArrayOES(null)},a.prototype.isVertexArrayOES=function(e){return!!(e&&e instanceof i&&e.hasBeenBound&&e.ext===this)},a.prototype.bindVertexArrayOES=function(e){var t=this.gl;if(!e||e.isAlive){var r=this.original,n=this.currentVertexArrayObject;this.currentVertexArrayObject=e||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var i=this.currentVertexArrayObject;if(n!==i){n&&i.elementArrayBuffer===n.elementArrayBuffer||r.bindBuffer.call(t,t.ELEMENT_ARRAY_BUFFER,i.elementArrayBuffer);for(var a=this.currentArrayBuffer,u=Math.max(n?n.maxAttrib:0,i.maxAttrib),l=0;l<=u;l++){var c=i.attribs[l],f=n?n.attribs[l]:null;if(n&&c.enabled===f.enabled||(c.enabled?r.enableVertexAttribArray.call(t,l):r.disableVertexAttribArray.call(t,l)),c.enabled){var s=!1;n&&c.buffer===f.buffer||(a!==c.buffer&&(r.bindBuffer.call(t,t.ARRAY_BUFFER,c.buffer),a=c.buffer),s=!0),(s||c.cached!==f.cached)&&r.vertexAttribPointer.call(t,l,c.size,c.type,c.normalized,c.stride,c.offset)}}this.currentArrayBuffer!==a&&r.bindBuffer.call(t,t.ARRAY_BUFFER,this.currentArrayBuffer)}}else o(t.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WEBGL2_CONTEXT_POLYFILLS=t.WEBGL2_CONTEXT_OVERRIDES=void 0;var n,o,i=r(1),a=(n=r(2))&&n.__esModule?n:{default:n},u=r(5),l=r(81),c=r(32);function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===f(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d=(s(o={},"OES_vertex_array_object",{meta:{suffix:"OES"},createVertexArray:function(){(0,i.assert)(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),s(o,"ANGLE_instanced_arrays",{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(e,t){(0,i.assert)(0===t,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),s(o,"WEBGL_draw_buffers",{meta:{suffix:"WEBGL"},drawBuffers:function(){(0,i.assert)(!1)}}),s(o,"EXT_disjoint_timer_query",{meta:{suffix:"EXT"},createQuery:function(){(0,i.assert)(!1)},deleteQuery:function(){(0,i.assert)(!1)},beginQuery:function(){(0,i.assert)(!1)},endQuery:function(){},getQuery:function(e,t){return this.getQueryObject(e,t)},getQueryParameter:function(e,t){return this.getQueryObject(e,t)},getQueryObject:function(e,t){}}),o);t.WEBGL2_CONTEXT_POLYFILLS=d;var _={readBuffer:function(e,t,r){(0,u.isWebGL2)(e)&&t(r)},getVertexAttrib:function(e,t,r,n){var o,i=function(e,t){return{webgl2:(0,u.isWebGL2)(e),ext:e.getExtension(t)}}(e,"ANGLE_instanced_arrays"),l=i.webgl2,c=i.ext;switch(n){case a.default.VERTEX_ATTRIB_ARRAY_INTEGER:o=!!l&&void 0;break;case a.default.VERTEX_ATTRIB_ARRAY_DIVISOR:o=l||c?void 0:0}return void 0!==o?o:t(r,n)},getProgramParameter:function(e,t,r,n){if(!(0,u.isWebGL2)(e))switch(n){case a.default.TRANSFORM_FEEDBACK_BUFFER_MODE:return a.default.SEPARATE_ATTRIBS;case a.default.TRANSFORM_FEEDBACK_VARYINGS:case a.default.ACTIVE_UNIFORM_BLOCKS:return 0}return t(r,n)},getInternalformatParameter:function(e,t,r,n,o){if(!(0,u.isWebGL2)(e))switch(o){case a.default.SAMPLES:return new Int32Array([0])}return e.getInternalformatParameter(r,n,o)},getTexParameter:function(e,t,r,n){switch(n){case a.default.TEXTURE_MAX_ANISOTROPY_EXT:var o=(0,c.getContextData)(e)._extensions.EXT_texture_filter_anisotropic;n=o&&o.TEXTURE_MAX_ANISOTROPY_EXT||a.default.TEXTURE_MAX_ANISOTROPY_EXT}return t(r,n)},getParameter:l.getParameterPolyfill,hint:function(e,t,r,n){return t(r,n)}};t.WEBGL2_CONTEXT_OVERRIDES=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GL=void 0;var n=function(e){return e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.ALWAYS=519]="ALWAYS",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.GEQUAL=518]="GEQUAL",e[e.NOTEQUAL=517]="NOTEQUAL",e[e.KEEP=7680]="KEEP",e[e.REPLACE=7681]="REPLACE",e[e.INCR=7682]="INCR",e[e.DECR=7683]="DECR",e[e.INVERT=5386]="INVERT",e[e.INCR_WRAP=34055]="INCR_WRAP",e[e.DECR_WRAP=34056]="DECR_WRAP",e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9729]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",e[e.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",e[e.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE=5890]="TEXTURE",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e[e.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",e[e.TEXTURE0=33984]="TEXTURE0",e[e.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",e[e.REPEAT=10497]="REPEAT",e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",e[e.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D",e[e.SAMPLER_CUBE=35680]="SAMPLER_CUBE",e[e.LOW_FLOAT=36336]="LOW_FLOAT",e[e.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",e[e.HIGH_FLOAT=36338]="HIGH_FLOAT",e[e.LOW_INT=36339]="LOW_INT",e[e.MEDIUM_INT=36340]="MEDIUM_INT",e[e.HIGH_INT=36341]="HIGH_INT",e[e.FRAMEBUFFER=36160]="FRAMEBUFFER",e[e.RENDERBUFFER=36161]="RENDERBUFFER",e[e.RGBA4=32854]="RGBA4",e[e.RGB5_A1=32855]="RGB5_A1",e[e.RGB565=36194]="RGB565",e[e.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",e[e.STENCIL_INDEX=6401]="STENCIL_INDEX",e[e.STENCIL_INDEX8=36168]="STENCIL_INDEX8",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e[e.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",e[e.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",e[e.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",e[e.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",e[e.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",e[e.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",e[e.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",e[e.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",e[e.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",e[e.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",e[e.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",e[e.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",e[e.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",e[e.NONE=0]="NONE",e[e.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",e[e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",e[e.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",e[e.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",e[e.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",e[e.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",e[e.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",e[e.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e[e.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",e[e.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",e[e.READ_BUFFER=3074]="READ_BUFFER",e[e.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",e[e.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",e[e.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",e[e.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",e[e.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",e[e.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",e[e.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",e[e.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",e[e.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",e[e.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",e[e.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",e[e.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",e[e.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",e[e.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",e[e.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",e[e.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",e[e.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",e[e.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",e[e.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",e[e.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",e[e.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",e[e.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",e[e.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",e[e.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",e[e.RED=6403]="RED",e[e.RGB8=32849]="RGB8",e[e.RGBA8=32856]="RGBA8",e[e.RGB10_A2=32857]="RGB10_A2",e[e.TEXTURE_3D=32879]="TEXTURE_3D",e[e.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",e[e.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",e[e.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",e[e.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",e[e.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",e[e.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",e[e.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",e[e.SRGB=35904]="SRGB",e[e.SRGB8=35905]="SRGB8",e[e.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",e[e.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",e[e.RGBA32F=34836]="RGBA32F",e[e.RGB32F=34837]="RGB32F",e[e.RGBA16F=34842]="RGBA16F",e[e.RGB16F=34843]="RGB16F",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",e[e.R11F_G11F_B10F=35898]="R11F_G11F_B10F",e[e.RGB9_E5=35901]="RGB9_E5",e[e.RGBA32UI=36208]="RGBA32UI",e[e.RGB32UI=36209]="RGB32UI",e[e.RGBA16UI=36214]="RGBA16UI",e[e.RGB16UI=36215]="RGB16UI",e[e.RGBA8UI=36220]="RGBA8UI",e[e.RGB8UI=36221]="RGB8UI",e[e.RGBA32I=36226]="RGBA32I",e[e.RGB32I=36227]="RGB32I",e[e.RGBA16I=36232]="RGBA16I",e[e.RGB16I=36233]="RGB16I",e[e.RGBA8I=36238]="RGBA8I",e[e.RGB8I=36239]="RGB8I",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.R8=33321]="R8",e[e.RG8=33323]="RG8",e[e.R16F=33325]="R16F",e[e.R32F=33326]="R32F",e[e.RG16F=33327]="RG16F",e[e.RG32F=33328]="RG32F",e[e.R8I=33329]="R8I",e[e.R8UI=33330]="R8UI",e[e.R16I=33331]="R16I",e[e.R16UI=33332]="R16UI",e[e.R32I=33333]="R32I",e[e.R32UI=33334]="R32UI",e[e.RG8I=33335]="RG8I",e[e.RG8UI=33336]="RG8UI",e[e.RG16I=33337]="RG16I",e[e.RG16UI=33338]="RG16UI",e[e.RG32I=33339]="RG32I",e[e.RG32UI=33340]="RG32UI",e[e.R8_SNORM=36756]="R8_SNORM",e[e.RG8_SNORM=36757]="RG8_SNORM",e[e.RGB8_SNORM=36758]="RGB8_SNORM",e[e.RGBA8_SNORM=36759]="RGBA8_SNORM",e[e.RGB10_A2UI=36975]="RGB10_A2UI",e[e.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",e[e.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.HALF_FLOAT=5131]="HALF_FLOAT",e[e.RG=33319]="RG",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",e[e.CURRENT_QUERY=34917]="CURRENT_QUERY",e[e.QUERY_RESULT=34918]="QUERY_RESULT",e[e.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",e[e.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",e[e.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",e[e.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",e[e.DRAW_BUFFER0=34853]="DRAW_BUFFER0",e[e.DRAW_BUFFER1=34854]="DRAW_BUFFER1",e[e.DRAW_BUFFER2=34855]="DRAW_BUFFER2",e[e.DRAW_BUFFER3=34856]="DRAW_BUFFER3",e[e.DRAW_BUFFER4=34857]="DRAW_BUFFER4",e[e.DRAW_BUFFER5=34858]="DRAW_BUFFER5",e[e.DRAW_BUFFER6=34859]="DRAW_BUFFER6",e[e.DRAW_BUFFER7=34860]="DRAW_BUFFER7",e[e.DRAW_BUFFER8=34861]="DRAW_BUFFER8",e[e.DRAW_BUFFER9=34862]="DRAW_BUFFER9",e[e.DRAW_BUFFER10=34863]="DRAW_BUFFER10",e[e.DRAW_BUFFER11=34864]="DRAW_BUFFER11",e[e.DRAW_BUFFER12=34865]="DRAW_BUFFER12",e[e.DRAW_BUFFER13=34866]="DRAW_BUFFER13",e[e.DRAW_BUFFER14=34867]="DRAW_BUFFER14",e[e.DRAW_BUFFER15=34868]="DRAW_BUFFER15",e[e.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",e[e.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",e[e.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",e[e.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",e[e.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",e[e.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",e[e.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",e[e.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",e[e.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",e[e.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",e[e.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",e[e.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",e[e.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",e[e.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",e[e.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",e[e.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",e[e.SAMPLER_3D=35679]="SAMPLER_3D",e[e.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",e[e.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",e[e.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",e[e.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",e[e.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",e[e.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",e[e.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",e[e.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",e[e.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",e[e.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",e[e.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",e[e.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",e[e.MAX_SAMPLES=36183]="MAX_SAMPLES",e[e.SAMPLER_BINDING=35097]="SAMPLER_BINDING",e[e.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",e[e.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",e[e.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",e[e.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",e[e.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",e[e.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",e[e.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",e[e.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",e[e.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",e[e.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",e[e.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",e[e.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",e[e.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",e[e.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",e[e.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",e[e.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",e[e.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",e[e.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",e[e.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",e[e.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",e[e.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",e[e.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",e[e.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",e[e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",e[e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",e[e.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",e[e.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",e[e.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",e[e.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",e[e.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",e[e.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",e[e.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",e[e.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",e[e.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",e[e.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",e[e.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",e[e.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",e[e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e[e.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",e[e.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",e[e.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",e[e.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",e[e.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",e[e.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",e[e.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",e[e.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",e[e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",e[e.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",e[e.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",e[e.UNIFORM_TYPE=35383]="UNIFORM_TYPE",e[e.UNIFORM_SIZE=35384]="UNIFORM_SIZE",e[e.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",e[e.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",e[e.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",e[e.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",e[e.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",e[e.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",e[e.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",e[e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",e[e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",e[e.OBJECT_TYPE=37138]="OBJECT_TYPE",e[e.SYNC_CONDITION=37139]="SYNC_CONDITION",e[e.SYNC_STATUS=37140]="SYNC_STATUS",e[e.SYNC_FLAGS=37141]="SYNC_FLAGS",e[e.SYNC_FENCE=37142]="SYNC_FENCE",e[e.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",e[e.UNSIGNALED=37144]="UNSIGNALED",e[e.SIGNALED=37145]="SIGNALED",e[e.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",e[e.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",e[e.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",e[e.WAIT_FAILED=37149]="WAIT_FAILED",e[e.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",e[e.COLOR=6144]="COLOR",e[e.DEPTH=6145]="DEPTH",e[e.STENCIL=6146]="STENCIL",e[e.MIN=32775]="MIN",e[e.MAX=32776]="MAX",e[e.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",e[e.STREAM_READ=35041]="STREAM_READ",e[e.STREAM_COPY=35042]="STREAM_COPY",e[e.STATIC_READ=35045]="STATIC_READ",e[e.STATIC_COPY=35046]="STATIC_COPY",e[e.DYNAMIC_READ=35049]="DYNAMIC_READ",e[e.DYNAMIC_COPY=35050]="DYNAMIC_COPY",e[e.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",e[e.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",e[e.INVALID_INDEX=4294967295]="INVALID_INDEX",e[e.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",e[e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",e[e.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",e[e.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",e[e.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",e[e.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",e[e.SRGB_EXT=35904]="SRGB_EXT",e[e.SRGB_ALPHA_EXT=35906]="SRGB_ALPHA_EXT",e[e.SRGB8_ALPHA8_EXT=35907]="SRGB8_ALPHA8_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT",e[e.R16_EXT=33322]="R16_EXT",e[e.RG16_EXT=33324]="RG16_EXT",e[e.RGB16_EXT=32852]="RGB16_EXT",e[e.RGBA16_EXT=32859]="RGBA16_EXT",e[e.R16_SNORM_EXT=36760]="R16_SNORM_EXT",e[e.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",e[e.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",e[e.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",e[e.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",e[e.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",e[e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",e[e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",e[e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.UNSIGNED_INT_24_8_WEBGL=34042]="UNSIGNED_INT_24_8_WEBGL",e[e.HALF_FLOAT_OES=36193]="HALF_FLOAT_OES",e[e.RGBA32F_EXT=34836]="RGBA32F_EXT",e[e.RGB32F_EXT=34837]="RGB32F_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT",e[e.UNSIGNED_NORMALIZED_EXT=35863]="UNSIGNED_NORMALIZED_EXT",e[e.MIN_EXT=32775]="MIN_EXT",e[e.MAX_EXT=32776]="MAX_EXT",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT_OES",e[e.COLOR_ATTACHMENT0_WEBGL=36064]="COLOR_ATTACHMENT0_WEBGL",e[e.COLOR_ATTACHMENT1_WEBGL=36065]="COLOR_ATTACHMENT1_WEBGL",e[e.COLOR_ATTACHMENT2_WEBGL=36066]="COLOR_ATTACHMENT2_WEBGL",e[e.COLOR_ATTACHMENT3_WEBGL=36067]="COLOR_ATTACHMENT3_WEBGL",e[e.COLOR_ATTACHMENT4_WEBGL=36068]="COLOR_ATTACHMENT4_WEBGL",e[e.COLOR_ATTACHMENT5_WEBGL=36069]="COLOR_ATTACHMENT5_WEBGL",e[e.COLOR_ATTACHMENT6_WEBGL=36070]="COLOR_ATTACHMENT6_WEBGL",e[e.COLOR_ATTACHMENT7_WEBGL=36071]="COLOR_ATTACHMENT7_WEBGL",e[e.COLOR_ATTACHMENT8_WEBGL=36072]="COLOR_ATTACHMENT8_WEBGL",e[e.COLOR_ATTACHMENT9_WEBGL=36073]="COLOR_ATTACHMENT9_WEBGL",e[e.COLOR_ATTACHMENT10_WEBGL=36074]="COLOR_ATTACHMENT10_WEBGL",e[e.COLOR_ATTACHMENT11_WEBGL=36075]="COLOR_ATTACHMENT11_WEBGL",e[e.COLOR_ATTACHMENT12_WEBGL=36076]="COLOR_ATTACHMENT12_WEBGL",e[e.COLOR_ATTACHMENT13_WEBGL=36077]="COLOR_ATTACHMENT13_WEBGL",e[e.COLOR_ATTACHMENT14_WEBGL=36078]="COLOR_ATTACHMENT14_WEBGL",e[e.COLOR_ATTACHMENT15_WEBGL=36079]="COLOR_ATTACHMENT15_WEBGL",e[e.DRAW_BUFFER0_WEBGL=34853]="DRAW_BUFFER0_WEBGL",e[e.DRAW_BUFFER1_WEBGL=34854]="DRAW_BUFFER1_WEBGL",e[e.DRAW_BUFFER2_WEBGL=34855]="DRAW_BUFFER2_WEBGL",e[e.DRAW_BUFFER3_WEBGL=34856]="DRAW_BUFFER3_WEBGL",e[e.DRAW_BUFFER4_WEBGL=34857]="DRAW_BUFFER4_WEBGL",e[e.DRAW_BUFFER5_WEBGL=34858]="DRAW_BUFFER5_WEBGL",e[e.DRAW_BUFFER6_WEBGL=34859]="DRAW_BUFFER6_WEBGL",e[e.DRAW_BUFFER7_WEBGL=34860]="DRAW_BUFFER7_WEBGL",e[e.DRAW_BUFFER8_WEBGL=34861]="DRAW_BUFFER8_WEBGL",e[e.DRAW_BUFFER9_WEBGL=34862]="DRAW_BUFFER9_WEBGL",e[e.DRAW_BUFFER10_WEBGL=34863]="DRAW_BUFFER10_WEBGL",e[e.DRAW_BUFFER11_WEBGL=34864]="DRAW_BUFFER11_WEBGL",e[e.DRAW_BUFFER12_WEBGL=34865]="DRAW_BUFFER12_WEBGL",e[e.DRAW_BUFFER13_WEBGL=34866]="DRAW_BUFFER13_WEBGL",e[e.DRAW_BUFFER14_WEBGL=34867]="DRAW_BUFFER14_WEBGL",e[e.DRAW_BUFFER15_WEBGL=34868]="DRAW_BUFFER15_WEBGL",e[e.MAX_COLOR_ATTACHMENTS_WEBGL=36063]="MAX_COLOR_ATTACHMENTS_WEBGL",e[e.MAX_DRAW_BUFFERS_WEBGL=34852]="MAX_DRAW_BUFFERS_WEBGL",e[e.VERTEX_ARRAY_BINDING_OES=34229]="VERTEX_ARRAY_BINDING_OES",e[e.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",e[e.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",e[e.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",e[e.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",e[e.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",e[e.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",e[e.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",e}({});t.GL=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getParameterPolyfill=function(e,t,r){var n=f[r],o="function"==typeof n?n(e,t,r):n;return void 0!==o?o:t(r)};var n,o,i=(n=r(2))&&n.__esModule?n:{default:n},a=r(5);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var c=function(e){return(0,a.isWebGL2)(e)?void 0:0},f=(l(o={},i.default.READ_BUFFER,(function(e){return(0,a.isWebGL2)(e)?void 0:i.default.COLOR_ATTACHMENT0})),l(o,35723,(function(e){return(0,a.isWebGL2)(e)?void 0:4352})),l(o,i.default.RASTERIZER_DISCARD,c),l(o,i.default.SAMPLES,c),l(o,36795,(function(e,t){var r=(0,a.isWebGL2)(e)?e.getExtension("EXT_disjoint_timer_query_webgl2"):e.getExtension("EXT_disjoint_timer_query");return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0})),l(o,37445,(function(e,t){var r=e.getExtension("WEBGL_debug_renderer_info");return t(r&&r.UNMASKED_VENDOR_WEBGL||i.default.VENDOR)})),l(o,37446,(function(e,t){var r=e.getExtension("WEBGL_debug_renderer_info");return t(r&&r.UNMASKED_RENDERER_WEBGL||i.default.RENDERER)})),l(o,34047,(function(e,t){var r,n,o=(null===(r=e.luma)||void 0===r||null===(n=r.extensions)||void 0===n?void 0:n.EXT_texture_filter_anisotropic)||e.getExtension("EXT_texture_filter_anisotropic");return o?t(o.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1})),l(o,i.default.MAX_3D_TEXTURE_SIZE,c),l(o,i.default.MAX_ARRAY_TEXTURE_LAYERS,c),l(o,i.default.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,c),l(o,i.default.MAX_COLOR_ATTACHMENTS,(function(e,t){if(!(0,a.isWebGL2)(e)){var r=e.getExtension("WEBGL_draw_buffers");return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}})),l(o,i.default.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,c),l(o,i.default.MAX_COMBINED_UNIFORM_BLOCKS,c),l(o,i.default.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,c),l(o,i.default.MAX_DRAW_BUFFERS,(function(e){if(!(0,a.isWebGL2)(e)){var t=e.getExtension("WEBGL_draw_buffers");return t?t.MAX_DRAW_BUFFERS_WEBGL:0}})),l(o,i.default.MAX_ELEMENT_INDEX,(function(e){return e.getExtension("OES_element_index")?2147483647:65535})),l(o,i.default.MAX_ELEMENTS_INDICES,(function(e){return e.getExtension("OES_element_index")?16777216:65535})),l(o,i.default.MAX_ELEMENTS_VERTICES,(function(e){return 16777216})),l(o,i.default.MAX_FRAGMENT_INPUT_COMPONENTS,c),l(o,i.default.MAX_FRAGMENT_UNIFORM_BLOCKS,c),l(o,i.default.MAX_FRAGMENT_UNIFORM_COMPONENTS,c),l(o,i.default.MAX_SAMPLES,c),l(o,i.default.MAX_SERVER_WAIT_TIMEOUT,c),l(o,i.default.MAX_TEXTURE_LOD_BIAS,c),l(o,i.default.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,c),l(o,i.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,c),l(o,i.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,c),l(o,i.default.MAX_UNIFORM_BLOCK_SIZE,c),l(o,i.default.MAX_UNIFORM_BUFFER_BINDINGS,c),l(o,i.default.MAX_VARYING_COMPONENTS,c),l(o,i.default.MAX_VERTEX_OUTPUT_COMPONENTS,c),l(o,i.default.MAX_VERTEX_UNIFORM_BLOCKS,c),l(o,i.default.MAX_VERTEX_UNIFORM_COMPONENTS,c),l(o,i.default.MIN_PROGRAM_TEXEL_OFFSET,c),l(o,i.default.MAX_PROGRAM_TEXEL_OFFSET,c),l(o,i.default.UNIFORM_BUFFER_OFFSET_ALIGNMENT,c),o)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deepArrayEqual=function(e,t){if(e===t)return!0;var r=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&n&&e.length===t.length){for(var o=0;o<e.length;++o)if(e[o]!==t[o])return!1;return!0}return!1}},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Object.defineProperty(t,"__esModule",{value:!0}),t.createBrowserContext=function(e,t){t=i(i({},u),t);var r=null,n=function(e){return r=e.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var o=null;"webgl2"===t.type&&(t=i(i({},t),{},{webgl1:!1}));"webgl1"===t.type&&(t=i(i({},t),{},{webgl2:!1}));t.webgl2&&(o=o||e.getContext("webgl2",t));t.webgl1&&(o=o||e.getContext("webgl",t));if(e.removeEventListener("webglcontextcreationerror",n,!1),!o)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var a=t.onContextLost;e.addEventListener("webglcontextlost",(function(e){return a(e)}),!1)}if(t.onContextRestored){var l=t.onContextRestored;e.addEventListener("webglcontextrestored",(function(e){return l(e)}),!1)}return o};var u={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDeviceInfo=function(e){var t=e.getParameter(o.default.VENDOR),r=e.getParameter(o.default.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),a=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.default.VENDOR),u=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.default.RENDERER),l=function(e,t){if(e.match(/NVIDIA/i)||t.match(/NVIDIA/i))return"nvidia";if(e.match(/INTEL/i)||t.match(/INTEL/i))return"intel";if(e.match(/Apple/i)||t.match(/Apple/i))return"apple";if(e.match(/AMD/i)||t.match(/AMD/i)||e.match(/ATI/i)||t.match(/ATI/i))return"amd";if(e.match(/SwiftShader/i)||t.match(/SwiftShader/i))return"software";return"unknown"}(a||t,u||r);return{type:(0,i.isWebGL2)(e)?"webgl2":"webgl",gpu:l,vendor:a||t,renderer:u||r,version:e.getParameter(o.default.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.default.SHADING_LANGUAGE_VERSION)}}};var n,o=(n=r(2))&&n.__esModule?n:{default:n},i=r(5)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canCompileGLSLExtension=d,t.getDeviceFeatures=function(e){var t,r=c(e),n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=u(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw i}}}}((0,i.getTextureFeatures)(e));try{for(n.s();!(t=n.n()).done;){var o=t.value;r.add(o)}}catch(e){n.e(e)}finally{n.f()}return r},t.getWebGLFeatures=c;var n=r(5),o=r(86),i=r(10);function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var t=new Set,r=0,n=Object.keys(_);r<n.length;r++){var o=n[r];f(e,o)&&t.add(o)}return t}function f(e,t){var r=_[t];if(!r)return!1;var o=a(r||[],2),u=o[0],l=o[1],c=(0,n.isWebGL2)(e)?l:u;if("boolean"==typeof c)return c;switch(t){case"texture-renderable-rgba32float-webgl":return(0,n.isWebGL2)(e)?Boolean(e.getExtension(c)):(0,i._checkFloat32ColorAttachment)(e);case"glsl-derivatives":return d(e,c);case"glsl-frag-data":return d(e,c,{behavior:"require"});case"glsl-frag-depth":return d(e,c);default:return Boolean(e.getExtension(c))}}var s={};function d(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,o.isOldIE)(r))return!0;if(t in s)return s[t];var n=r.behavior||"enable",i="#extension GL_".concat(t," : ").concat(n,"\nvoid main(void) {}"),a=e.createShader(e.VERTEX_SHADER);if(!a)throw new Error("shader");e.shaderSource(a,i),e.compileShader(a);var u=e.getShaderParameter(a,e.COMPILE_STATUS);return e.deleteShader(a),s[t]=u,u}var _={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isOldIE=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},r=e.userAgent||t.userAgent||"",n=-1!==r.indexOf("MSIE "),o=-1!==r.indexOf("Trident/");return n||o}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDeviceLimits=function(e){var t=(0,i.getWebGL2Context)(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(o.default.MAX_TEXTURE_SIZE),maxTextureDimension3D:t?t.getParameter(o.default.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:t?t.getParameter(o.default.MAX_ARRAY_TEXTURE_LAYERS):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(o.default.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxSamplersPerShaderStage:e.getParameter(o.default.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:t?t.getParameter(o.default.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:t?t.getParameter(o.default.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(o.default.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(o.default.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(o.default.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}},t.getWebGLLimits=function(e){var t,r=(0,i.getWebGL2Context)(e);function n(t){return e.getParameter(t)}function a(e,t){return r?r.getParameter(e):t||0}return u(t={},o.default.ALIASED_LINE_WIDTH_RANGE,n(o.default.ALIASED_LINE_WIDTH_RANGE)),u(t,o.default.ALIASED_POINT_SIZE_RANGE,n(o.default.ALIASED_POINT_SIZE_RANGE)),u(t,o.default.MAX_TEXTURE_SIZE,n(o.default.MAX_TEXTURE_SIZE)),u(t,o.default.MAX_CUBE_MAP_TEXTURE_SIZE,n(o.default.MAX_CUBE_MAP_TEXTURE_SIZE)),u(t,o.default.MAX_TEXTURE_IMAGE_UNITS,n(o.default.MAX_TEXTURE_IMAGE_UNITS)),u(t,o.default.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(o.default.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),u(t,o.default.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(o.default.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),u(t,o.default.MAX_RENDERBUFFER_SIZE,n(o.default.MAX_RENDERBUFFER_SIZE)),u(t,o.default.MAX_VARYING_VECTORS,n(o.default.MAX_VARYING_VECTORS)),u(t,o.default.MAX_VERTEX_ATTRIBS,n(o.default.MAX_VERTEX_ATTRIBS)),u(t,o.default.MAX_VERTEX_UNIFORM_VECTORS,n(o.default.MAX_VERTEX_UNIFORM_VECTORS)),u(t,o.default.MAX_FRAGMENT_UNIFORM_VECTORS,n(o.default.MAX_FRAGMENT_UNIFORM_VECTORS)),u(t,o.default.MAX_VIEWPORT_DIMS,n(o.default.MAX_VIEWPORT_DIMS)),u(t,o.default.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(o.default.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),u(t,o.default.MAX_3D_TEXTURE_SIZE,a(o.default.MAX_3D_TEXTURE_SIZE)),u(t,o.default.MAX_ARRAY_TEXTURE_LAYERS,a(o.default.MAX_ARRAY_TEXTURE_LAYERS)),u(t,o.default.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,a(o.default.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),u(t,o.default.MAX_COLOR_ATTACHMENTS,a(o.default.MAX_COLOR_ATTACHMENTS)),u(t,o.default.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,a(o.default.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),u(t,o.default.MAX_COMBINED_UNIFORM_BLOCKS,a(o.default.MAX_COMBINED_UNIFORM_BLOCKS)),u(t,o.default.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,a(o.default.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),u(t,o.default.MAX_DRAW_BUFFERS,a(o.default.MAX_DRAW_BUFFERS)),u(t,o.default.MAX_ELEMENT_INDEX,a(o.default.MAX_ELEMENT_INDEX)),u(t,o.default.MAX_ELEMENTS_INDICES,a(o.default.MAX_ELEMENTS_INDICES)),u(t,o.default.MAX_ELEMENTS_VERTICES,a(o.default.MAX_ELEMENTS_VERTICES)),u(t,o.default.MAX_FRAGMENT_INPUT_COMPONENTS,a(o.default.MAX_FRAGMENT_INPUT_COMPONENTS)),u(t,o.default.MAX_FRAGMENT_UNIFORM_BLOCKS,a(o.default.MAX_FRAGMENT_UNIFORM_BLOCKS)),u(t,o.default.MAX_FRAGMENT_UNIFORM_COMPONENTS,a(o.default.MAX_FRAGMENT_UNIFORM_COMPONENTS)),u(t,o.default.MAX_SAMPLES,a(o.default.MAX_SAMPLES)),u(t,o.default.MAX_SERVER_WAIT_TIMEOUT,a(o.default.MAX_SERVER_WAIT_TIMEOUT)),u(t,o.default.MAX_TEXTURE_LOD_BIAS,a(o.default.MAX_TEXTURE_LOD_BIAS)),u(t,o.default.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,a(o.default.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),u(t,o.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,a(o.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),u(t,o.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,a(o.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),u(t,o.default.MAX_UNIFORM_BLOCK_SIZE,a(o.default.MAX_UNIFORM_BLOCK_SIZE)),u(t,o.default.MAX_UNIFORM_BUFFER_BINDINGS,a(o.default.MAX_UNIFORM_BUFFER_BINDINGS)),u(t,o.default.MAX_VARYING_COMPONENTS,a(o.default.MAX_VARYING_COMPONENTS)),u(t,o.default.MAX_VERTEX_OUTPUT_COMPONENTS,a(o.default.MAX_VERTEX_OUTPUT_COMPONENTS)),u(t,o.default.MAX_VERTEX_UNIFORM_BLOCKS,a(o.default.MAX_VERTEX_UNIFORM_BLOCKS)),u(t,o.default.MAX_VERTEX_UNIFORM_COMPONENTS,a(o.default.MAX_VERTEX_UNIFORM_COMPONENTS)),u(t,o.default.MIN_PROGRAM_TEXEL_OFFSET,a(o.default.MIN_PROGRAM_TEXEL_OFFSET)),u(t,o.default.MAX_PROGRAM_TEXEL_OFFSET,a(o.default.MAX_PROGRAM_TEXEL_OFFSET)),u(t,o.default.UNIFORM_BUFFER_OFFSET_ALIGNMENT,a(o.default.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),t};var n,o=(n=r(2))&&n.__esModule?n:{default:n},i=r(5);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getKey=function(e,t){for(var r in e=e.gl||e,t=Number(t),e)if(e[r]===t)return"GL.".concat(r);return String(t)},t.getKeyType=function(e,t){for(var r in(0,n.assert)(void 0!==t,"undefined key"),t=Number(t),e)if(e[r]===t)return"GL.".concat(r);return String(t)},t.getKeyValue=function(e,t){if("string"!=typeof t)return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var o=e[t];return(0,n.assert)(void 0!==o,"Accessing undefined constant GL.".concat(t)),o};var n=r(1)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.getRenderbufferFormatBytesPerPixel=function(e){return f[e].bpp},t.isRenderbufferFormatSupported=function(e,t){var r=f[t];if(!r)return!1;if(r.ext)return Boolean(e.getExtension(r.ext));if(r.gl2)return(0,a.isWebGL2)(e);return!0};var n,o,i=(n=r(2))&&n.__esModule?n:{default:n},a=r(5);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var c="EXT_color_buffer_float",f=(l(o={},i.default.DEPTH_COMPONENT16,{bpp:2}),l(o,i.default.DEPTH_COMPONENT24,{gl2:!0,bpp:3}),l(o,i.default.DEPTH_COMPONENT32F,{gl2:!0,bpp:4}),l(o,i.default.STENCIL_INDEX8,{bpp:1}),l(o,i.default.DEPTH_STENCIL,{bpp:4}),l(o,i.default.DEPTH24_STENCIL8,{gl2:!0,bpp:4}),l(o,i.default.DEPTH32F_STENCIL8,{gl2:!0,bpp:5}),l(o,i.default.RGBA4,{bpp:2}),l(o,i.default.RGB565,{bpp:2}),l(o,i.default.RGB5_A1,{bpp:2}),l(o,i.default.R8,{gl2:!0,bpp:1}),l(o,i.default.R8UI,{gl2:!0,bpp:1}),l(o,i.default.R8I,{gl2:!0,bpp:1}),l(o,i.default.R16UI,{gl2:!0,bpp:2}),l(o,i.default.R16I,{gl2:!0,bpp:2}),l(o,i.default.R32UI,{gl2:!0,bpp:4}),l(o,i.default.R32I,{gl2:!0,bpp:4}),l(o,i.default.RG8,{gl2:!0,bpp:2}),l(o,i.default.RG8UI,{gl2:!0,bpp:2}),l(o,i.default.RG8I,{gl2:!0,bpp:2}),l(o,i.default.RG16UI,{gl2:!0,bpp:4}),l(o,i.default.RG16I,{gl2:!0,bpp:4}),l(o,i.default.RG32UI,{gl2:!0,bpp:8}),l(o,i.default.RG32I,{gl2:!0,bpp:8}),l(o,i.default.RGB8,{gl2:!0,bpp:3}),l(o,i.default.RGBA8,{gl2:!0,bpp:4}),l(o,i.default.RGB10_A2,{gl2:!0,bpp:4}),l(o,i.default.RGBA8UI,{gl2:!0,bpp:4}),l(o,i.default.RGBA8I,{gl2:!0,bpp:4}),l(o,i.default.RGB10_A2UI,{gl2:!0,bpp:4}),l(o,i.default.RGBA16UI,{gl2:!0,bpp:8}),l(o,i.default.RGBA16I,{gl2:!0,bpp:8}),l(o,i.default.RGBA32I,{gl2:!0,bpp:16}),l(o,i.default.RGBA32UI,{gl2:!0,bpp:16}),l(o,i.default.R16F,{ext:c,bpp:2}),l(o,i.default.RG16F,{ext:c,bpp:4}),l(o,i.default.RGBA16F,{ext:c,bpp:8}),l(o,i.default.R32F,{ext:c,bpp:4}),l(o,i.default.RG32F,{ext:c,bpp:8}),l(o,i.default.RGBA32F,{ext:c,bpp:16}),l(o,i.default.R11F_G11F_B10F,{ext:c,bpp:4}),o),s=f;t.default=s},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.initializeSpectorJS=function(e){var t,r;if(e=u(u({},s),e),!(null!==(t=e)&&void 0!==t&&t.spector))return null;!_&&globalThis.SPECTOR&&(o.log.probe(1,"SPECTOR found and initialized")(),_=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=_));if(!_)return null;if(!E){var n,i;E=!0,_.spyCanvases(),null===(n=_)||void 0===n||n.onCaptureStarted.add((function(e){return o.log.info("Spector capture started:",e)()})),null===(i=_)||void 0===i||i.onCapture.add((function(e){var t,r,n;o.log.info("Spector capture complete:",e)(),null===(t=_)||void 0===t||t.getResultUI(),null===(r=_)||void 0===r||r.resultView.display(),null===(n=_)||void 0===n||n.resultView.addCapture(e)}))}if(null!==(r=e)&&void 0!==r&&r.canvas){var a,l;if("string"==typeof e.spector&&e.spector!==e.canvas.id)return _;null===(a=_)||void 0===a||a.startCapture(null===(l=e)||void 0===l?void 0:l.canvas,500),new Promise((function(e){return setTimeout(e,2e3)})).then((function(e){var t;o.log.info("Spector capture stopped after 2 seconds")(),null===(t=_)||void 0===t||t.stopCapture()}))}return _},t.loadSpectorJS=function(e){return p.apply(this,arguments)};var o=r(1);function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var i=t&&t.prototype instanceof E?t:E,a=Object.create(i.prototype),u=new P(n||[]);return o(a,"_invoke",{value:g(e,r,u)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var _={};function E(){}function p(){}function y(){}var h={};f(h,u,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(N([])));v&&v!==t&&r.call(v,u)&&(h=v);var R=y.prototype=E.prototype=Object.create(h);function T(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var i;o(this,"_invoke",{value:function(o,a){function u(){return new t((function(i,u){!function o(i,a,u,l){var c=d(e[i],e,a);if("throw"!==c.type){var f=c.arg,s=f.value;return s&&"object"==n(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){o("next",e,u,l)}),(function(e){o("throw",e,u,l)})):t.resolve(s).then((function(e){f.value=e,u(f)}),(function(e){return o("throw",e,u,l)}))}l(c.arg)}(o,a,i,u)}))}return i=i?i.then(u,u):u()}})}function g(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=m(a,r);if(u){if(u===_)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=d(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function m(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,m(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),_;var o=d(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,_;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var t=e[u];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return p.prototype=y,o(R,"constructor",{value:y,configurable:!0}),o(y,"constructor",{value:p,configurable:!0}),p.displayName=f(y,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,f(e,c,"GeneratorFunction")),e.prototype=Object.create(R),e},e.awrap=function(e){return{__await:e}},T(A.prototype),f(A.prototype,l,(function(){return this})),e.AsyncIterator=A,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new A(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},T(R),f(R,c,"Generator"),f(R,u,(function(){return this})),f(R,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),_}},e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){c(i,n,o,a,u,"next",e)}function u(e){c(i,n,o,a,u,"throw",e)}a(void 0)}))}}var s={spector:o.log.get("spector")||o.log.get("inspect")},d="https://spectorcdn.babylonjs.com/spector.bundle.js",_=null,E=!1;function p(){return(p=f(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(globalThis.SPECTOR){e.next=9;break}return e.prev=1,e.next=4,(0,o.loadScript)(d);case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(1),o.log.warn(String(e.t0));case 9:case"end":return e.stop()}}),e,null,[[1,6]])})))).apply(this,arguments)}},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.loadWebGLDeveloperTools=function(){return v.apply(this,arguments)},t.makeDebugContext=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return null;return t.debug?T(e,t):R(e)};var o,i=r(1),a=(o=r(2))&&o.__esModule?o:{default:o};function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */u=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",l=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var i=t&&t.prototype instanceof E?t:E,a=Object.create(i.prototype),u=new P(n||[]);return o(a,"_invoke",{value:g(e,r,u)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var _={};function E(){}function p(){}function y(){}var h={};f(h,a,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(N([])));v&&v!==t&&r.call(v,a)&&(h=v);var R=y.prototype=E.prototype=Object.create(h);function T(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var i;o(this,"_invoke",{value:function(o,a){function u(){return new t((function(i,u){!function o(i,a,u,l){var c=d(e[i],e,a);if("throw"!==c.type){var f=c.arg,s=f.value;return s&&"object"==n(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){o("next",e,u,l)}),(function(e){o("throw",e,u,l)})):t.resolve(s).then((function(e){f.value=e,u(f)}),(function(e){return o("throw",e,u,l)}))}l(c.arg)}(o,a,i,u)}))}return i=i?i.then(u,u):u()}})}function g(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return I()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=m(a,r);if(u){if(u===_)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=d(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function m(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,m(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),_;var o=d(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,_;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:I}}function I(){return{value:void 0,done:!0}}return p.prototype=y,o(R,"constructor",{value:y,configurable:!0}),o(y,"constructor",{value:p,configurable:!0}),p.displayName=f(y,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,f(e,c,"GeneratorFunction")),e.prototype=Object.create(R),e},e.awrap=function(e){return{__await:e}},T(A.prototype),f(A.prototype,l,(function(){return this})),e.AsyncIterator=A,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new A(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},T(R),f(R,c,"Generator"),f(R,a,(function(){return this})),f(R,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=N,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),_}},e}function l(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function s(e,t,r){return t&&f(e.prototype,t),r&&f(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){E(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function E(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===n(t)?t:String(t)}function y(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){y(i,n,o,a,u,"next",e)}function u(e){y(i,n,o,a,u,"throw",e)}a(void 0)}))}}function b(e){return e.luma=e.luma||{},e.luma}function v(){return(v=h(u().mark((function e(){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(globalThis.WebGLDebugUtils){e.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},e.next=5,(0,i.loadScript)("https://unpkg.com/webgl-debug@2.0.1/index.js");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function R(e){var t=b(e);return t.realContext?t.realContext:e}function T(e,t){if(!globalThis.WebGLDebugUtils)return i.log.warn("webgl-debug not loaded")(),e;var r=b(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(_(_({},a.default),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,g.bind(null,t),m.bind(null,t));for(var o in a.default)o in n||"number"!=typeof a.default[o]||(n[o]=a.default[o]);var u=s((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}));Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(u,n);var l=Object.create(u);return r.realContext=e,r.debugContext=l,l.debug=!0,l}function A(e,t){t=Array.from(t).map((function(e){return void 0===e?"undefined":e}));var r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r="".concat(r.slice(0,100)).concat(r.length>100?"...":""),"gl.".concat(e,"(").concat(r,")")}function g(e,t,r,n){n=Array.from(n).map((function(e){return void 0===e?"undefined":e}));var o=globalThis.WebGLDebugUtils.glEnumToString(t),a=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),u=e.webgl2?"gl2":"gl1",l="".concat(o," in ").concat(u,".").concat(r,"(").concat(a,")");if(i.log.error(l)(),e.throwOnError)throw new Error(l)}function m(e,t,r){var n="";if(i.log.level>=1&&(n=A(t,r),i.log.log(1,n)()),e.break&&e.break.length>0){n=n||A(t,r);e.break.every((function(e){return-1!==n.indexOf(e)}))}var o,a=l(r);try{for(a.s();!(o=a.n()).done;){if(void 0===o.value){if(n=n||A(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));i.log.error("Undefined argument: ".concat(n))()}}}catch(e){a.e(e)}finally{a.f()}}},function(e,t,r){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"unnamed",r=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=e.match(r);return n?n[1]:t}function o(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&"#version"===r[0]){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}Object.defineProperty(t,"__esModule",{value:!0}),t.getShaderInfo=function(e,t){return{name:n(e,t),language:"glsl",version:o(e)}}},function(e,t,r){"use strict";function n(e,t){if(e){if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}Object.defineProperty(t,"__esModule",{value:!0}),t.parseShaderCompilerLog=function(e){var t,r=e.split(/\r?\n/),o=[],a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=n(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){l=!0,a=e},f:function(){try{u||null==r.return||r.return()}finally{if(l)throw a}}}}(r);try{for(a.s();!(t=a.n()).done;){var u=t.value;if(!(u.length<=1)){var l=u.split(":"),c=function(e){if(Array.isArray(e))return e}(b=l)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(b)||n(b)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=c[0],s=c[1],d=c[2],_=c.slice(3),E=parseInt(d,10);isNaN(E)&&(E=0);var p=parseInt(s,10);isNaN(p)&&(p=0);var y=f.toLowerCase(),h=i.includes(y)?y:"info";o.push({message:_.join(":").trim(),type:h,lineNum:E,linePos:p})}}}catch(e){a.e(e)}finally{a.f()}var b;return o};var i=["warning","error","info"]},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeAttributeType=function(e){var t=s[e];if(!t)throw new Error("attribute");var r=u(t,5),n=r[0],o=r[1];return{format:r[4],components:o,glType:n}},t.decodeUniformType=function(e){var t=s[e];if(!t)throw new Error("uniform");var r=u(t,4),n=r[0],o=r[1];return{format:r[3],components:o,glType:n}},t.decomposeCompositeGLType=function(e){var t=s[e];if(!t)return null;var r=u(t,2),n=r[0],o=r[1];return{type:n,components:o}},t.getCompositeGLType=function(e,t){switch(e){case i.default.BYTE:case i.default.UNSIGNED_BYTE:case i.default.SHORT:case i.default.UNSIGNED_SHORT:e=i.default.FLOAT}for(var r in s){var n=u(s[r],3),o=n[0],a=n[1],l=n[2];if(o===e&&a===t)return{glType:Number(r),name:l}}return null},t.isSamplerUniform=function(e){return f.includes(e)};var n,o,i=(n=r(2))&&n.__esModule?n:{default:n};function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f=[i.default.SAMPLER_2D,i.default.SAMPLER_CUBE,i.default.SAMPLER_3D,i.default.SAMPLER_2D_SHADOW,i.default.SAMPLER_2D_ARRAY,i.default.SAMPLER_2D_ARRAY_SHADOW,i.default.SAMPLER_CUBE_SHADOW,i.default.INT_SAMPLER_2D,i.default.INT_SAMPLER_3D,i.default.INT_SAMPLER_CUBE,i.default.INT_SAMPLER_2D_ARRAY,i.default.UNSIGNED_INT_SAMPLER_2D,i.default.UNSIGNED_INT_SAMPLER_3D,i.default.UNSIGNED_INT_SAMPLER_CUBE,i.default.UNSIGNED_INT_SAMPLER_2D_ARRAY],s=(c(o={},i.default.FLOAT,[i.default.FLOAT,1,"float","f32","float32"]),c(o,i.default.FLOAT_VEC2,[i.default.FLOAT,2,"vec2","vec2<f32>","float32x2"]),c(o,i.default.FLOAT_VEC3,[i.default.FLOAT,3,"vec3","vec3<f32>","float32x3"]),c(o,i.default.FLOAT_VEC4,[i.default.FLOAT,4,"vec4","vec4<f32>","float32x4"]),c(o,i.default.INT,[i.default.INT,1,"int","i32","sint32"]),c(o,i.default.INT_VEC2,[i.default.INT,2,"ivec2","vec2<i32>","sint32x2"]),c(o,i.default.INT_VEC3,[i.default.INT,3,"ivec3","vec3<i32>","sint32x3"]),c(o,i.default.INT_VEC4,[i.default.INT,4,"ivec4","vec4<i32>","sint32x4"]),c(o,i.default.UNSIGNED_INT,[i.default.UNSIGNED_INT,1,"uint","u32","uint32"]),c(o,i.default.UNSIGNED_INT_VEC2,[i.default.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),c(o,i.default.UNSIGNED_INT_VEC3,[i.default.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),c(o,i.default.UNSIGNED_INT_VEC4,[i.default.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),c(o,i.default.BOOL,[i.default.FLOAT,1,"bool","f32","float32x2"]),c(o,i.default.BOOL_VEC2,[i.default.FLOAT,2,"bvec2","vec2<f32>"]),c(o,i.default.BOOL_VEC3,[i.default.FLOAT,3,"bvec3","vec3<f32>"]),c(o,i.default.BOOL_VEC4,[i.default.FLOAT,4,"bvec4","vec4<f32>"]),c(o,i.default.FLOAT_MAT2,[i.default.FLOAT,8,"mat2","mat2x2<f32>"]),c(o,i.default.FLOAT_MAT2x3,[i.default.FLOAT,8,"mat2x3","mat2x3<f32>"]),c(o,i.default.FLOAT_MAT2x4,[i.default.FLOAT,8,"mat2x4","mat2x4<f32>"]),c(o,i.default.FLOAT_MAT3x2,[i.default.FLOAT,12,"mat3x2","mat3x2<f32>"]),c(o,i.default.FLOAT_MAT3,[i.default.FLOAT,12,"mat3","mat3x3<f32>"]),c(o,i.default.FLOAT_MAT3x4,[i.default.FLOAT,12,"mat3x4","mat3x4<f32>"]),c(o,i.default.FLOAT_MAT4x2,[i.default.FLOAT,16,"mat4x2","mat4x2<f32>"]),c(o,i.default.FLOAT_MAT4x3,[i.default.FLOAT,16,"mat4x3","mat4x3<f32>"]),c(o,i.default.FLOAT_MAT4,[i.default.FLOAT,16,"mat4","mat4x4<f32>"]),o)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getVertexFormat=function(e,t){var r=function(e){switch(e){case o.default.INT:return"sint32";case o.default.UNSIGNED_INT:return"uint32";case o.default.FLOAT:return"float32";default:throw new Error(String(e))}}(e);switch(t){case 1:return r;case 2:return"".concat(r,"x2");case 3:return"".concat(r,"x3");case 4:return"".concat(r,"x4");default:throw new Error(String(t))}};var n,o=(n=r(2))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setUniform=function(e,t,r,n){var i=e;if("number"==typeof n)switch(r){case o.default.SAMPLER_2D:case o.default.SAMPLER_CUBE:case o.default.SAMPLER_3D:case o.default.SAMPLER_2D_SHADOW:case o.default.SAMPLER_2D_ARRAY:case o.default.SAMPLER_2D_ARRAY_SHADOW:case o.default.SAMPLER_CUBE_SHADOW:case o.default.INT_SAMPLER_2D:case o.default.INT_SAMPLER_3D:case o.default.INT_SAMPLER_CUBE:case o.default.INT_SAMPLER_2D_ARRAY:case o.default.UNSIGNED_INT_SAMPLER_2D:case o.default.UNSIGNED_INT_SAMPLER_3D:case o.default.UNSIGNED_INT_SAMPLER_CUBE:case o.default.UNSIGNED_INT_SAMPLER_2D_ARRAY:return e.uniform1i(t,n)}!0===n&&(n=1);!1===n&&(n=1);var a="number"==typeof n?[n]:n;switch(r){case o.default.FLOAT:return e.uniform1fv(t,a);case o.default.FLOAT_VEC2:return e.uniform2fv(t,a);case o.default.FLOAT_VEC3:return e.uniform3fv(t,a);case o.default.FLOAT_VEC4:return e.uniform4fv(t,a);case o.default.INT:return e.uniform1iv(t,a);case o.default.INT_VEC2:return e.uniform2iv(t,a);case o.default.INT_VEC3:return e.uniform3iv(t,a);case o.default.INT_VEC4:return e.uniform4iv(t,a);case o.default.BOOL:return e.uniform1iv(t,a);case o.default.BOOL_VEC2:return e.uniform2iv(t,a);case o.default.BOOL_VEC3:return e.uniform3iv(t,a);case o.default.BOOL_VEC4:return e.uniform4iv(t,a);case o.default.UNSIGNED_INT:return i.uniform1uiv(t,a,1);case o.default.UNSIGNED_INT_VEC2:return i.uniform2uiv(t,a,2);case o.default.UNSIGNED_INT_VEC3:return i.uniform3uiv(t,a,3);case o.default.UNSIGNED_INT_VEC4:return i.uniform4uiv(t,a,4);case o.default.FLOAT_MAT2:return e.uniformMatrix2fv(t,!1,a);case o.default.FLOAT_MAT3:return e.uniformMatrix3fv(t,!1,a);case o.default.FLOAT_MAT4:return e.uniformMatrix4fv(t,!1,a);case o.default.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(t,!1,a);case o.default.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(t,!1,a);case o.default.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(t,!1,a);case o.default.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(t,!1,a);case o.default.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(t,!1,a);case o.default.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(t,!1,a)}throw new Error("Illegal uniform")};var n,o=(n=r(2))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=r(1),i=(n=r(98))&&n.__esModule?n:{default:n};function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d(e);if(t){var o=d(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return s(e)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(a,e);var t,r,n,o=c(a);function a(e,t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),_(s(r=o.call(this,t)),"device",void 0),_(s(r),"commandBuffer",new i.default),r.device=e,r}return t=a,(r=[{key:"destroy",value:function(){}},{key:"copyBufferToBuffer",value:function(e){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:e})}},{key:"copyBufferToTexture",value:function(e){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:e})}},{key:"copyTextureToBuffer",value:function(e){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:e})}},{key:"copyTextureToTexture",value:function(e){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:e})}},{key:"pushDebugGroup",value:function(e){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(e){}}])&&u(t.prototype,r),n&&u(t,n),Object.defineProperty(t,"prototype",{writable:!1}),a}(o.CommandEncoder);t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.submitCommands=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=i(r);try{for(n.s();!(t=n.n()).done;){var o=t.value;switch(o.name){case"copy-buffer-to-buffer":d(e,o.options);break;case"copy-buffer-to-texture":case"copy-texture-to-buffer":case"copy-texture-to-texture":o.options}}}catch(e){n.e(e)}finally{n.f()}};var n,o=(n=r(2))&&n.__esModule?n:{default:n};function i(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){l=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(l)throw i}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function c(e,t,r){return t&&l(e.prototype,t),r&&l(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function f(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}var s=c((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,r){(t=f(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"commands",[])}));function d(e,t){var r,n,i=t.source,a=t.destination,u=e.gl2;if(!u)throw new Error("copyBufferToBuffer not implemented in WebGL1");u.bindBuffer(o.default.COPY_READ_BUFFER,i.handle),u.bindBuffer(o.default.COPY_WRITE_BUFFER,a.handle),u.copyBufferSubData(o.default.COPY_READ_BUFFER,o.default.COPY_WRITE_BUFFER,null!==(r=t.sourceOffset)&&void 0!==r?r:0,null!==(n=t.destinationOffset)&&void 0!==n?n:0,t.size),u.bindBuffer(o.default.COPY_READ_BUFFER,null),u.bindBuffer(o.default.COPY_WRITE_BUFFER,null)}t.default=s},function(e,t,r){"use strict";r.r(t),r.d(t,"Log",(function(){return g})),r.d(t,"COLOR",(function(){return s})),r.d(t,"addColor",(function(){return _})),r.d(t,"leftPad",(function(){return l})),r.d(t,"rightPad",(function(){return c})),r.d(t,"autobind",(function(){return E})),r.d(t,"LocalStorage",(function(){return u})),r.d(t,"getHiResTimestamp",(function(){return h}));var n=r(0),o=r.n(n),i=r(9),a=r(26);class u{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";o()(this,"storage",void 0),o()(this,"id",void 0),o()(this,"config",void 0),this.storage=function(e){try{const t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch(e){return null}}(r),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;const r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;const r=Math.max(t-e.length,0);return"".concat(e).concat(" ".repeat(r))}function f(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600;const o=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));const i=e.width*r,a=e.height*r,u=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(i/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(o,");"),"background-size:".concat(i,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),u]}let s;!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(s||(s={}));function d(e){return"string"!=typeof e?e:(e=e.toUpperCase(),s[e]||s.WHITE)}function _(e,t,r){if(!i.a&&"string"==typeof e){if(t){const r=d(t);e="[".concat(r,"m").concat(e,"")}if(r){const t=d(r);e="[".concat(t+10,"m").concat(e,"")}}return e}function E(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"];const r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),o=e;for(const r of n){const n=o[r];"function"==typeof n&&(t.find(e=>r===e)||(o[r]=n.bind(e)))}}function p(e,t){if(!e)throw new Error(t||"Assertion failed")}var y=r(3);function h(){let e;var t,r;if(Object(i.a)()&&y.g.performance)e=null===y.g||void 0===y.g||null===(t=y.g.performance)||void 0===t||null===(r=t.now)||void 0===r?void 0:r.call(t);else if("hrtime"in y.e){var n;const t=null===y.e||void 0===y.e||null===(n=y.e.hrtime)||void 0===n?void 0:n.call(y.e);e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}const b={debug:Object(i.a)()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},v={enabled:!0,level:0};function R(){}const T={},A={once:!0};class g{constructor(){let{id:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""};o()(this,"id",void 0),o()(this,"VERSION",a.a),o()(this,"_startTs",h()),o()(this,"_deltaTs",h()),o()(this,"_storage",void 0),o()(this,"userData",{}),o()(this,"LOG_THROTTLE_TIMEOUT",0),this.id=e,this.userData={},this._storage=new u("__probe-".concat(this.id,"__"),v),this.timeStamp("".concat(this.id," started")),E(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((h()-this._startTs).toPrecision(10))}getDelta(){return Number((h()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.setConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){p(e,t)}warn(e){return this._getLogFunction(0,e,b.warn,arguments,A)}error(e){return this._getLogFunction(0,e,b.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,b.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,b.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,b.debug||b.info,arguments,A)}table(e,t,r){return t?this._getLogFunction(e,t,console.table||R,r&&[r],{tag:S(t)}):R}image(e){let{logLevel:t,priority:r,image:n,message:o="",scale:a=1}=e;return this._shouldLog(t||r)?Object(i.a)()?function(e){let{image:t,message:r="",scale:n=1}=e;if("string"==typeof t){const e=new Image;return e.onload=()=>{const t=f(e,r,n);console.log(...t)},e.src=t,R}const o=t.nodeName||"";if("img"===o.toLowerCase())return console.log(...f(t,r,n)),R;if("canvas"===o.toLowerCase()){const e=new Image;return e.onload=()=>console.log(...f(e,r,n)),e.src=t.toDataURL(),R}return R}({image:n,message:o,scale:a}):function(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),R}({image:n,message:o,scale:a}):R}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||R)}group(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1};const n=O({logLevel:e,message:t,opts:r}),{collapsed:o}=r;return n.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},r,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||R)}withGroup(e,t,r){this.group(e,t)();try{r()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=m(e)}_getLogFunction(e,t,r,n,o){if(this._shouldLog(e)){o=O({logLevel:e,message:t,args:n,opts:o}),p(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=h();const i=o.tag||o.message;if(o.once&&i){if(T[i])return R;T[i]=h()}return t=function(e,t,r){if("string"==typeof t){const n=r.time?l(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(r.total)):"";t=_(t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),r.color,r.background)}return t}(this.id,o.message,o),r.bind(console,t,...o.args)}return R}}function m(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return p(Number.isFinite(t)&&t>=0),t}function O(e){const{logLevel:t,message:r}=e;e.logLevel=m(t);const n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":void 0!==r&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const o=typeof e.message;return p("string"===o||"object"===o),Object.assign(e,{args:n},e.opts)}function S(e){for(const t in e)for(const r in e[t])return r||"untitled";return"empty"}o()(g,"VERSION",a.a);t.default=new g({id:"@probe.gl/log"})},function(e,t,r){"use strict";r.r(t),r.d(t,"Stats",(function(){return u})),r.d(t,"Stat",(function(){return a})),r.d(t,"_getHiResTimestamp",(function(){return i.a}));var n=r(0),o=r.n(n),i=r(12);class a{constructor(e,t){o()(this,"name",void 0),o()(this,"type",void 0),o()(this,"sampleSize",1),o()(this,"time",0),o()(this,"count",0),o()(this,"samples",0),o()(this,"lastTiming",0),o()(this,"lastSampleTime",0),o()(this,"lastSampleCount",0),o()(this,"_count",0),o()(this,"_time",0),o()(this,"_samples",0),o()(this,"_startTime",0),o()(this,"_timerPending",!1),this.name=e,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Object(i.a)(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Object(i.a)()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class u{constructor(e){o()(this,"id",void 0),o()(this,"stats",{}),this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e of Object.values(this.stats))e.reset();return this}forEach(e){for(const t of Object.values(this.stats))e(t)}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(e=>this._getOrCreate(e))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:r}=e;return this.stats[t]||(this.stats[t]=e instanceof a?e:new a(t,r)),this.stats[t]||null}}}])}));