@uptimizr/dashboard 0.4.5 → 0.4.7

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 (384) hide show
  1. package/out/404.html +1 -1
  2. package/out/__next.__PAGE__.txt +19 -5
  3. package/out/__next._full.txt +11 -11
  4. package/out/__next._tree.txt +2 -2
  5. package/out/_next/static/chunks/{3kalvwsf11-ss.js → 0-_j1khfoib6l.js} +119 -115
  6. package/out/_next/static/chunks/{0-tzsd_n-ywom.js → 005bbq_px7lke.js} +2 -2
  7. package/out/_next/static/chunks/00fbhtmui-yxg.js +1 -0
  8. package/out/_next/static/chunks/017pn-pen381_.js +1 -0
  9. package/out/_next/static/chunks/01vov6inx1zzt.js +1 -0
  10. package/out/_next/static/chunks/{3d76e_yd8l_0x.js → 02qk_wmkf9at-.js} +211 -211
  11. package/out/_next/static/chunks/03bd5plut08tg.js +1 -0
  12. package/out/_next/static/chunks/03dwfqmo73w_z.js +1 -0
  13. package/out/_next/static/chunks/03sn4419dam-h.js +5 -0
  14. package/out/_next/static/chunks/05ere0-228syf.js +1 -0
  15. package/out/_next/static/chunks/{2g_1ov-0j2kwd.js → 05h8u5lrypn5m.js} +1 -1
  16. package/out/_next/static/chunks/05s0t-besbvu1.css +3 -0
  17. package/out/_next/static/chunks/{3go-mst7n3udd.js → 05v-nubi896jg.js} +1 -1
  18. package/out/_next/static/chunks/05z79zh625ezu.js +1 -0
  19. package/out/_next/static/chunks/{1t2exh89lnazc.js → 060iult6f68_e.js} +504 -571
  20. package/out/_next/static/chunks/08lvtnv7b1cxp.js +1 -0
  21. package/out/_next/static/chunks/0_v2luu_qmeid.js +1 -0
  22. package/out/_next/static/chunks/0ai0zgbgjqb92.js +1 -0
  23. package/out/_next/static/chunks/0boov9mwycanf.js +1 -0
  24. package/out/_next/static/chunks/{0av6n_6q6kzo3.js → 0btmk0wmekl02.js} +2 -2
  25. package/out/_next/static/chunks/0d8x8m2x6ca_m.js +1 -0
  26. package/out/_next/static/chunks/0dmrdrwtd093b.js +1 -0
  27. package/out/_next/static/chunks/0e1jfrmioeuws.js +1 -0
  28. package/out/_next/static/chunks/0e7nlxmneb2j_.js +1 -0
  29. package/out/_next/static/chunks/0es97pusfxupl.js +1 -0
  30. package/out/_next/static/chunks/{05uqfgf-hh-p5.js → 0fd-0i1yt23kz.js} +1 -1
  31. package/out/_next/static/chunks/0fxdyvb1w23d1.js +1 -0
  32. package/out/_next/static/chunks/0fxhc24djjcgq.js +1 -0
  33. package/out/_next/static/chunks/0gf-ztg86zd80.js +1 -0
  34. package/out/_next/static/chunks/{380ivzcfb4o_3.js → 0grasqqf5dw7r.js} +2 -2
  35. package/out/_next/static/chunks/{0okbyggxe6mx5.js → 0hajwk2yd-rwr.js} +1 -1
  36. package/out/_next/static/chunks/0hk1wg7h4araz.js +1 -0
  37. package/out/_next/static/chunks/{1vmpltnr0cyos.js → 0j74ipw4fps-n.js} +1 -1
  38. package/out/_next/static/chunks/{03zip1uidm6x9.js → 0kj-vckdn7t5p.js} +1 -1
  39. package/out/_next/static/chunks/0lbs5xdyjuzuo.js +1 -0
  40. package/out/_next/static/chunks/0lep3_bqwfuin.js +1 -0
  41. package/out/_next/static/chunks/0mp0jh1gj7290.js +1 -0
  42. package/out/_next/static/chunks/0ngpoj2g5i4kz.js +1 -0
  43. package/out/_next/static/chunks/0nhljhguceh66.js +1 -0
  44. package/out/_next/static/chunks/0p6z73afb9dj2.js +1 -0
  45. package/out/_next/static/chunks/0p9zfmidzqkps.js +1 -0
  46. package/out/_next/static/chunks/0q75860p8u_ii.js +1 -0
  47. package/out/_next/static/chunks/{0-0hui1_v3h8b.js → 0rracz73p38mo.js} +26 -23
  48. package/out/_next/static/chunks/{3z4suna4kq4j5.js → 0sw-8gxbg4x0l.js} +568 -569
  49. package/out/_next/static/chunks/0sx-6rf3eteqn.js +1 -0
  50. package/out/_next/static/chunks/0thw099xk3_0p.js +3 -0
  51. package/out/_next/static/chunks/0u85f0dhb4i8e.js +1 -0
  52. package/out/_next/static/chunks/0uk7kigzm4vi2.js +31 -0
  53. package/out/_next/static/chunks/0ulufxnsrou61.js +1 -0
  54. package/out/_next/static/chunks/0xa9dyg6ezzyd.js +2 -0
  55. package/out/_next/static/chunks/0xvrfvur0p534.js +1 -0
  56. package/out/_next/static/chunks/{35aagg46wp139.js → 0ybs1u66q26su.js} +1 -1
  57. package/out/_next/static/chunks/0ydfhk-p6zvm0.js +1 -0
  58. package/out/_next/static/chunks/{29gv2swsp7tzu.js → 0z004fn14pbcu.js} +1 -1
  59. package/out/_next/static/chunks/{2z9mdtudj8crz.js → 0z9erbl3llr_b.js} +226 -224
  60. package/out/_next/static/chunks/0zcsxvcvog9ue.js +1 -0
  61. package/out/_next/static/chunks/0zqgq0lwtz9tn.js +1 -0
  62. package/out/_next/static/chunks/1-ogak5u00kwa.js +1 -0
  63. package/out/_next/static/chunks/{1ng-fqh2_n984.js → 10_5p5-xf2aoo.js} +1 -1
  64. package/out/_next/static/chunks/118qlrzdwpfmo.js +1 -0
  65. package/out/_next/static/chunks/11km5p4gd0ut4.js +1 -0
  66. package/out/_next/static/chunks/120rl4l29q9xs.js +1 -0
  67. package/out/_next/static/chunks/{1ho02fc091nj2.js → 129m5i93ltoym.js} +1 -1
  68. package/out/_next/static/chunks/12n73o884lyyl.js +1 -0
  69. package/out/_next/static/chunks/{3n-7bcmfbh299.js → 13zcn4lv0qj76.js} +11 -11
  70. package/out/_next/static/chunks/15jlgfcaeaki9.js +1 -0
  71. package/out/_next/static/chunks/{1ux1rpe-n1mai.js → 15o4_2t-l3rj5.js} +1 -1
  72. package/out/_next/static/chunks/{00o9hr_3hd0r8.js → 175st2ogkg_1o.js} +1 -1
  73. package/out/_next/static/chunks/19rsodtu91ja_.js +1 -0
  74. package/out/_next/static/chunks/1a2ouhup611bz.js +1 -0
  75. package/out/_next/static/chunks/{1solqr18og2ot.js → 1by60_b14x-3o.js} +1 -1
  76. package/out/_next/static/chunks/1cyq7i39885sl.js +1 -0
  77. package/out/_next/static/chunks/1d9it6yocgt54.js +1 -0
  78. package/out/_next/static/chunks/1dp1s1t-y7gal.js +1 -0
  79. package/out/_next/static/chunks/1dr7gh6xgypl8.js +1 -0
  80. package/out/_next/static/chunks/{32vaw89wdwv5_.js → 1dt30s_sp8415.js} +1 -1
  81. package/out/_next/static/chunks/{1t7nl8rx7mabd.js → 1e8_jl2cxd3rp.js} +576 -576
  82. package/out/_next/static/chunks/1f1rek_fxk3of.js +1 -0
  83. package/out/_next/static/chunks/1f2mna0k5efeq.js +1 -0
  84. package/out/_next/static/chunks/1gfz3sxwkkg3d.js +1 -0
  85. package/out/_next/static/chunks/1gr35qeguuws0.js +1 -0
  86. package/out/_next/static/chunks/{0g2wngc6oe7fd.js → 1gttu-n9am66k.js} +255 -253
  87. package/out/_next/static/chunks/1imi0xwi9hd99.js +1 -0
  88. package/out/_next/static/chunks/1ka5v5zu0cstt.js +1 -0
  89. package/out/_next/static/chunks/{17aahvhpls1l7.js → 1l_3oidssbhns.js} +298 -231
  90. package/out/_next/static/chunks/1m9zc5gm-327d.js +112 -0
  91. package/out/_next/static/chunks/1n9nhz-6azcp3.js +3 -0
  92. package/out/_next/static/chunks/1ncqwe81t_9_x.js +1 -0
  93. package/out/_next/static/chunks/1nix_lulkpklo.js +1 -0
  94. package/out/_next/static/chunks/{141tngxsk32hq.js → 1ntqovuz2c217.js} +1 -1
  95. package/out/_next/static/chunks/1pgs-98tfkq9_.js +1 -0
  96. package/out/_next/static/chunks/1q2z0aeopo8t8.js +1 -0
  97. package/out/_next/static/chunks/{2zpn7010iqgsy.js → 1q4lkgxfnqnew.js} +1 -1
  98. package/out/_next/static/chunks/{2khh_pmm224k5.js → 1qg1l7t00nyib.js} +97 -300
  99. package/out/_next/static/chunks/{1qxhgauuomthl.js → 1rcdimhu0qhlu.js} +407 -407
  100. package/out/_next/static/chunks/1rlfg62jxqj3z.js +1 -0
  101. package/out/_next/static/chunks/1ses023uud001.js +1 -0
  102. package/out/_next/static/chunks/1t5oynmttpfsw.js +1 -0
  103. package/out/_next/static/chunks/{25gf6xn9u1c57.js → 1t9i20i5-f8ze.js} +1 -1
  104. package/out/_next/static/chunks/{2h5nvlgky7fpa.js → 1tgj55b305g4h.js} +1 -1
  105. package/out/_next/static/chunks/{255knovck7pv2.js → 1u8snlm6a7uhi.js} +4 -4
  106. package/out/_next/static/chunks/{04_3ri5emyfcu.js → 1ug4k-1zhr63a.js} +1 -1
  107. package/out/_next/static/chunks/{3-_08i4_7yhno.js → 1uh9zgsy69g92.js} +1 -1
  108. package/out/_next/static/chunks/1vrpzlif-z_p0.js +1 -0
  109. package/out/_next/static/chunks/1vurgl6oz2qey.js +17 -0
  110. package/out/_next/static/chunks/1w-qc09n9ijtq.js +1 -0
  111. package/out/_next/static/chunks/1ycqxcht6x54p.js +1 -0
  112. package/out/_next/static/chunks/{2zyjw8g4tiu51.js → 1zj4307ugq0qz.js} +1 -1
  113. package/out/_next/static/chunks/{425epvuw3yy-n.js → 1zkd8v-qka--j.js} +169 -174
  114. package/out/_next/static/chunks/1zm52cjrfrq7c.js +1 -0
  115. package/out/_next/static/chunks/{267q_eg-c6f6m.js → 1zm6eo861i3c8.js} +1 -1
  116. package/out/_next/static/chunks/{1e_-_7biavwmb.js → 1zp9363yfhpom.js} +1 -1
  117. package/out/_next/static/chunks/1zt1xxovnjhkm.js +1 -0
  118. package/out/_next/static/chunks/2-3hk_db5fpok.js +1 -0
  119. package/out/_next/static/chunks/2-bv9a_0zgw1f.js +1 -0
  120. package/out/_next/static/chunks/209sxygecny37.js +1 -0
  121. package/out/_next/static/chunks/{1ccn725by19i1.js → 216uiih3_vdfd.js} +1 -1
  122. package/out/_next/static/chunks/21kfpd_bityxt.js +1 -0
  123. package/out/_next/static/chunks/22yqh0zlo_vwr.js +1 -0
  124. package/out/_next/static/chunks/24ecas0m9tao7.js +3 -0
  125. package/out/_next/static/chunks/24pq9210rng3f.js +1 -0
  126. package/out/_next/static/chunks/{0zf26k6juhlzo.js → 267prao6fyt22.js} +23 -20
  127. package/out/_next/static/chunks/26skkagvj1z96.js +1 -0
  128. package/out/_next/static/chunks/26y9sv8_-ykxf.js +1 -0
  129. package/out/_next/static/chunks/2701xfv_07wz_.js +1 -0
  130. package/out/_next/static/chunks/{1x99m91nt1m3b.js → 271333m8y3k0e.js} +1 -1
  131. package/out/_next/static/chunks/29rkmguzky-bp.js +1 -0
  132. package/out/_next/static/chunks/{077eo-0dhbxz-.js → 2a07so920b6aa.js} +1 -1
  133. package/out/_next/static/chunks/2a2oy8ryz2tsk.js +1 -0
  134. package/out/_next/static/chunks/2ao-3jzz7yw3p.js +532 -0
  135. package/out/_next/static/chunks/2apihn9ra2ufp.js +1 -0
  136. package/out/_next/static/chunks/2apnpj0-fs9ks.js +1 -0
  137. package/out/_next/static/chunks/2b481pitl4k85.js +1 -0
  138. package/out/_next/static/chunks/2bettxaqt3d2p.js +1 -0
  139. package/out/_next/static/chunks/{1fyh50hjt7hi_.js → 2c721vfva711t.js} +1 -1
  140. package/out/_next/static/chunks/{442e2l3jzxd-_.js → 2d2kl_m64j9cb.js} +1 -1
  141. package/out/_next/static/chunks/2droqjmvmgj13.js +1 -0
  142. package/out/_next/static/chunks/2dxbvwbbgpzoq.js +1 -0
  143. package/out/_next/static/chunks/2eqbsut829r5l.js +1 -0
  144. package/out/_next/static/chunks/2f3_mzxjh3gso.js +1 -0
  145. package/out/_next/static/chunks/2fsde0jwi5qtt.js +1 -0
  146. package/out/_next/static/chunks/2h249uvhh2sij.js +114 -0
  147. package/out/_next/static/chunks/{1gvdmbr65lpud.js → 2izok2otbk8-2.js} +505 -505
  148. package/out/_next/static/chunks/{0yvevihll7sz-.js → 2j120dkh7q3uf.js} +1 -1
  149. package/out/_next/static/chunks/2j2ynchpqh34-.js +1 -0
  150. package/out/_next/static/chunks/2kj6pzs_wap1v.js +1 -0
  151. package/out/_next/static/chunks/{2-p206i_ihx09.js → 2kok6zedeeltw.js} +1 -1
  152. package/out/_next/static/chunks/2lnj9jruy4nrv.js +1 -0
  153. package/out/_next/static/chunks/{41yy4p3-rtyz1.js → 2lsvk7xcfkarc.js} +1 -1
  154. package/out/_next/static/chunks/2n-pveub8b_5t.js +1 -0
  155. package/out/_next/static/chunks/{00xc-0pj7on2s.js → 2n3xu_wbvtj7h.js} +29 -29
  156. package/out/_next/static/chunks/{1oljzgz5jistn.js → 2of8q0kaeqpf0.js} +1 -1
  157. package/out/_next/static/chunks/2ofwtw6p08sfz.js +1 -0
  158. package/out/_next/static/chunks/2phl5ta4iim7l.js +12 -0
  159. package/out/_next/static/chunks/2q6l-xdqzgmpf.js +1 -0
  160. package/out/_next/static/chunks/2q8yg63br2jc9.js +1 -0
  161. package/out/_next/static/chunks/2r5qgieqldcd9.js +1 -0
  162. package/out/_next/static/chunks/2r7y401cvjc1s.js +1 -0
  163. package/out/_next/static/chunks/{22ja7c3gk0_ko.js → 2r96kyeehsji9.js} +1 -1
  164. package/out/_next/static/chunks/{3gyyjsot8mdav.js → 2rmc6ru7mc-kg.js} +1 -1
  165. package/out/_next/static/chunks/{1ephzzweysylq.js → 2s6kpclh6ie7o.js} +901 -973
  166. package/out/_next/static/chunks/{0vso09vdz38sr.js → 2sys9nj8lo3uk.js} +1 -1
  167. package/out/_next/static/chunks/{0w-hm7g7trtjg.js → 2tc3e-iqv71y_.js} +1 -1
  168. package/out/_next/static/chunks/2uo6vm7mfgrbf.js +1 -0
  169. package/out/_next/static/chunks/2urx6fow8c8c9.js +505 -0
  170. package/out/_next/static/chunks/2w2k1gveljyb7.js +1 -0
  171. package/out/_next/static/chunks/{22rl_arnzs-ve.js → 2w99knknr5i8c.js} +1 -1
  172. package/out/_next/static/chunks/2w_ptlw-ad8-9.js +4 -0
  173. package/out/_next/static/chunks/2ws1s9d52ayv8.js +1 -0
  174. package/out/_next/static/chunks/2x7enks3ydgai.js +1 -0
  175. package/out/_next/static/chunks/{2e46-2ubc90do.js → 2y8i7_nxm4r05.js} +5 -5
  176. package/out/_next/static/chunks/2ydub0t01728d.js +1 -0
  177. package/out/_next/static/chunks/{309f81l5ucsb_.js → 2z_iab7ozohhq.js} +60 -60
  178. package/out/_next/static/chunks/3-m_vzabs1uez.js +1 -0
  179. package/out/_next/static/chunks/{0t89-lfct-7m6.js → 302qk2fjdrthp.js} +5 -5
  180. package/out/_next/static/chunks/30bhz7czzs4mf.js +1 -0
  181. package/out/_next/static/chunks/{0tn-9w46cwydp.js → 30n4y_uu8chbh.js} +515 -514
  182. package/out/_next/static/chunks/{2-hdejef-mpka.js → 32_c4mbb6j1l6.js} +372 -169
  183. package/out/_next/static/chunks/33hp-khdfohdq.js +1 -0
  184. package/out/_next/static/chunks/{28ndw4nsw2t_4.js → 33i36o_l69sm5.js} +1 -1
  185. package/out/_next/static/chunks/3527r3jo5fj3i.js +1 -0
  186. package/out/_next/static/chunks/355dg8yaa94hr.js +1 -0
  187. package/out/_next/static/chunks/{11p92pnn5el0v.js → 35ntbr_c-yx44.js} +1 -1
  188. package/out/_next/static/chunks/{2rjfrjhp4kjev.js → 35sne1llxnc-m.js} +57 -57
  189. package/out/_next/static/chunks/36enkx1skkv2-.js +4 -0
  190. package/out/_next/static/chunks/{3-x7522okdy-7.js → 3772oce1n3t_g.js} +1 -1
  191. package/out/_next/static/chunks/{1rb8wewjbdisv.js → 37cnbm5ft1mqf.js} +1 -1
  192. package/out/_next/static/chunks/38xdo3cifphut.js +1 -0
  193. package/out/_next/static/chunks/{1tt1bbry-4f-6.js → 3_dgblylldcgb.js} +1 -1
  194. package/out/_next/static/chunks/3beawo-qwuk8k.js +1 -0
  195. package/out/_next/static/chunks/3cj_6sl9kr3e9.js +1 -0
  196. package/out/_next/static/chunks/3d-i_skta_wes.js +1 -0
  197. package/out/_next/static/chunks/3df_l2we755bb.js +1 -0
  198. package/out/_next/static/chunks/{43hwl25uke0l_.js → 3eve5y7fpzx2h.js} +1 -1
  199. package/out/_next/static/chunks/3ewgyb4y19w-3.js +1 -0
  200. package/out/_next/static/chunks/3f3789eh18_oy.js +1 -0
  201. package/out/_next/static/chunks/{1n_gxvu31aofy.js → 3f8qelpscqfym.js} +2 -2
  202. package/out/_next/static/chunks/3g3-e9m1en45q.js +1 -0
  203. package/out/_next/static/chunks/{0uxdbfa8gv6tk.js → 3h6akt2uu05ku.js} +29 -29
  204. package/out/_next/static/chunks/{3w4qettzp7khe.js → 3huu0tqmxwowu.js} +523 -522
  205. package/out/_next/static/chunks/3i239y-1hbkm-.js +1 -0
  206. package/out/_next/static/chunks/{1qsut_e3msg0l.js → 3ipx7xbxchsq9.js} +1 -1
  207. package/out/_next/static/chunks/{2ftp5xmq_w23j.js → 3j9xvdz55bi4p.js} +345 -345
  208. package/out/_next/static/chunks/3kp8qmhoi24oz.js +1 -0
  209. package/out/_next/static/chunks/3ksq69yq-40_r.js +1 -0
  210. package/out/_next/static/chunks/{2x83vs8ns4pww.js → 3njwfothmmg7u.js} +3 -3
  211. package/out/_next/static/chunks/{0bj_310rugcn1.js → 3oqxl46ukaojj.js} +11 -11
  212. package/out/_next/static/chunks/{1upkv4ltuh3s5.js → 3qn6r8-0u6dij.js} +352 -352
  213. package/out/_next/static/chunks/3qye1lytea2i8.js +1 -0
  214. package/out/_next/static/chunks/3rlp9yr75liz7.js +1 -0
  215. package/out/_next/static/chunks/{2i82rmjta9ijs.js → 3sa_hlx3konc7.js} +1 -1
  216. package/out/_next/static/chunks/3tyo643l62h3m.js +1 -0
  217. package/out/_next/static/chunks/3tz2tpqa9uvwm.js +1 -0
  218. package/out/_next/static/chunks/{2pbgsq7vvtk8_.js → 3utpc-fc6_y0f.js} +1 -1
  219. package/out/_next/static/chunks/3v-0c2aj6c0on.js +1 -0
  220. package/out/_next/static/chunks/3v6nxa28rxngq.js +1 -0
  221. package/out/_next/static/chunks/{1og49_atcksim.js → 3vbamaoiuk9yj.js} +1 -1
  222. package/out/_next/static/chunks/3vv99btjc-mky.js +1 -0
  223. package/out/_next/static/chunks/{1nqojcig-0m3c.js → 3w59kt5ztyvoq.js} +1 -1
  224. package/out/_next/static/chunks/3x02lxdo28u9i.js +1 -0
  225. package/out/_next/static/chunks/3xl-op0hwxytg.js +272 -0
  226. package/out/_next/static/chunks/3ydnxyc4rvad_.js +1 -0
  227. package/out/_next/static/chunks/3ylg4gfetwgxw.js +1 -0
  228. package/out/_next/static/chunks/{1-4v8oivkgnyl.js → 3zdtteq-r2fs5.js} +3 -3
  229. package/out/_next/static/chunks/3zkwt0gybqtgm.js +1 -0
  230. package/out/_next/static/chunks/{0wq_9f98weoe3.js → 3zs7l4362msjd.js} +1 -1
  231. package/out/_next/static/chunks/40etabvml_71y.js +1 -0
  232. package/out/_next/static/chunks/417jkzz0slv9m.js +1 -0
  233. package/out/_next/static/chunks/41b5gpyqbj58m.js +338 -0
  234. package/out/_next/static/chunks/41u2-5jayyajf.js +22 -0
  235. package/out/_next/static/chunks/42gcpy51w7lk1.js +1 -0
  236. package/out/_next/static/chunks/{1ph0tfo-4hl-f.js → 42ymanq326mo7.js} +1 -1
  237. package/out/_next/static/chunks/{3w_umk1xtj6to.js → 43fp64xnfy646.js} +1 -1
  238. package/out/_next/static/chunks/43v4y2gu5z9_h.js +1 -0
  239. package/out/_next/static/chunks/44cer242u-f8v.js +1 -0
  240. package/out/_next/static/chunks/{1ozi46t8jajqh.js → 44zi0gl0a6a8w.js} +1 -1
  241. package/out/_next/static/chunks/turbopack-0n2o5_bkskckx.js +1 -0
  242. package/out/_not-found/__next._full.txt +12 -12
  243. package/out/_not-found/__next._not-found.__PAGE__.txt +19 -2
  244. package/out/_not-found/__next._tree.txt +2 -2
  245. package/out/_not-found.html +1 -1
  246. package/out/_not-found.txt +12 -12
  247. package/out/index.html +1 -1
  248. package/out/index.txt +11 -11
  249. package/package.json +15 -15
  250. package/out/__next._head.txt +0 -6
  251. package/out/__next._index.txt +0 -5
  252. package/out/_next/static/chunks/00g5suuoa-_wn.js +0 -1
  253. package/out/_next/static/chunks/01fh3_bncbe5u.js +0 -1
  254. package/out/_next/static/chunks/01urdkl1j8o6l.js +0 -1
  255. package/out/_next/static/chunks/026vw95s88gsy.js +0 -1
  256. package/out/_next/static/chunks/02eui3ctddbd2.js +0 -1
  257. package/out/_next/static/chunks/04c4nksb5y9r-.js +0 -1
  258. package/out/_next/static/chunks/04g-l-_b4payc.js +0 -1
  259. package/out/_next/static/chunks/04j9pexbmysdy.js +0 -1
  260. package/out/_next/static/chunks/055baac5e-c2o.js +0 -1
  261. package/out/_next/static/chunks/05bdni_jrobq1.js +0 -1
  262. package/out/_next/static/chunks/05o0tb8l_htmw.js +0 -1
  263. package/out/_next/static/chunks/07z6p262h5hgl.js +0 -1
  264. package/out/_next/static/chunks/08m_4cihfmik8.js +0 -1
  265. package/out/_next/static/chunks/08obqw64faj8j.js +0 -1
  266. package/out/_next/static/chunks/099ilz3dmm1jw.js +0 -1
  267. package/out/_next/static/chunks/09ppu_k464q-n.js +0 -1
  268. package/out/_next/static/chunks/0bgcaf2x51kms.js +0 -1
  269. package/out/_next/static/chunks/0c5d3qn2mb3ew.js +0 -1
  270. package/out/_next/static/chunks/0dck67in84de0.js +0 -1
  271. package/out/_next/static/chunks/0dg4wxz-6u5lo.js +0 -1
  272. package/out/_next/static/chunks/0dva036n8ab62.js +0 -1
  273. package/out/_next/static/chunks/0erga_bzezbza.js +0 -1
  274. package/out/_next/static/chunks/0f0-i105odxqd.js +0 -1
  275. package/out/_next/static/chunks/0gyeqz9pagssf.js +0 -1
  276. package/out/_next/static/chunks/0i82k-t0fbn8f.js +0 -1
  277. package/out/_next/static/chunks/0kzw45f61wm3j.js +0 -1
  278. package/out/_next/static/chunks/0l8bfa2xewq69.js +0 -1
  279. package/out/_next/static/chunks/0n-zml1gn0o1u.js +0 -1
  280. package/out/_next/static/chunks/0n92hec_jb_-_.js +0 -1
  281. package/out/_next/static/chunks/0pv2wirx45e1m.js +0 -1
  282. package/out/_next/static/chunks/0qxd_8t3nca36.js +0 -1
  283. package/out/_next/static/chunks/0s1jghzw8jufz.js +0 -1
  284. package/out/_next/static/chunks/0s84ekz_f9ngx.js +0 -1
  285. package/out/_next/static/chunks/0ti58h622yo-_.js +0 -2
  286. package/out/_next/static/chunks/0u8yr4k1y6m2t.js +0 -1
  287. package/out/_next/static/chunks/0ubxyut5rr600.js +0 -1
  288. package/out/_next/static/chunks/0wbw9h7rsis2r.js +0 -1
  289. package/out/_next/static/chunks/0y4e49hpuucdi.js +0 -1
  290. package/out/_next/static/chunks/1-b44873bjsdw.js +0 -1
  291. package/out/_next/static/chunks/1-c3a1vnl8v1q.js +0 -1
  292. package/out/_next/static/chunks/1-xf86jgea22y.js +0 -1
  293. package/out/_next/static/chunks/10b0qqdnb_nox.js +0 -1
  294. package/out/_next/static/chunks/12kdmh0h_mboy.js +0 -1
  295. package/out/_next/static/chunks/14ijcpo72av4r.js +0 -1
  296. package/out/_next/static/chunks/16hdip1drt8o-.js +0 -1
  297. package/out/_next/static/chunks/18txc1wwwu9f9.js +0 -1
  298. package/out/_next/static/chunks/18wa83g0qfh-b.js +0 -1
  299. package/out/_next/static/chunks/19dp8nr4uygg2.js +0 -5
  300. package/out/_next/static/chunks/1_8acnu6_-qe-.js +0 -1
  301. package/out/_next/static/chunks/1__nujzr9e352.js +0 -3
  302. package/out/_next/static/chunks/1bmyq1b0by7ug.js +0 -1
  303. package/out/_next/static/chunks/1d1tpj9nm1nhf.js +0 -1
  304. package/out/_next/static/chunks/1dfwa563iciz3.js +0 -1
  305. package/out/_next/static/chunks/1di5enkavl9vx.js +0 -4
  306. package/out/_next/static/chunks/1fwsjnd1y-lx_.js +0 -1
  307. package/out/_next/static/chunks/1gaexq_suxai0.js +0 -1
  308. package/out/_next/static/chunks/1gnggc6370ji-.js +0 -1
  309. package/out/_next/static/chunks/1gtj_l5ame5mw.js +0 -1
  310. package/out/_next/static/chunks/1hsvckd0sgdgr.js +0 -1
  311. package/out/_next/static/chunks/1i4f3n_2_3ery.js +0 -1
  312. package/out/_next/static/chunks/1j7e3qpjuj89a.js +0 -1
  313. package/out/_next/static/chunks/1mrvp94tietcv.js +0 -1
  314. package/out/_next/static/chunks/1mvadj46owrck.js +0 -1
  315. package/out/_next/static/chunks/1nasz7q3tvb53.js +0 -1
  316. package/out/_next/static/chunks/1o3ggu95lfu6i.js +0 -1
  317. package/out/_next/static/chunks/1qjsgebn9m-0l.js +0 -1
  318. package/out/_next/static/chunks/1rr74xxjtckyv.js +0 -1
  319. package/out/_next/static/chunks/1uu55ejvi7q5u.js +0 -1
  320. package/out/_next/static/chunks/1xbzxfeq9789f.js +0 -1
  321. package/out/_next/static/chunks/1ybiu-rkt50_1.js +0 -1
  322. package/out/_next/static/chunks/20qelrstvz9_n.js +0 -1
  323. package/out/_next/static/chunks/21at65obnoo8z.js +0 -1
  324. package/out/_next/static/chunks/21ko5mxfderw0.js +0 -1
  325. package/out/_next/static/chunks/21muzwu43o8xg.js +0 -1
  326. package/out/_next/static/chunks/23d-hvrwpixpm.js +0 -1
  327. package/out/_next/static/chunks/2569rrrffvm2w.js +0 -31
  328. package/out/_next/static/chunks/29o74k0d6hkdf.js +0 -1
  329. package/out/_next/static/chunks/2bm95r0011asw.js +0 -1
  330. package/out/_next/static/chunks/2btabnibkm0db.js +0 -1
  331. package/out/_next/static/chunks/2c--awgkdcikq.js +0 -1
  332. package/out/_next/static/chunks/2c2dspoukng-5.js +0 -1
  333. package/out/_next/static/chunks/2ep7mjbaoeou0.js +0 -1
  334. package/out/_next/static/chunks/2ezgqm7atphi6.js +0 -1
  335. package/out/_next/static/chunks/2gfjzq_vjea4w.js +0 -1
  336. package/out/_next/static/chunks/2h5hase6ewoyc.js +0 -1
  337. package/out/_next/static/chunks/2hghi41nhdww2.css +0 -3
  338. package/out/_next/static/chunks/2ies66gmou203.js +0 -1
  339. package/out/_next/static/chunks/2jenu2eek9viz.js +0 -1
  340. package/out/_next/static/chunks/2luaj_cf5f19-.js +0 -1
  341. package/out/_next/static/chunks/2mgmvz66gh5ub.js +0 -1
  342. package/out/_next/static/chunks/2nwlqtv3vrzcv.js +0 -1
  343. package/out/_next/static/chunks/2o8k8x5zcepfy.js +0 -1
  344. package/out/_next/static/chunks/2pcdnd4nzcw4c.js +0 -1
  345. package/out/_next/static/chunks/2q0rz76kj6h5z.js +0 -1
  346. package/out/_next/static/chunks/2si5cg3hl5dtf.js +0 -4
  347. package/out/_next/static/chunks/2uhrhq35bki6u.js +0 -1
  348. package/out/_next/static/chunks/2wi7y3sfqyqdo.js +0 -3
  349. package/out/_next/static/chunks/2ymtumj-hfrjo.js +0 -1
  350. package/out/_next/static/chunks/2zdzgmacaoor9.js +0 -1
  351. package/out/_next/static/chunks/3-irhmtm1q5qw.js +0 -1
  352. package/out/_next/static/chunks/3-k74vn9exnb6.js +0 -1
  353. package/out/_next/static/chunks/31ei992g8gqz9.js +0 -1
  354. package/out/_next/static/chunks/34845aqksy1dl.js +0 -3
  355. package/out/_next/static/chunks/34y7nx6qmat06.js +0 -1
  356. package/out/_next/static/chunks/36rqw8h6ildpl.js +0 -1
  357. package/out/_next/static/chunks/3a_khw6q6pyh1.js +0 -1
  358. package/out/_next/static/chunks/3c_31f20z4jrl.js +0 -1
  359. package/out/_next/static/chunks/3ckp70rgr63u9.js +0 -1
  360. package/out/_next/static/chunks/3ed24zmt8qfys.js +0 -1
  361. package/out/_next/static/chunks/3ez20hi1mxw0w.js +0 -1
  362. package/out/_next/static/chunks/3fdx-rnos5ft-.js +0 -1
  363. package/out/_next/static/chunks/3fgfbxxb-j_bn.js +0 -4
  364. package/out/_next/static/chunks/3k-gz8qf-mj-p.js +0 -1
  365. package/out/_next/static/chunks/3lehc5pujwhsz.js +0 -1
  366. package/out/_next/static/chunks/3m0ytnc241yfz.js +0 -1
  367. package/out/_next/static/chunks/3mpe7c3iyxn5h.js +0 -1
  368. package/out/_next/static/chunks/3mvaub8qjdyuc.js +0 -1
  369. package/out/_next/static/chunks/3nw7u4bie0-g6.js +0 -1
  370. package/out/_next/static/chunks/3qatb38-tk_gd.js +0 -1
  371. package/out/_next/static/chunks/3tdcdi_utmoy_.js +0 -1
  372. package/out/_next/static/chunks/3tdzweqszru4y.js +0 -1
  373. package/out/_next/static/chunks/3tt_ir_va6262.js +0 -1
  374. package/out/_next/static/chunks/3y_51bmdnc0ey.js +0 -1
  375. package/out/_next/static/chunks/3yr66ufoli71t.js +0 -1
  376. package/out/_next/static/chunks/41qxc142snm22.js +0 -1
  377. package/out/_next/static/chunks/43qmngblcab8f.js +0 -1
  378. package/out/_next/static/chunks/turbopack-3r8yn0j92tqw_.js +0 -1
  379. package/out/_not-found/__next._head.txt +0 -6
  380. package/out/_not-found/__next._index.txt +0 -5
  381. package/out/_not-found/__next._not-found.txt +0 -5
  382. /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_buildManifest.js +0 -0
  383. /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_clientMiddlewareManifest.js +0 -0
  384. /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16594,76883,e=>{"use strict";var t=e.i(85595),i=e.i(53773),r=e.i(70432),s=e.i(19990),a=e.i(42580),o=e.i(45707),n=e.i(53692),l=e.i(62844),u=e.i(67298),h=e.i(57135),d=e.i(47700),p=e.i(25974),T=e.i(24462),_=e.i(69914),f=e.i(22473),c=e.i(36146),m=e.i(47899),E=e.i(1682),x=e.i(68401),A=e.i(75493),P=e.i(71094),R=e.i(79757),g=e.i(67482),S=e.i(38116),I=e.i(33945);let F={effect:null,subMesh:null};class b extends(0,R.PrepassDefinesMixin)((0,P.UVDefinesMixin)(d.MaterialDefines)){}class M extends(0,l.ImageProcessingDefinesMixin)(b){constructor(e){super(e),this.DIFFUSE=!1,this.DIFFUSEDIRECTUV=0,this.BAKED_VERTEX_ANIMATION_TEXTURE=!1,this.AMBIENT=!1,this.AMBIENTDIRECTUV=0,this.OPACITY=!1,this.OPACITYDIRECTUV=0,this.OPACITYRGB=!1,this.REFLECTION=!1,this.EMISSIVE=!1,this.EMISSIVEDIRECTUV=0,this.SPECULAR=!1,this.SPECULARDIRECTUV=0,this.BUMP=!1,this.BUMPDIRECTUV=0,this.PARALLAX=!1,this.PARALLAX_RHS=!1,this.PARALLAXOCCLUSION=!1,this.SPECULAROVERALPHA=!1,this.CLIPPLANE=!1,this.CLIPPLANE2=!1,this.CLIPPLANE3=!1,this.CLIPPLANE4=!1,this.CLIPPLANE5=!1,this.CLIPPLANE6=!1,this.ALPHATEST=!1,this.DEPTHPREPASS=!1,this.ALPHAFROMDIFFUSE=!1,this.POINTSIZE=!1,this.FOG=!1,this.SPECULARTERM=!1,this.DIFFUSEFRESNEL=!1,this.OPACITYFRESNEL=!1,this.REFLECTIONFRESNEL=!1,this.REFRACTIONFRESNEL=!1,this.EMISSIVEFRESNEL=!1,this.FRESNEL=!1,this.NORMAL=!1,this.TANGENT=!1,this.VERTEXCOLOR=!1,this.VERTEXALPHA=!1,this.NUM_BONE_INFLUENCERS=0,this.BonesPerMesh=0,this.BONETEXTURE=!1,this.BONES_VELOCITY_ENABLED=!1,this.INSTANCES=!1,this.THIN_INSTANCES=!1,this.INSTANCESCOLOR=!1,this.GLOSSINESS=!1,this.ROUGHNESS=!1,this.EMISSIVEASILLUMINATION=!1,this.LINKEMISSIVEWITHDIFFUSE=!1,this.REFLECTIONFRESNELFROMSPECULAR=!1,this.LIGHTMAP=!1,this.LIGHTMAPDIRECTUV=0,this.OBJECTSPACE_NORMALMAP=!1,this.USELIGHTMAPASSHADOWMAP=!1,this.REFLECTIONMAP_3D=!1,this.REFLECTIONMAP_SPHERICAL=!1,this.REFLECTIONMAP_PLANAR=!1,this.REFLECTIONMAP_CUBIC=!1,this.USE_LOCAL_REFLECTIONMAP_CUBIC=!1,this.USE_LOCAL_REFRACTIONMAP_CUBIC=!1,this.REFLECTIONMAP_PROJECTION=!1,this.REFLECTIONMAP_SKYBOX=!1,this.REFLECTIONMAP_EXPLICIT=!1,this.REFLECTIONMAP_EQUIRECTANGULAR=!1,this.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!1,this.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!1,this.REFLECTIONMAP_OPPOSITEZ=!1,this.INVERTCUBICMAP=!1,this.LOGARITHMICDEPTH=!1,this.REFRACTION=!1,this.REFRACTIONMAP_3D=!1,this.REFLECTIONOVERALPHA=!1,this.TWOSIDEDLIGHTING=!1,this.SHADOWFLOAT=!1,this.MORPHTARGETS=!1,this.MORPHTARGETS_POSITION=!1,this.MORPHTARGETS_NORMAL=!1,this.MORPHTARGETS_TANGENT=!1,this.MORPHTARGETS_UV=!1,this.MORPHTARGETS_UV2=!1,this.MORPHTARGETS_COLOR=!1,this.MORPHTARGETTEXTURE_HASPOSITIONS=!1,this.MORPHTARGETTEXTURE_HASNORMALS=!1,this.MORPHTARGETTEXTURE_HASTANGENTS=!1,this.MORPHTARGETTEXTURE_HASUVS=!1,this.MORPHTARGETTEXTURE_HASUV2S=!1,this.MORPHTARGETTEXTURE_HASCOLORS=!1,this.NUM_MORPH_INFLUENCERS=0,this.MORPHTARGETS_TEXTURE=!1,this.NONUNIFORMSCALING=!1,this.PREMULTIPLYALPHA=!1,this.ALPHATEST_AFTERALLALPHACOMPUTATIONS=!1,this.ALPHABLEND=!0,this.RGBDLIGHTMAP=!1,this.RGBDREFLECTION=!1,this.RGBDREFRACTION=!1,this.MULTIVIEW=!1,this.ORDER_INDEPENDENT_TRANSPARENCY=!1,this.ORDER_INDEPENDENT_TRANSPARENCY_16BITS=!1,this.CAMERA_ORTHOGRAPHIC=!1,this.CAMERA_PERSPECTIVE=!1,this.AREALIGHTSUPPORTED=!0,this.USE_VERTEX_PULLING=!1,this.VERTEX_PULLING_USE_INDEX_BUFFER=!1,this.VERTEX_PULLING_INDEX_BUFFER_32BITS=!1,this.RIGHT_HANDED=!1,this.CLUSTLIGHT_SLICES=0,this.CLUSTLIGHT_BATCH=0,this.IS_REFLECTION_LINEAR=!1,this.IS_REFRACTION_LINEAR=!1,this.DECAL_AFTER_DETAIL=!1,this.TEXTURE_REPETITION_MODE=0,this.rebuild()}}class v extends(0,g.ImageProcessingMixin)(p.PushMaterial){}class C extends v{get isPrePassCapable(){return!this.disableDepthWrite}get canRenderToMRT(){return!0}constructor(e,t,i=!1){super(e,t,void 0,i||C.ForceGLSL),this._diffuseTexture=null,this._ambientTexture=null,this._opacityTexture=null,this._reflectionTexture=null,this._emissiveTexture=null,this._specularTexture=null,this._bumpTexture=null,this._lightmapTexture=null,this._refractionTexture=null,this.ambientColor=new a.Color3(0,0,0),this.diffuseColor=new a.Color3(1,1,1),this.specularColor=new a.Color3(1,1,1),this.emissiveColor=new a.Color3(0,0,0),this.specularPower=64,this._useAlphaFromDiffuseTexture=!1,this._useEmissiveAsIllumination=!1,this._linkEmissiveWithDiffuse=!1,this._useSpecularOverAlpha=!1,this._useReflectionOverAlpha=!1,this._disableLighting=!1,this._useObjectSpaceNormalMap=!1,this._useParallax=!1,this._useParallaxOcclusion=!1,this.parallaxScaleBias=.05,this._roughness=0,this.indexOfRefraction=.98,this.invertRefractionY=!0,this.alphaCutOff=.4,this._useLightmapAsShadowmap=!1,this._useReflectionFresnelFromSpecular=!1,this._useGlossinessFromSpecularMapAlpha=!1,this._maxSimultaneousLights=4,this._invertNormalMapX=!1,this._invertNormalMapY=!1,this._twoSidedLighting=!1,this._applyDecalMapAfterDetailMap=!1,this._shadersLoaded=!1,this._vertexPullingMetadata=null,this._renderTargets=new r.SmartArray(16),this._globalAmbientColor=new a.Color3(0,0,0),this._cacheHasRenderTargetTextures=!1,this.detailMap=new f.DetailMapConfiguration(this),this._attachImageProcessingConfiguration(null),this.prePassConfiguration=new n.PrePassConfiguration,this.getRenderTargetTextures=()=>(this._renderTargets.reset(),C.ReflectionTextureEnabled&&this._reflectionTexture&&this._reflectionTexture.isRenderTarget&&this._renderTargets.push(this._reflectionTexture),C.RefractionTextureEnabled&&this._refractionTexture&&this._refractionTexture.isRenderTarget&&this._renderTargets.push(this._refractionTexture),this._eventInfo.renderTargets=this._renderTargets,this._callbackPluginEventFillRenderTargetTextures(this._eventInfo),this._renderTargets)}get hasRenderTargetTextures(){return!!C.ReflectionTextureEnabled&&!!this._reflectionTexture&&!!this._reflectionTexture.isRenderTarget||!!C.RefractionTextureEnabled&&!!this._refractionTexture&&!!this._refractionTexture.isRenderTarget||this._cacheHasRenderTargetTextures}getClassName(){return"StandardMaterial"}needAlphaBlending(){return this._hasTransparencyMode?this._transparencyModeIsBlend:!this._disableAlphaBlending&&(this.alpha<1||null!=this._opacityTexture||this._shouldUseAlphaFromDiffuseTexture()||this._opacityFresnelParameters&&this._opacityFresnelParameters.isEnabled)}needAlphaTesting(){return this._hasTransparencyMode?this._transparencyModeIsTest:this._hasAlphaChannel()&&(null==this._transparencyMode||this._transparencyMode===h.Material.MATERIAL_ALPHATEST)}_shouldUseAlphaFromDiffuseTexture(){return null!=this._diffuseTexture&&this._diffuseTexture.hasAlpha&&this._useAlphaFromDiffuseTexture&&this._transparencyMode!==h.Material.MATERIAL_OPAQUE}_hasAlphaChannel(){return null!=this._diffuseTexture&&this._diffuseTexture.hasAlpha||null!=this._opacityTexture}getAlphaTestTexture(){return this._diffuseTexture}isReadyForSubMesh(t,i,r=!1){this._uniformBufferLayoutBuilt||this.buildUniformLayout();let s=i._drawWrapper;if(s.effect&&this.isFrozen&&s._wasPreviouslyReady&&s._wasPreviouslyUsingInstances===r)return!0;i.materialDefines||(this._callbackPluginEventGeneric(4,this._eventInfo),i.materialDefines=new M(this._eventInfo.defineNames));let a=this.getScene(),l=i.materialDefines;if(this._isReadyForSubMesh(i))return!0;let h=a.getEngine();if(l._needNormals=(0,E.PrepareDefinesForLights)(a,t,l,!0,this._maxSimultaneousLights,this._disableLighting),!(0,E.AreLightsTexturesReady)(a,t,this._maxSimultaneousLights,this._disableLighting))return!1;(0,E.PrepareDefinesForMultiview)(a,l);let d=this.needAlphaBlendingForMesh(t)&&this.getScene().useOrderIndependentTransparency;if((0,E.PrepareDefinesForPrePass)(a,l,this.canRenderToMRT&&!d),(0,E.PrepareDefinesForOIT)(a,l,d),A.MaterialHelperGeometryRendering.PrepareDefines(h.currentRenderPassId,t,l),l._areTexturesDirty){this._eventInfo.hasRenderTargetTextures=!1,this._callbackPluginEventHasRenderTargetTextures(this._eventInfo),this._cacheHasRenderTargetTextures=this._eventInfo.hasRenderTargetTextures,l._needUVs=!1;for(let e=1;e<=6;++e)l["MAINUV"+e]=!1;if(a.texturesEnabled){if(l.DIFFUSEDIRECTUV=0,l.BUMPDIRECTUV=0,l.AMBIENTDIRECTUV=0,l.OPACITYDIRECTUV=0,l.EMISSIVEDIRECTUV=0,l.SPECULARDIRECTUV=0,l.LIGHTMAPDIRECTUV=0,this._diffuseTexture&&C.DiffuseTextureEnabled)if(!this._diffuseTexture.isReadyOrNotBlocking())return!1;else(0,E.PrepareDefinesForMergedUV)(this._diffuseTexture,l,"DIFFUSE");else l.DIFFUSE=!1;if(this._ambientTexture&&C.AmbientTextureEnabled)if(!this._ambientTexture.isReadyOrNotBlocking())return!1;else(0,E.PrepareDefinesForMergedUV)(this._ambientTexture,l,"AMBIENT");else l.AMBIENT=!1;if(this._opacityTexture&&C.OpacityTextureEnabled)if(!this._opacityTexture.isReadyOrNotBlocking())return!1;else(0,E.PrepareDefinesForMergedUV)(this._opacityTexture,l,"OPACITY"),l.OPACITYRGB=this._opacityTexture.getAlphaFromRGB;else l.OPACITY=!1;if(this._reflectionTexture&&C.ReflectionTextureEnabled?(l.ROUGHNESS=this._roughness>0,l.REFLECTIONOVERALPHA=this._useReflectionOverAlpha):(l.ROUGHNESS=!1,l.REFLECTIONOVERALPHA=!1),!(0,E.PrepareDefinesForIBL)(a,this._reflectionTexture,l))return!1;if(this._emissiveTexture&&C.EmissiveTextureEnabled)if(!this._emissiveTexture.isReadyOrNotBlocking())return!1;else(0,E.PrepareDefinesForMergedUV)(this._emissiveTexture,l,"EMISSIVE");else l.EMISSIVE=!1;if(this._lightmapTexture&&C.LightmapTextureEnabled)if(!this._lightmapTexture.isReadyOrNotBlocking())return!1;else(0,E.PrepareDefinesForMergedUV)(this._lightmapTexture,l,"LIGHTMAP"),l.USELIGHTMAPASSHADOWMAP=this._useLightmapAsShadowmap,l.RGBDLIGHTMAP=this._lightmapTexture.isRGBD;else l.LIGHTMAP=!1;if(this._specularTexture&&C.SpecularTextureEnabled)if(!this._specularTexture.isReadyOrNotBlocking())return!1;else(0,E.PrepareDefinesForMergedUV)(this._specularTexture,l,"SPECULAR"),l.GLOSSINESS=this._useGlossinessFromSpecularMapAlpha;else l.SPECULAR=!1;if(a.getEngine().getCaps().standardDerivatives&&this._bumpTexture&&C.BumpTextureEnabled){if(!this._bumpTexture.isReady())return!1;(0,E.PrepareDefinesForMergedUV)(this._bumpTexture,l,"BUMP"),l.PARALLAX=this._useParallax,l.PARALLAX_RHS=a.useRightHandedSystem,l.PARALLAXOCCLUSION=this._useParallaxOcclusion,l.OBJECTSPACE_NORMALMAP=this._useObjectSpaceNormalMap}else l.BUMP=!1,l.PARALLAX=!1,l.PARALLAX_RHS=!1,l.PARALLAXOCCLUSION=!1;if(this._refractionTexture&&C.RefractionTextureEnabled)if(!this._refractionTexture.isReadyOrNotBlocking())return!1;else l._needUVs=!0,l.REFRACTION=!0,l.REFRACTIONMAP_3D=this._refractionTexture.isCube,l.RGBDREFRACTION=this._refractionTexture.isRGBD,l.USE_LOCAL_REFRACTIONMAP_CUBIC=!!this._refractionTexture.boundingBoxSize;else l.REFRACTION=!1;l.TWOSIDEDLIGHTING=!this._backFaceCulling&&this._twoSidedLighting}else l.DIFFUSE=!1,l.AMBIENT=!1,l.OPACITY=!1,l.REFLECTION=!1,l.EMISSIVE=!1,l.LIGHTMAP=!1,l.BUMP=!1,l.REFRACTION=!1;l.ALPHAFROMDIFFUSE=this._shouldUseAlphaFromDiffuseTexture(),l.EMISSIVEASILLUMINATION=this._useEmissiveAsIllumination,l.LINKEMISSIVEWITHDIFFUSE=this._linkEmissiveWithDiffuse,l.SPECULAROVERALPHA=this._useSpecularOverAlpha,l.PREMULTIPLYALPHA=7===this.alphaMode||8===this.alphaMode,l.ALPHATEST_AFTERALLALPHACOMPUTATIONS=null!==this.transparencyMode,l.ALPHABLEND=null===this.transparencyMode||this.needAlphaBlendingForMesh(t),l.TEXTURE_REPETITION_MODE=h.version>1||h.isWebGPU?this.textureRepetitionMode:0}if(this._eventInfo.isReadyForSubMesh=!0,this._eventInfo.defines=l,this._eventInfo.subMesh=i,this._callbackPluginEventIsReadyForSubMesh(this._eventInfo),!this._eventInfo.isReadyForSubMesh)return!1;if(l._areImageProcessingDirty&&this._imageProcessingConfiguration){if(!this._imageProcessingConfiguration.isReady())return!1;this._imageProcessingConfiguration.prepareDefines(l),l.IS_REFLECTION_LINEAR=null!=this.reflectionTexture&&!this.reflectionTexture.gammaSpace,l.IS_REFRACTION_LINEAR=null!=this.refractionTexture&&!this.refractionTexture.gammaSpace}if(l._areFresnelDirty&&(C.FresnelEnabled?(this._diffuseFresnelParameters||this._opacityFresnelParameters||this._emissiveFresnelParameters||this._refractionFresnelParameters||this._reflectionFresnelParameters)&&(l.DIFFUSEFRESNEL=this._diffuseFresnelParameters&&this._diffuseFresnelParameters.isEnabled,l.OPACITYFRESNEL=this._opacityFresnelParameters&&this._opacityFresnelParameters.isEnabled,l.REFLECTIONFRESNEL=this._reflectionFresnelParameters&&this._reflectionFresnelParameters.isEnabled,l.REFLECTIONFRESNELFROMSPECULAR=this._useReflectionFresnelFromSpecular,l.REFRACTIONFRESNEL=this._refractionFresnelParameters&&this._refractionFresnelParameters.isEnabled,l.EMISSIVEFRESNEL=this._emissiveFresnelParameters&&this._emissiveFresnelParameters.isEnabled,l._needNormals=!0,l.FRESNEL=!0):l.FRESNEL=!1),l.AREALIGHTUSED||l.CLUSTLIGHT_BATCH){for(let e=0;e<t.lightSources.length;e++)if(!t.lightSources[e]._isReady())return!1}(0,E.PrepareDefinesForMisc)(t,a,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,this.needAlphaTestingForMesh(t),l,this._applyDecalMapAfterDetailMap,this._useVertexPulling,i.getRenderingMesh(),this._isVertexOutputInvariant),(0,E.PrepareDefinesForFrameBoundValues)(a,h,this,l,r,null,i.getRenderingMesh().hasThinInstances),this._eventInfo.defines=l,this._eventInfo.mesh=t,this._callbackPluginEventPrepareDefinesBeforeAttributes(this._eventInfo),(0,E.PrepareDefinesForAttributes)(t,l,!0,!0,!0),this._callbackPluginEventPrepareDefines(this._eventInfo);let p=!1;if(l.isDirty){let r=l._areLightsDisposed;l.markAsProcessed();let s=new _.EffectFallbacks;l.REFLECTION&&s.addFallback(0,"REFLECTION"),l.SPECULAR&&s.addFallback(0,"SPECULAR"),l.BUMP&&s.addFallback(0,"BUMP"),l.PARALLAX&&s.addFallback(1,"PARALLAX"),l.PARALLAX_RHS&&s.addFallback(1,"PARALLAX_RHS"),l.PARALLAXOCCLUSION&&s.addFallback(0,"PARALLAXOCCLUSION"),l.SPECULAROVERALPHA&&s.addFallback(0,"SPECULAROVERALPHA"),l.FOG&&s.addFallback(1,"FOG"),l.POINTSIZE&&s.addFallback(0,"POINTSIZE"),l.LOGARITHMICDEPTH&&s.addFallback(0,"LOGARITHMICDEPTH"),(0,E.HandleFallbacksForShadows)(l,s,this._maxSimultaneousLights),l.SPECULARTERM&&s.addFallback(0,"SPECULARTERM"),l.DIFFUSEFRESNEL&&s.addFallback(1,"DIFFUSEFRESNEL"),l.OPACITYFRESNEL&&s.addFallback(2,"OPACITYFRESNEL"),l.REFLECTIONFRESNEL&&s.addFallback(3,"REFLECTIONFRESNEL"),l.EMISSIVEFRESNEL&&s.addFallback(4,"EMISSIVEFRESNEL"),l.FRESNEL&&s.addFallback(4,"FRESNEL"),l.MULTIVIEW&&s.addFallback(0,"MULTIVIEW");let d=[o.VertexBuffer.PositionKind];l.NORMAL&&d.push(o.VertexBuffer.NormalKind),l.TANGENT&&d.push(o.VertexBuffer.TangentKind);for(let e=1;e<=6;++e)l["UV"+e]&&d.push(`uv${1===e?"":e}`);l.VERTEXCOLOR&&d.push(o.VertexBuffer.ColorKind),(0,E.PrepareAttributesForBones)(d,t,l,s),(0,E.PrepareAttributesForInstances)(d,l),(0,E.PrepareAttributesForMorphTargets)(d,t,l),(0,E.PrepareAttributesForBakedVertexAnimation)(d,t,l);let T="default",f=["world","view","viewProjection","vEyePosition","vLightsType","vAmbientColor","vDiffuseColor","vSpecularColor","vEmissiveColor","visibility","vFogInfos","vFogColor","pointSize","vDiffuseInfos","vAmbientInfos","vOpacityInfos","vEmissiveInfos","vSpecularInfos","vBumpInfos","vLightmapInfos","vRefractionInfos","mBones","diffuseMatrix","ambientMatrix","opacityMatrix","emissiveMatrix","specularMatrix","bumpMatrix","normalMatrix","lightmapMatrix","refractionMatrix","diffuseLeftColor","diffuseRightColor","opacityParts","reflectionLeftColor","reflectionRightColor","emissiveLeftColor","emissiveRightColor","refractionLeftColor","refractionRightColor","vRefractionPosition","vRefractionSize","logarithmicDepthConstant","vTangentSpaceParams","alphaCutOff","boneTextureInfo","morphTargetTextureInfo","morphTargetTextureIndices","cameraInfo","vTextureRepetitionHexTilingParams"],x=["diffuseSampler","ambientSampler","opacitySampler","reflectionCubeSampler","reflection2DSampler","emissiveSampler","specularSampler","bumpSampler","lightmapSampler","refractionCubeSampler","refraction2DSampler","boneSampler","morphTargets","oitDepthSampler","oitFrontColorSampler","areaLightsLTC1Sampler","areaLightsLTC2Sampler"];(0,E.PrepareUniformsAndSamplersForIBL)(f,x,!1);let P=["Material","Scene","Mesh"],R={maxSimultaneousLights:this._maxSimultaneousLights,maxSimultaneousMorphTargets:l.NUM_MORPH_INFLUENCERS};if(this._eventInfo.fallbacks=s,this._eventInfo.fallbackRank=0,this._eventInfo.defines=l,this._eventInfo.uniforms=f,this._eventInfo.attributes=d,this._eventInfo.samplers=x,this._eventInfo.uniformBuffersNames=P,this._eventInfo.customCode=void 0,this._eventInfo.mesh=t,this._eventInfo.indexParameters=R,this._callbackPluginEventGeneric(128,this._eventInfo),A.MaterialHelperGeometryRendering.AddUniformsAndSamplers(f,x),n.PrePassConfiguration.AddUniforms(f),n.PrePassConfiguration.AddSamplers(x),u.ImageProcessingConfiguration&&(u.ImageProcessingConfiguration.PrepareUniforms(f,l),u.ImageProcessingConfiguration.PrepareSamplers(x,l)),(0,E.PrepareUniformsAndSamplersList)({uniformsNames:f,uniformBuffersNames:P,samplers:x,defines:l,maxSimultaneousLights:this._maxSimultaneousLights,shaderLanguage:this._shaderLanguage}),(0,c.AddClipPlaneUniforms)(f),this._useVertexPulling){let e=i.getRenderingMesh(),t=e?.geometry;t&&(this._vertexPullingMetadata=(0,m.PrepareVertexPullingUniforms)(t),this._vertexPullingMetadata&&this._vertexPullingMetadata.forEach((e,t)=>{f.push(`vp_${t}_info`)}))}else this._vertexPullingMetadata=null;let g={};this.customShaderNameResolve&&(T=this.customShaderNameResolve(T,f,P,x,l,d,g));let S=l.toString(),I=i.effect,b=a.getEngine().createEffect(T,{attributes:d,uniformsNames:f,uniformBuffersNames:P,samplers:x,defines:S,fallbacks:s,onCompiled:this.onCompiled,onError:this.onError,indexParameters:R,processFinalCode:g.processFinalCode,processCodeAfterIncludes:this._eventInfo.customCode,multiTarget:l.PREPASS,shaderLanguage:this._shaderLanguage,extraInitializationsAsync:this._shadersLoaded?void 0:async()=>{1===this._shaderLanguage?await Promise.all([e.A(14954),e.A(80146)]):await Promise.all([e.A(1e3),e.A(25243)]),this._shadersLoaded=!0}},h);if(this._eventInfo.customCode=void 0,b)if(this._onEffectCreatedObservable&&(F.effect=b,F.subMesh=i,this._onEffectCreatedObservable.notifyObservers(F)),this.allowShaderHotSwapping&&I&&!b.isReady()){if(l.markAsUnprocessed(),p=this.isFrozen,r)return l._areLightsDisposed=!0,!1}else a.resetCachedMaterial(),i.setEffect(b,l,this._materialContext)}return!!i.effect&&!!i.effect.isReady()&&(l._renderId=a.getRenderId(),s._wasPreviouslyReady=!p,s._wasPreviouslyUsingInstances=r,this._checkScenePerformancePriority(),!0)}buildUniformLayout(){let e=this._uniformBuffer;e.addUniform("diffuseLeftColor",4),e.addUniform("diffuseRightColor",4),e.addUniform("opacityParts",4),e.addUniform("reflectionLeftColor",4),e.addUniform("reflectionRightColor",4),e.addUniform("refractionLeftColor",4),e.addUniform("refractionRightColor",4),e.addUniform("emissiveLeftColor",4),e.addUniform("emissiveRightColor",4),e.addUniform("vDiffuseInfos",2),e.addUniform("vAmbientInfos",2),e.addUniform("vOpacityInfos",2),e.addUniform("vEmissiveInfos",2),e.addUniform("vLightmapInfos",2),e.addUniform("vSpecularInfos",2),e.addUniform("vBumpInfos",3),e.addUniform("diffuseMatrix",16),e.addUniform("ambientMatrix",16),e.addUniform("opacityMatrix",16),e.addUniform("emissiveMatrix",16),e.addUniform("lightmapMatrix",16),e.addUniform("specularMatrix",16),e.addUniform("bumpMatrix",16),e.addUniform("vTangentSpaceParams",2),e.addUniform("pointSize",1),e.addUniform("alphaCutOff",1),e.addUniform("refractionMatrix",16),e.addUniform("vRefractionInfos",4),e.addUniform("vRefractionPosition",3),e.addUniform("vRefractionSize",3),e.addUniform("vSpecularColor",4),e.addUniform("vEmissiveColor",3),e.addUniform("vDiffuseColor",4),e.addUniform("vAmbientColor",3),e.addUniform("cameraInfo",4),e.addUniform("vTextureRepetitionHexTilingParams",4),(0,E.PrepareUniformLayoutForIBL)(e,!1,!0),super.buildUniformLayout()}bindForSubMesh(e,t,i){let r=this.getScene(),o=i.materialDefines;if(!o)return;let n=i.effect;if(!n)return;this._activeEffect=n,t.getMeshUniformBuffer().bindToEffect(n,"Mesh"),t.transferToEffect(e),this._uniformBuffer.bindToEffect(n,"Material"),this.prePassConfiguration.bindForSubMesh(this._activeEffect,r,t,e,this.isFrozen),A.MaterialHelperGeometryRendering.Bind(r.getEngine().currentRenderPassId,this._activeEffect,t,e,this);let l=r.activeCamera;l?this._uniformBuffer.updateFloat4("cameraInfo",l.minZ,l.maxZ,0,0):this._uniformBuffer.updateFloat4("cameraInfo",0,0,0,0);let u=this.textureRepetitionHexTilingParams;this._uniformBuffer.updateFloat4("vTextureRepetitionHexTilingParams",u[0],u[1],u[2],u[3]),this._eventInfo.subMesh=i,this._callbackPluginEventHardBindForSubMesh(this._eventInfo),o.OBJECTSPACE_NORMALMAP&&(e.toNormalMatrix(this._normalMatrix),this.bindOnlyNormalMatrix(this._normalMatrix));let h=this._mustRebind(r,n,i,t.visibility),d=r.getEngine()._features.needToAlwaysBindUniformBuffers;(0,E.BindBonesParameters)(t,n),this._vertexPullingMetadata&&(0,m.BindVertexPullingUniforms)(n,this._vertexPullingMetadata);let p=this._uniformBuffer;if(h){if(this.bindViewProjection(n),!p.useUbo||!this.isFrozen||!p.isSync||i._drawWrapper._forceRebindOnNextCall){if(C.FresnelEnabled&&o.FRESNEL){if(this.diffuseFresnelParameters&&this.diffuseFresnelParameters.isEnabled&&(p.updateColor4("diffuseLeftColor",this.diffuseFresnelParameters.leftColor,this.diffuseFresnelParameters.power),p.updateColor4("diffuseRightColor",this.diffuseFresnelParameters.rightColor,this.diffuseFresnelParameters.bias)),this.opacityFresnelParameters&&this.opacityFresnelParameters.isEnabled){let e=a.TmpColors.Color3[0];e.set(this.opacityFresnelParameters.leftColor.toLuminance(),this.opacityFresnelParameters.rightColor.toLuminance(),this.opacityFresnelParameters.bias),p.updateColor4("opacityParts",e,this.opacityFresnelParameters.power)}this.reflectionFresnelParameters&&this.reflectionFresnelParameters.isEnabled&&(p.updateColor4("reflectionLeftColor",this.reflectionFresnelParameters.leftColor,this.reflectionFresnelParameters.power),p.updateColor4("reflectionRightColor",this.reflectionFresnelParameters.rightColor,this.reflectionFresnelParameters.bias)),this.refractionFresnelParameters&&this.refractionFresnelParameters.isEnabled&&(p.updateColor4("refractionLeftColor",this.refractionFresnelParameters.leftColor,this.refractionFresnelParameters.power),p.updateColor4("refractionRightColor",this.refractionFresnelParameters.rightColor,this.refractionFresnelParameters.bias)),this.emissiveFresnelParameters&&this.emissiveFresnelParameters.isEnabled&&(p.updateColor4("emissiveLeftColor",this.emissiveFresnelParameters.leftColor,this.emissiveFresnelParameters.power),p.updateColor4("emissiveRightColor",this.emissiveFresnelParameters.rightColor,this.emissiveFresnelParameters.bias))}if(r.texturesEnabled&&(this._diffuseTexture&&C.DiffuseTextureEnabled&&(p.updateFloat2("vDiffuseInfos",this._diffuseTexture.coordinatesIndex,this._diffuseTexture.level),(0,E.BindTextureMatrix)(this._diffuseTexture,p,"diffuse")),this._ambientTexture&&C.AmbientTextureEnabled&&(p.updateFloat2("vAmbientInfos",this._ambientTexture.coordinatesIndex,this._ambientTexture.level),(0,E.BindTextureMatrix)(this._ambientTexture,p,"ambient")),this._opacityTexture&&C.OpacityTextureEnabled&&(p.updateFloat2("vOpacityInfos",this._opacityTexture.coordinatesIndex,this._opacityTexture.level),(0,E.BindTextureMatrix)(this._opacityTexture,p,"opacity")),this._hasAlphaChannel()&&p.updateFloat("alphaCutOff",this.alphaCutOff),(0,E.BindIBLParameters)(r,o,p,a.Color3.White(),this._reflectionTexture,!1,!1,!0,!1,!1,!1,this.roughness),this._reflectionTexture&&C.ReflectionTextureEnabled||p.updateFloat2("vReflectionInfos",0,this.roughness),this._emissiveTexture&&C.EmissiveTextureEnabled&&(p.updateFloat2("vEmissiveInfos",this._emissiveTexture.coordinatesIndex,this._emissiveTexture.level),(0,E.BindTextureMatrix)(this._emissiveTexture,p,"emissive")),this._lightmapTexture&&C.LightmapTextureEnabled&&(p.updateFloat2("vLightmapInfos",this._lightmapTexture.coordinatesIndex,this._lightmapTexture.level),(0,E.BindTextureMatrix)(this._lightmapTexture,p,"lightmap")),this._specularTexture&&C.SpecularTextureEnabled&&(p.updateFloat2("vSpecularInfos",this._specularTexture.coordinatesIndex,this._specularTexture.level),(0,E.BindTextureMatrix)(this._specularTexture,p,"specular")),this._bumpTexture&&r.getEngine().getCaps().standardDerivatives&&C.BumpTextureEnabled&&(p.updateFloat3("vBumpInfos",this._bumpTexture.coordinatesIndex,1/this._bumpTexture.level,this.parallaxScaleBias),(0,E.BindTextureMatrix)(this._bumpTexture,p,"bump"),r._mirroredCameraPosition?p.updateFloat2("vTangentSpaceParams",this._invertNormalMapX?1:-1,this._invertNormalMapY?1:-1):p.updateFloat2("vTangentSpaceParams",this._invertNormalMapX?-1:1,this._invertNormalMapY?-1:1)),this._refractionTexture&&C.RefractionTextureEnabled)){let e=1;if(!this._refractionTexture.isCube&&(p.updateMatrix("refractionMatrix",this._refractionTexture.getReflectionTextureMatrix()),this._refractionTexture.depth&&(e=this._refractionTexture.depth)),p.updateFloat4("vRefractionInfos",this._refractionTexture.level,this.indexOfRefraction,e,this.invertRefractionY?-1:1),this._refractionTexture.boundingBoxSize){let e=this._refractionTexture;p.updateVector3("vRefractionPosition",e.boundingBoxPosition),p.updateVector3("vRefractionSize",e.boundingBoxSize)}}this.pointsCloud&&p.updateFloat("pointSize",this.pointSize),p.updateColor4("vSpecularColor",this.specularColor,this.specularPower),p.updateColor3("vEmissiveColor",C.EmissiveTextureEnabled?this.emissiveColor:a.Color3.BlackReadOnly),p.updateColor4("vDiffuseColor",this.diffuseColor,this.alpha),r.ambientColor.multiplyToRef(this.ambientColor,this._globalAmbientColor),p.updateColor3("vAmbientColor",this._globalAmbientColor)}r.texturesEnabled&&(this._diffuseTexture&&C.DiffuseTextureEnabled&&n.setTexture("diffuseSampler",this._diffuseTexture),this._ambientTexture&&C.AmbientTextureEnabled&&n.setTexture("ambientSampler",this._ambientTexture),this._opacityTexture&&C.OpacityTextureEnabled&&n.setTexture("opacitySampler",this._opacityTexture),this._reflectionTexture&&C.ReflectionTextureEnabled&&(this._reflectionTexture.isCube?n.setTexture("reflectionCubeSampler",this._reflectionTexture):n.setTexture("reflection2DSampler",this._reflectionTexture)),this._emissiveTexture&&C.EmissiveTextureEnabled&&n.setTexture("emissiveSampler",this._emissiveTexture),this._lightmapTexture&&C.LightmapTextureEnabled&&n.setTexture("lightmapSampler",this._lightmapTexture),this._specularTexture&&C.SpecularTextureEnabled&&n.setTexture("specularSampler",this._specularTexture),this._bumpTexture&&r.getEngine().getCaps().standardDerivatives&&C.BumpTextureEnabled&&n.setTexture("bumpSampler",this._bumpTexture),this._refractionTexture&&C.RefractionTextureEnabled&&(this._refractionTexture.isCube?n.setTexture("refractionCubeSampler",this._refractionTexture):n.setTexture("refraction2DSampler",this._refractionTexture))),this.getScene().useOrderIndependentTransparency&&this.needAlphaBlendingForMesh(t)&&this.getScene().depthPeelingRenderer.bind(n),this._eventInfo.subMesh=i,this._callbackPluginEventBindForSubMesh(this._eventInfo),(0,c.BindClipPlane)(n,this,r),this.bindEyePosition(n)}else d&&(this._needToBindSceneUbo=!0);(h||!this.isFrozen||d)&&r.lightsEnabled&&!this._disableLighting&&(0,E.BindLights)(r,t,n,o,this._maxSimultaneousLights),(h||!this.isFrozen)&&((r.fogEnabled&&t.applyFog&&r.fogMode!==s.Scene.FOGMODE_NONE||this._reflectionTexture||this._refractionTexture||t.receiveShadows||o.PREPASS||o.CLUSTLIGHT_BATCH)&&this.bindView(n),(0,E.BindFogParameters)(r,t,n),o.NUM_MORPH_INFLUENCERS&&(0,E.BindMorphTargetParameters)(t,n),o.BAKED_VERTEX_ANIMATION_TEXTURE&&t.bakedVertexAnimationManager?.bind(n,o.INSTANCES),this.useLogarithmicDepth&&(0,E.BindLogDepth)(o,n,r),this._imageProcessingConfiguration&&!this._imageProcessingConfiguration.applyByPostProcess&&this._imageProcessingConfiguration.bind(this._activeEffect)),this._afterBind(t,this._activeEffect,i),p.update()}getAnimatables(){let e=super.getAnimatables();return this._diffuseTexture&&this._diffuseTexture.animations&&this._diffuseTexture.animations.length>0&&e.push(this._diffuseTexture),this._ambientTexture&&this._ambientTexture.animations&&this._ambientTexture.animations.length>0&&e.push(this._ambientTexture),this._opacityTexture&&this._opacityTexture.animations&&this._opacityTexture.animations.length>0&&e.push(this._opacityTexture),this._reflectionTexture&&this._reflectionTexture.animations&&this._reflectionTexture.animations.length>0&&e.push(this._reflectionTexture),this._emissiveTexture&&this._emissiveTexture.animations&&this._emissiveTexture.animations.length>0&&e.push(this._emissiveTexture),this._specularTexture&&this._specularTexture.animations&&this._specularTexture.animations.length>0&&e.push(this._specularTexture),this._bumpTexture&&this._bumpTexture.animations&&this._bumpTexture.animations.length>0&&e.push(this._bumpTexture),this._lightmapTexture&&this._lightmapTexture.animations&&this._lightmapTexture.animations.length>0&&e.push(this._lightmapTexture),this._refractionTexture&&this._refractionTexture.animations&&this._refractionTexture.animations.length>0&&e.push(this._refractionTexture),e}getActiveTextures(){let e=super.getActiveTextures();return this._diffuseTexture&&e.push(this._diffuseTexture),this._ambientTexture&&e.push(this._ambientTexture),this._opacityTexture&&e.push(this._opacityTexture),this._reflectionTexture&&e.push(this._reflectionTexture),this._emissiveTexture&&e.push(this._emissiveTexture),this._specularTexture&&e.push(this._specularTexture),this._bumpTexture&&e.push(this._bumpTexture),this._lightmapTexture&&e.push(this._lightmapTexture),this._refractionTexture&&e.push(this._refractionTexture),e}hasTexture(e){return!!super.hasTexture(e)||this._diffuseTexture===e||this._ambientTexture===e||this._opacityTexture===e||this._reflectionTexture===e||this._emissiveTexture===e||this._specularTexture===e||this._bumpTexture===e||this._lightmapTexture===e||this._refractionTexture===e||!1}dispose(e,t){t&&(this._diffuseTexture?.dispose(),this._ambientTexture?.dispose(),this._opacityTexture?.dispose(),this._reflectionTexture?.dispose(),this._emissiveTexture?.dispose(),this._specularTexture?.dispose(),this._bumpTexture?.dispose(),this._lightmapTexture?.dispose(),this._refractionTexture?.dispose()),this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),super.dispose(e,t)}clone(e,t=!0,i=""){let r=x.SerializationHelper.Clone(()=>new C(e,this.getScene()),this,{cloneTexturesOnlyOnce:t});return r.name=e,r.id=e,this.stencil.copyTo(r.stencil),this._clonePlugins(r,i),r}static Parse(e,t,i){let r=x.SerializationHelper.Parse(()=>new C(e.name,t),e,t,i);return e.stencil&&r.stencil.parse(e.stencil,t,i),h.Material._ParsePlugins(e,r,t,i),r}static get DiffuseTextureEnabled(){return T.MaterialFlags.DiffuseTextureEnabled}static set DiffuseTextureEnabled(e){T.MaterialFlags.DiffuseTextureEnabled=e}static get DetailTextureEnabled(){return T.MaterialFlags.DetailTextureEnabled}static set DetailTextureEnabled(e){T.MaterialFlags.DetailTextureEnabled=e}static get AmbientTextureEnabled(){return T.MaterialFlags.AmbientTextureEnabled}static set AmbientTextureEnabled(e){T.MaterialFlags.AmbientTextureEnabled=e}static get OpacityTextureEnabled(){return T.MaterialFlags.OpacityTextureEnabled}static set OpacityTextureEnabled(e){T.MaterialFlags.OpacityTextureEnabled=e}static get ReflectionTextureEnabled(){return T.MaterialFlags.ReflectionTextureEnabled}static set ReflectionTextureEnabled(e){T.MaterialFlags.ReflectionTextureEnabled=e}static get EmissiveTextureEnabled(){return T.MaterialFlags.EmissiveTextureEnabled}static set EmissiveTextureEnabled(e){T.MaterialFlags.EmissiveTextureEnabled=e}static get SpecularTextureEnabled(){return T.MaterialFlags.SpecularTextureEnabled}static set SpecularTextureEnabled(e){T.MaterialFlags.SpecularTextureEnabled=e}static get BumpTextureEnabled(){return T.MaterialFlags.BumpTextureEnabled}static set BumpTextureEnabled(e){T.MaterialFlags.BumpTextureEnabled=e}static get LightmapTextureEnabled(){return T.MaterialFlags.LightmapTextureEnabled}static set LightmapTextureEnabled(e){T.MaterialFlags.LightmapTextureEnabled=e}static get RefractionTextureEnabled(){return T.MaterialFlags.RefractionTextureEnabled}static set RefractionTextureEnabled(e){T.MaterialFlags.RefractionTextureEnabled=e}static get ColorGradingTextureEnabled(){return T.MaterialFlags.ColorGradingTextureEnabled}static set ColorGradingTextureEnabled(e){T.MaterialFlags.ColorGradingTextureEnabled=e}static get FresnelEnabled(){return T.MaterialFlags.FresnelEnabled}static set FresnelEnabled(e){T.MaterialFlags.FresnelEnabled=e}}C.ForceGLSL=!1,(0,t.__decorate)([(0,i.serializeAsTexture)("diffuseTexture")],C.prototype,"_diffuseTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesAndMiscDirty")],C.prototype,"diffuseTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("ambientTexture")],C.prototype,"_ambientTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"ambientTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("opacityTexture")],C.prototype,"_opacityTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesAndMiscDirty")],C.prototype,"opacityTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("reflectionTexture")],C.prototype,"_reflectionTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"reflectionTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("emissiveTexture")],C.prototype,"_emissiveTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"emissiveTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("specularTexture")],C.prototype,"_specularTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"specularTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("bumpTexture")],C.prototype,"_bumpTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"bumpTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("lightmapTexture")],C.prototype,"_lightmapTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"lightmapTexture",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("refractionTexture")],C.prototype,"_refractionTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"refractionTexture",void 0),(0,t.__decorate)([(0,i.serializeAsColor3)("ambient")],C.prototype,"ambientColor",void 0),(0,t.__decorate)([(0,i.serializeAsColor3)("diffuse")],C.prototype,"diffuseColor",void 0),(0,t.__decorate)([(0,i.serializeAsColor3)("specular")],C.prototype,"specularColor",void 0),(0,t.__decorate)([(0,i.serializeAsColor3)("emissive")],C.prototype,"emissiveColor",void 0),(0,t.__decorate)([(0,i.serialize)()],C.prototype,"specularPower",void 0),(0,t.__decorate)([(0,i.serialize)("useAlphaFromDiffuseTexture")],C.prototype,"_useAlphaFromDiffuseTexture",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesAndMiscDirty")],C.prototype,"useAlphaFromDiffuseTexture",void 0),(0,t.__decorate)([(0,i.serialize)("useEmissiveAsIllumination")],C.prototype,"_useEmissiveAsIllumination",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useEmissiveAsIllumination",void 0),(0,t.__decorate)([(0,i.serialize)("linkEmissiveWithDiffuse")],C.prototype,"_linkEmissiveWithDiffuse",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"linkEmissiveWithDiffuse",void 0),(0,t.__decorate)([(0,i.serialize)("useSpecularOverAlpha")],C.prototype,"_useSpecularOverAlpha",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useSpecularOverAlpha",void 0),(0,t.__decorate)([(0,i.serialize)("useReflectionOverAlpha")],C.prototype,"_useReflectionOverAlpha",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useReflectionOverAlpha",void 0),(0,t.__decorate)([(0,i.serialize)("disableLighting")],C.prototype,"_disableLighting",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsLightsDirty")],C.prototype,"disableLighting",void 0),(0,t.__decorate)([(0,i.serialize)("useObjectSpaceNormalMap")],C.prototype,"_useObjectSpaceNormalMap",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useObjectSpaceNormalMap",void 0),(0,t.__decorate)([(0,i.serialize)("useParallax")],C.prototype,"_useParallax",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useParallax",void 0),(0,t.__decorate)([(0,i.serialize)("useParallaxOcclusion")],C.prototype,"_useParallaxOcclusion",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useParallaxOcclusion",void 0),(0,t.__decorate)([(0,i.serialize)()],C.prototype,"parallaxScaleBias",void 0),(0,t.__decorate)([(0,i.serialize)("roughness")],C.prototype,"_roughness",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"roughness",void 0),(0,t.__decorate)([(0,i.serialize)()],C.prototype,"indexOfRefraction",void 0),(0,t.__decorate)([(0,i.serialize)()],C.prototype,"invertRefractionY",void 0),(0,t.__decorate)([(0,i.serialize)()],C.prototype,"alphaCutOff",void 0),(0,t.__decorate)([(0,i.serialize)("useLightmapAsShadowmap")],C.prototype,"_useLightmapAsShadowmap",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useLightmapAsShadowmap",void 0),(0,t.__decorate)([(0,i.serializeAsFresnelParameters)("diffuseFresnelParameters")],C.prototype,"_diffuseFresnelParameters",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsFresnelDirty")],C.prototype,"diffuseFresnelParameters",void 0),(0,t.__decorate)([(0,i.serializeAsFresnelParameters)("opacityFresnelParameters")],C.prototype,"_opacityFresnelParameters",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsFresnelAndMiscDirty")],C.prototype,"opacityFresnelParameters",void 0),(0,t.__decorate)([(0,i.serializeAsFresnelParameters)("reflectionFresnelParameters")],C.prototype,"_reflectionFresnelParameters",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsFresnelDirty")],C.prototype,"reflectionFresnelParameters",void 0),(0,t.__decorate)([(0,i.serializeAsFresnelParameters)("refractionFresnelParameters")],C.prototype,"_refractionFresnelParameters",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsFresnelDirty")],C.prototype,"refractionFresnelParameters",void 0),(0,t.__decorate)([(0,i.serializeAsFresnelParameters)("emissiveFresnelParameters")],C.prototype,"_emissiveFresnelParameters",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsFresnelDirty")],C.prototype,"emissiveFresnelParameters",void 0),(0,t.__decorate)([(0,i.serialize)("useReflectionFresnelFromSpecular")],C.prototype,"_useReflectionFresnelFromSpecular",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsFresnelDirty")],C.prototype,"useReflectionFresnelFromSpecular",void 0),(0,t.__decorate)([(0,i.serialize)("useGlossinessFromSpecularMapAlpha")],C.prototype,"_useGlossinessFromSpecularMapAlpha",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"useGlossinessFromSpecularMapAlpha",void 0),(0,t.__decorate)([(0,i.serialize)("maxSimultaneousLights")],C.prototype,"_maxSimultaneousLights",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsLightsDirty")],C.prototype,"maxSimultaneousLights",void 0),(0,t.__decorate)([(0,i.serialize)("invertNormalMapX")],C.prototype,"_invertNormalMapX",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"invertNormalMapX",void 0),(0,t.__decorate)([(0,i.serialize)("invertNormalMapY")],C.prototype,"_invertNormalMapY",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"invertNormalMapY",void 0),(0,t.__decorate)([(0,i.serialize)("twoSidedLighting")],C.prototype,"_twoSidedLighting",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsTexturesDirty")],C.prototype,"twoSidedLighting",void 0),(0,t.__decorate)([(0,i.serialize)("applyDecalMapAfterDetailMap")],C.prototype,"_applyDecalMapAfterDetailMap",void 0),(0,t.__decorate)([(0,i.expandToProperty)("_markAllSubMeshesAsMiscDirty")],C.prototype,"applyDecalMapAfterDetailMap",void 0);let L=!1;function y(){L||(L=!0,(0,u.RegisterImageProcessingConfiguration)(),(0,S.RegisterClass)("BABYLON.StandardMaterial",C),s.Scene.DefaultMaterialFactory=e=>new C("default material",e))}Object.getOwnPropertyDescriptor(C.prototype,"decalMap")||Object.defineProperty(C.prototype,"decalMap",(0,I._MissingSideEffectProperty)("StandardMaterial","decalMap")),e.s(["RegisterStandardMaterial",0,y,"StandardMaterial",0,C,"StandardMaterialDefines",0,M],76883),y(),e.s([],16594)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,57135,76527,5057,55808,36146,24462,1682,e=>{"use strict";var t,i=e.i(85595),r=e.i(53773),s=e.i(13856),n=e.i(90176),a=e.i(70855),l=e.i(45707),o=e.i(1901),h=e.i(42476),c=e.i(95410),u=e.i(82579);class d{constructor(e,t,i){this.vectors=(0,h.BuildArray)(8,c.Vector3.Zero),this.center=c.Vector3.Zero(),this.centerWorld=c.Vector3.Zero(),this.extendSize=c.Vector3.Zero(),this.extendSizeWorld=c.Vector3.Zero(),this.directions=(0,h.BuildArray)(3,c.Vector3.Zero),this.vectorsWorld=(0,h.BuildArray)(8,c.Vector3.Zero),this.minimumWorld=c.Vector3.Zero(),this.maximumWorld=c.Vector3.Zero(),this.minimum=c.Vector3.Zero(),this.maximum=c.Vector3.Zero(),this._drawWrapperFront=null,this._drawWrapperBack=null,this.reConstruct(e,t,i)}reConstruct(e,t,i){let r=e.x,s=e.y,n=e.z,a=t.x,l=t.y,o=t.z,h=this.vectors;this.minimum.copyFromFloats(r,s,n),this.maximum.copyFromFloats(a,l,o),h[0].copyFromFloats(r,s,n),h[1].copyFromFloats(a,l,o),h[2].copyFromFloats(a,s,n),h[3].copyFromFloats(r,l,n),h[4].copyFromFloats(r,s,o),h[5].copyFromFloats(a,l,n),h[6].copyFromFloats(r,l,o),h[7].copyFromFloats(a,s,o),t.addToRef(e,this.center).scaleInPlace(.5),t.subtractToRef(e,this.extendSize).scaleInPlace(.5),this._worldMatrix=i||c.Matrix.IdentityReadOnly,this._update(this._worldMatrix)}scale(e){let t=d._TmpVector3,i=this.maximum.subtractToRef(this.minimum,t[0]),r=i.length();i.normalizeFromLength(r);let s=r*e,n=i.scaleInPlace(.5*s),a=this.center.subtractToRef(n,t[1]),l=this.center.addToRef(n,t[2]);return this.reConstruct(a,l,this._worldMatrix),this}getWorldMatrix(){return this._worldMatrix}_update(e){let t=this.minimumWorld,i=this.maximumWorld,r=this.directions,s=this.vectorsWorld,n=this.vectors;if(e.isIdentity()){t.copyFrom(this.minimum),i.copyFrom(this.maximum);for(let e=0;e<8;++e)s[e].copyFrom(n[e]);this.extendSizeWorld.copyFrom(this.extendSize),this.centerWorld.copyFrom(this.center)}else{t.setAll(Number.MAX_VALUE),i.setAll(-Number.MAX_VALUE);for(let r=0;r<8;++r){let a=s[r];c.Vector3.TransformCoordinatesToRef(n[r],e,a),t.minimizeInPlace(a),i.maximizeInPlace(a)}i.subtractToRef(t,this.extendSizeWorld).scaleInPlace(.5),i.addToRef(t,this.centerWorld).scaleInPlace(.5)}c.Vector3.FromArrayToRef(e.m,0,r[0]),c.Vector3.FromArrayToRef(e.m,4,r[1]),c.Vector3.FromArrayToRef(e.m,8,r[2]),this._worldMatrix=e}isInFrustum(e){return d.IsInFrustum(this.vectorsWorld,e)}isCompletelyInFrustum(e){return d.IsCompletelyInFrustum(this.vectorsWorld,e)}intersectsPoint(e){let t=this.minimumWorld,i=this.maximumWorld,r=t.x,s=t.y,n=t.z,a=i.x,l=i.y,o=i.z,h=e.x,c=e.y,d=e.z,_=-u.Epsilon;return!(a-h<_)&&!(_>h-r)&&!(l-c<_)&&!(_>c-s)&&!(o-d<_)&&!(_>d-n)}intersectsSphere(e){return d.IntersectsSphere(this.minimumWorld,this.maximumWorld,e.centerWorld,e.radiusWorld)}intersectsMinMax(e,t){let i=this.minimumWorld,r=this.maximumWorld,s=i.x,n=i.y,a=i.z,l=r.x,o=r.y,h=r.z,c=e.x,u=e.y,d=e.z,_=t.x,p=t.y,E=t.z;return!(l<c)&&!(s>_)&&!(o<u)&&!(n>p)&&!(h<d)&&!(a>E)}dispose(){this._drawWrapperFront?.dispose(),this._drawWrapperBack?.dispose()}static Intersects(e,t){return e.intersectsMinMax(t.minimumWorld,t.maximumWorld)}static IntersectsSphere(e,t,i,r){let s=d._TmpVector3[0];return c.Vector3.ClampToRef(i,e,t,s),c.Vector3.DistanceSquared(i,s)<=r*r}static IsCompletelyInFrustum(e,t){for(let i=0;i<6;++i){let r=t[i];for(let t=0;t<8;++t)if(0>r.dotCoordinate(e[t]))return!1}return!0}static IsInFrustum(e,t){for(let i=0;i<6;++i){let r=!0,s=t[i];for(let t=0;t<8;++t)if(s.dotCoordinate(e[t])>=0){r=!1;break}if(r)return!1}return!0}}d._TmpVector3=(0,h.BuildArray)(3,c.Vector3.Zero);class _{constructor(e,t,i){this.center=c.Vector3.Zero(),this.centerWorld=c.Vector3.Zero(),this.minimum=c.Vector3.Zero(),this.maximum=c.Vector3.Zero(),this.reConstruct(e,t,i)}reConstruct(e,t,i){this.minimum.copyFrom(e),this.maximum.copyFrom(t);let r=c.Vector3.Distance(e,t);t.addToRef(e,this.center).scaleInPlace(.5),this.radius=.5*r,this._update(i||c.Matrix.IdentityReadOnly)}scale(e){let t=this.radius*e,i=_._TmpVector3,r=i[0].setAll(t),s=this.center.subtractToRef(r,i[1]),n=this.center.addToRef(r,i[2]);return this.reConstruct(s,n,this._worldMatrix),this}getWorldMatrix(){return this._worldMatrix}_update(e){if(e.isIdentity())this.centerWorld.copyFrom(this.center),this.radiusWorld=this.radius;else{c.Vector3.TransformCoordinatesToRef(this.center,e,this.centerWorld);let t=_._TmpVector3[0];c.Vector3.TransformNormalFromFloatsToRef(1,1,1,e,t),this.radiusWorld=Math.max(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z))*this.radius}}isInFrustum(e){let t=this.centerWorld,i=this.radiusWorld;for(let r=0;r<6;r++)if(e[r].dotCoordinate(t)<=-i)return!1;return!0}isCenterInFrustum(e){let t=this.centerWorld;for(let i=0;i<6;i++)if(0>e[i].dotCoordinate(t))return!1;return!0}intersectsPoint(e){let t=c.Vector3.DistanceSquared(this.centerWorld,e);return!(this.radiusWorld*this.radiusWorld<t)}static Intersects(e,t){let i=c.Vector3.DistanceSquared(e.centerWorld,t.centerWorld),r=e.radiusWorld+t.radiusWorld;return!(r*r<i)}static CreateFromCenterAndRadius(e,t,i){this._TmpVector3[0].copyFrom(e),this._TmpVector3[1].copyFromFloats(0,0,t),this._TmpVector3[2].copyFrom(e),this._TmpVector3[0].addInPlace(this._TmpVector3[1]),this._TmpVector3[2].subtractInPlace(this._TmpVector3[1]);let r=new _(this._TmpVector3[0],this._TmpVector3[2]);return i?r._worldMatrix=i:r._worldMatrix=c.Matrix.Identity(),r}}_._TmpVector3=(0,h.BuildArray)(3,c.Vector3.Zero);let p={min:0,max:0},E={min:0,max:0},A=(e,t,i)=>{let r=c.Vector3.Dot(t.centerWorld,e),s=Math.abs(c.Vector3.Dot(t.directions[0],e))*t.extendSize.x+Math.abs(c.Vector3.Dot(t.directions[1],e))*t.extendSize.y+Math.abs(c.Vector3.Dot(t.directions[2],e))*t.extendSize.z;i.min=r-s,i.max=r+s},T=(e,t,i)=>(A(e,t,p),A(e,i,E),!(p.min>E.max||E.min>p.max));class f{constructor(e,t,i){this._isLocked=!1,this.boundingBox=new d(e,t,i),this.boundingSphere=new _(e,t,i)}reConstruct(e,t,i){this.boundingBox.reConstruct(e,t,i),this.boundingSphere.reConstruct(e,t,i)}get minimum(){return this.boundingBox.minimum}get maximum(){return this.boundingBox.maximum}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e}update(e){this._isLocked||(this.boundingBox._update(e),this.boundingSphere._update(e))}centerOn(e,t){let i=f._TmpVector3[0].copyFrom(e).subtractInPlace(t),r=f._TmpVector3[1].copyFrom(e).addInPlace(t);return this.boundingBox.reConstruct(i,r,this.boundingBox.getWorldMatrix()),this.boundingSphere.reConstruct(i,r,this.boundingBox.getWorldMatrix()),this}encapsulate(e){let t=c.Vector3.Minimize(this.minimum,e),i=c.Vector3.Maximize(this.maximum,e);return this.reConstruct(t,i,this.boundingBox.getWorldMatrix()),this}encapsulateBoundingInfo(e){let t=c.TmpVectors.Matrix[0];this.boundingBox.getWorldMatrix().invertToRef(t);let i=c.TmpVectors.Vector3[0];return c.Vector3.TransformCoordinatesToRef(e.boundingBox.minimumWorld,t,i),this.encapsulate(i),c.Vector3.TransformCoordinatesToRef(e.boundingBox.maximumWorld,t,i),this.encapsulate(i),this}scale(e){return this.boundingBox.scale(e),this.boundingSphere.scale(e),this}isInFrustum(e,t=0){return!!((2===t||3===t)&&this.boundingSphere.isCenterInFrustum(e))||!!this.boundingSphere.isInFrustum(e)&&(1===t||3===t||this.boundingBox.isInFrustum(e))}get diagonalLength(){let e=this.boundingBox;return e.maximumWorld.subtractToRef(e.minimumWorld,f._TmpVector3[0]).length()}isCompletelyInFrustum(e){return this.boundingBox.isCompletelyInFrustum(e)}_checkCollision(e){return e._canDoCollision(this.boundingSphere.centerWorld,this.boundingSphere.radiusWorld,this.boundingBox.minimumWorld,this.boundingBox.maximumWorld)}intersectsPoint(e){return!!this.boundingSphere.centerWorld&&!!this.boundingSphere.intersectsPoint(e)&&!!this.boundingBox.intersectsPoint(e)}intersects(e,t){if(!_.Intersects(this.boundingSphere,e.boundingSphere)||!d.Intersects(this.boundingBox,e.boundingBox))return!1;if(!t)return!0;let i=this.boundingBox,r=e.boundingBox;return!!T(i.directions[0],i,r)&&!!T(i.directions[1],i,r)&&!!T(i.directions[2],i,r)&&!!T(r.directions[0],i,r)&&!!T(r.directions[1],i,r)&&!!T(r.directions[2],i,r)&&!!T(c.Vector3.Cross(i.directions[0],r.directions[0]),i,r)&&!!T(c.Vector3.Cross(i.directions[0],r.directions[1]),i,r)&&!!T(c.Vector3.Cross(i.directions[0],r.directions[2]),i,r)&&!!T(c.Vector3.Cross(i.directions[1],r.directions[0]),i,r)&&!!T(c.Vector3.Cross(i.directions[1],r.directions[1]),i,r)&&!!T(c.Vector3.Cross(i.directions[1],r.directions[2]),i,r)&&!!T(c.Vector3.Cross(i.directions[2],r.directions[0]),i,r)&&!!T(c.Vector3.Cross(i.directions[2],r.directions[1]),i,r)&&!!T(c.Vector3.Cross(i.directions[2],r.directions[2]),i,r)&&!0}}f._TmpVector3=(0,h.BuildArray)(2,c.Vector3.Zero),e.s(["BoundingInfo",0,f],76527);class m{static extractMinAndMaxIndexed(e,t,i,r,s,n){for(let a=i;a<i+r;a++){let i=3*t[a],r=e[i],l=e[i+1],o=e[i+2];s.minimizeInPlaceFromFloats(r,l,o),n.maximizeInPlaceFromFloats(r,l,o)}}static extractMinAndMax(e,t,i,r,s,n){for(let a=t,l=t*r;a<t+i;a++,l+=r){let t=e[l],i=e[l+1],r=e[l+2];s.minimizeInPlaceFromFloats(t,i,r),n.maximizeInPlaceFromFloats(t,i,r)}}}function g(e,t,i,r,s=null){let n=new c.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),a=new c.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);return m.extractMinAndMaxIndexed(e,t,i,r,n,a),s&&(n.x-=n.x*s.x+s.y,n.y-=n.y*s.x+s.y,n.z-=n.z*s.x+s.y,a.x+=a.x*s.x+s.y,a.y+=a.y*s.x+s.y,a.z+=a.z*s.x+s.y),{minimum:n,maximum:a}}(0,i.__decorate)([r.nativeOverride.filter((...e)=>!Array.isArray(e[0])&&!Array.isArray(e[1]))],m,"extractMinAndMaxIndexed",null),(0,i.__decorate)([r.nativeOverride.filter((...e)=>!Array.isArray(e[0]))],m,"extractMinAndMax",null),e.s(["extractMinAndMax",0,function(e,t,i,r=null,s){let n=new c.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),a=new c.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);return s||(s=3),m.extractMinAndMax(e,t,i,s,n,a),r&&(n.x-=n.x*r.x+r.y,n.y-=n.y*r.x+r.y,n.z-=n.z*r.x+r.y,a.x+=a.x*r.x+r.y,a.y+=a.y*r.x+r.y,a.z+=a.z*r.x+r.y),{minimum:n,maximum:a}},"extractMinAndMaxIndexed",0,g],5057);var S=e.i(27913),M=e.i(33945);class b{get materialDefines(){let e=this._mainDrawWrapperOverride?this._mainDrawWrapperOverride.defines:this._getDrawWrapper()?.defines;return"string"==typeof e?null:e}set materialDefines(e){(this._mainDrawWrapperOverride??this._getDrawWrapper(void 0,!0)).defines=e}_getDrawWrapper(e,t=!1){e=e??this._engine.currentRenderPassId;let i=this._drawWrappers[e];return!i&&t&&(this._drawWrappers[e]=i=new S.DrawWrapper(this._mesh.getScene().getEngine())),i}_removeDrawWrapper(e,t=!0,i=!1){t&&this._drawWrappers[e]?.dispose(i),this._drawWrappers[e]=void 0}get effect(){return this._mainDrawWrapperOverride?this._mainDrawWrapperOverride.effect:this._getDrawWrapper()?.effect??null}get _drawWrapper(){return this._mainDrawWrapperOverride??this._getDrawWrapper(void 0,!0)}get _drawWrapperOverride(){return this._mainDrawWrapperOverride}_setMainDrawWrapperOverride(e){this._mainDrawWrapperOverride=e}setEffect(e,t=null,i,r=!0){let s=this._drawWrapper;s.setEffect(e,t,r),void 0!==i&&(s.materialContext=i),e||(s.defines=null,s.materialContext=void 0)}resetDrawCache(e,t=!1){if(this._drawWrappers)if(void 0!==e)return void this._removeDrawWrapper(e,!0,t);else for(let e of this._drawWrappers)e?.dispose(t);this._drawWrappers=[]}static AddToMesh(e,t,i,r,s,n,a,l=!0){return new b(e,t,i,r,s,n,a,l)}constructor(e,t,i,r,s,n,a,l=!0,o=!0){this.materialIndex=e,this.verticesStart=t,this.verticesCount=i,this.indexStart=r,this.indexCount=s,this._mainDrawWrapperOverride=null,this._linesIndexCount=0,this._linesIndexBuffer=null,this._lastColliderWorldVertices=null,this._lastColliderTransformMatrix=null,this._wasDispatched=!1,this._renderId=0,this._alphaIndex=0,this._distanceToCamera=0,this._currentMaterial=null,this._mesh=n,this._renderingMesh=a||n,o&&n.subMeshes.push(this),this._engine=this._mesh.getScene().getEngine(),this.resetDrawCache(),this._trianglePlanes=[],this._id=n.subMeshes.length-1,l&&(this.refreshBoundingInfo(),n.computeWorldMatrix(!0))}get IsGlobal(){return 0===this.verticesStart&&this.verticesCount===this._mesh.getTotalVertices()&&0===this.indexStart&&this.indexCount===this._mesh.getTotalIndices()}getBoundingInfo(){return this.IsGlobal||this._mesh.hasThinInstances?this._mesh.getBoundingInfo():this._boundingInfo}setBoundingInfo(e){return this._boundingInfo=e,this}getMesh(){return this._mesh}getRenderingMesh(){return this._renderingMesh}getReplacementMesh(){return this._mesh._internalAbstractMeshDataInfo._actAsRegularMesh?this._mesh:null}getEffectiveMesh(){return(this._mesh._internalAbstractMeshDataInfo._actAsRegularMesh?this._mesh:null)||this._renderingMesh}getMaterial(e=!0){let t=this._renderingMesh.getMaterialForRenderPass(this._engine.currentRenderPassId)??this._renderingMesh.material;if(!t)return e&&this._mesh.getScene()._hasDefaultMaterial?this._mesh.getScene().defaultMaterial:null;if(this._isMultiMaterial(t)){let e=t.getSubMaterial(this.materialIndex);return this._currentMaterial!==e&&(this._currentMaterial=e,this.resetDrawCache()),e}return t}_isMultiMaterial(e){return void 0!==e.getSubMaterial}refreshBoundingInfo(e=null){let t;if(this._lastColliderWorldVertices=null,this.IsGlobal||!this._renderingMesh||!this._renderingMesh.geometry)return this;if(e||(e=this._renderingMesh.getVerticesData(l.VertexBuffer.PositionKind)),!e)return this._boundingInfo=this._mesh.getBoundingInfo(),this;let i=this._renderingMesh.getIndices();if(0===this.indexStart&&this.indexCount===i.length){let e=this._renderingMesh.getBoundingInfo();t={minimum:e.minimum.clone(),maximum:e.maximum.clone()}}else t=g(e,i,this.indexStart,this.indexCount,this._renderingMesh.geometry.boundingBias);return this._boundingInfo?this._boundingInfo.reConstruct(t.minimum,t.maximum):this._boundingInfo=new f(t.minimum,t.maximum),this}_checkCollision(e){return this.getBoundingInfo()._checkCollision(e)}updateBoundingInfo(e){let t=this.getBoundingInfo();return t||(this.refreshBoundingInfo(),t=this.getBoundingInfo()),t&&t.update(e),this}isInFrustum(e){let t=this.getBoundingInfo();return!!t&&t.isInFrustum(e,this._mesh.cullingStrategy)}isCompletelyInFrustum(e){let t=this.getBoundingInfo();return!!t&&t.isCompletelyInFrustum(e)}render(e){return this._renderingMesh.render(this,e,this._mesh._internalAbstractMeshDataInfo._actAsRegularMesh?this._mesh:void 0),this}_getLinesIndexBuffer(e,t){if(!this._linesIndexBuffer){let i=6*Math.floor(this.indexCount/3),r=this.verticesStart+this.verticesCount>65535?new Uint32Array(i):new Uint16Array(i),s=0;if(0===e.length)for(let e=this.indexStart;e<this.indexStart+this.indexCount;e+=3)r[s++]=e,r[s++]=e+1,r[s++]=e+1,r[s++]=e+2,r[s++]=e+2,r[s++]=e;else for(let t=this.indexStart;t<this.indexStart+this.indexCount;t+=3)r[s++]=e[t],r[s++]=e[t+1],r[s++]=e[t+1],r[s++]=e[t+2],r[s++]=e[t+2],r[s++]=e[t];this._linesIndexBuffer=t.createIndexBuffer(r),this._linesIndexCount=r.length}return this._linesIndexBuffer}canIntersects(e){let t=this.getBoundingInfo();return!!t&&e.intersectsBox(t.boundingBox)}intersects(e,t,i,r,s){let n=this.getMaterial();if(!n)return null;let a=3,l=!1;switch(n.fillMode){case 3:case 5:case 6:case 8:return null;case 7:a=1,l=!0}return 4===n.fillMode?i.length?this._intersectLines(e,t,i,this._mesh.intersectionThreshold,r):this._intersectUnIndexedLines(e,t,i,this._mesh.intersectionThreshold,r):!i.length&&this._mesh._unIndexed?this._intersectUnIndexedTriangles(e,t,i,r,s):this._intersectTriangles(e,t,i,a,l,r,s)}_intersectLines(e,t,i,r,s){let n=null;for(let a=this.indexStart;a<this.indexStart+this.indexCount;a+=2){let l=t[i[a]],h=t[i[a+1]],c=e.intersectionSegment(l,h,r);if(!(c<0)&&(s||!n||c<n.distance)&&((n=new o.IntersectionInfo(null,null,c)).faceId=a/2,s))break}return n}_intersectUnIndexedLines(e,t,i,r,s){let n=null;for(let i=this.verticesStart;i<this.verticesStart+this.verticesCount;i+=2){let a=t[i],l=t[i+1],h=e.intersectionSegment(a,l,r);if(!(h<0)&&(s||!n||h<n.distance)&&((n=new o.IntersectionInfo(null,null,h)).faceId=i/2,s))break}return n}_intersectTriangles(e,t,i,r,s,n,a){let l=null,o=-1;for(let h=this.indexStart;h<this.indexStart+this.indexCount-(3-r);h+=r){o++;let r=i[h],c=i[h+1],u=i[h+2];if(s&&0xffffffff===u){h+=2;continue}let d=t[r],_=t[c],p=t[u];if(!d||!_||!p||a&&!a(d,_,p,e,r,c,u))continue;let E=e.intersectsTriangle(d,_,p);if(E){if(E.distance<0)continue;if((n||!l||E.distance<l.distance)&&((l=E).faceId=o,n))break}}return l}_intersectUnIndexedTriangles(e,t,i,r,s){let n=null;for(let i=this.verticesStart;i<this.verticesStart+this.verticesCount;i+=3){let a=t[i],l=t[i+1],o=t[i+2];if(s&&!s(a,l,o,e,-1,-1,-1))continue;let h=e.intersectsTriangle(a,l,o);if(h){if(h.distance<0)continue;if((r||!n||h.distance<n.distance)&&((n=h).faceId=i/3,r))break}}return n}_rebuild(){this._linesIndexBuffer&&(this._linesIndexBuffer=null)}clone(e,t){let i=new b(this.materialIndex,this.verticesStart,this.verticesCount,this.indexStart,this.indexCount,e,t,!1);if(!this.IsGlobal){let e=this.getBoundingInfo();if(!e)return i;i._boundingInfo=new f(e.minimum,e.maximum)}return i}dispose(e=!1){this._linesIndexBuffer&&(this._mesh.getScene().getEngine()._releaseBuffer(this._linesIndexBuffer),this._linesIndexBuffer=null);let t=this._mesh.subMeshes.indexOf(this);this._mesh.subMeshes.splice(t,1),this.resetDrawCache(void 0,e)}getClassName(){return"SubMesh"}static CreateFromIndices(e,t,i,r,s,n=!0){let a=Number.MAX_VALUE,l=-Number.MAX_VALUE,o=(s||r).getIndices();for(let e=t;e<t+i;e++){let t=o[e];t<a&&(a=t),t>l&&(l=t)}return new b(e,a,l-a+1,t,i,r,s,n)}}(t=b.prototype).projectToRef??(t.projectToRef=(0,M._MissingSideEffect)("SubMesh","projectToRef")),e.s(["SubMesh",0,b],55808);var I=e.i(39695),R=e.i(80434),P=e.i(47997),C=e.i(68401);class x{constructor(){this.reset()}reset(){this.enabled=!1,this.mask=255,this.funcRef=1,this.funcMask=255,this.func=519,this.opStencilFail=7680,this.opDepthFail=7680,this.opStencilDepthPass=7681,this.backFunc=519,this.backOpStencilFail=7680,this.backOpDepthFail=7680,this.backOpStencilDepthPass=7681}get func(){return this._func}set func(e){this._func=e}get backFunc(){return this._backFunc}set backFunc(e){this._backFunc=e}get funcRef(){return this._funcRef}set funcRef(e){this._funcRef=e}get funcMask(){return this._funcMask}set funcMask(e){this._funcMask=e}get opStencilFail(){return this._opStencilFail}set opStencilFail(e){this._opStencilFail=e}get opDepthFail(){return this._opDepthFail}set opDepthFail(e){this._opDepthFail=e}get opStencilDepthPass(){return this._opStencilDepthPass}set opStencilDepthPass(e){this._opStencilDepthPass=e}get backOpStencilFail(){return this._backOpStencilFail}set backOpStencilFail(e){this._backOpStencilFail=e}get backOpDepthFail(){return this._backOpDepthFail}set backOpDepthFail(e){this._backOpDepthFail=e}get backOpStencilDepthPass(){return this._backOpStencilDepthPass}set backOpStencilDepthPass(e){this._backOpStencilDepthPass=e}get mask(){return this._mask}set mask(e){this._mask=e}get enabled(){return this._enabled}set enabled(e){this._enabled=e}getClassName(){return"MaterialStencilState"}copyTo(e){C.SerializationHelper.Clone(()=>e,this)}serialize(){return C.SerializationHelper.Serialize(this)}parse(e,t,i){C.SerializationHelper.Parse(()=>this,e,t,i)}}(0,i.__decorate)([(0,r.serialize)()],x.prototype,"func",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"backFunc",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"funcRef",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"funcMask",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"opStencilFail",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"opDepthFail",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"opStencilDepthPass",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"backOpStencilFail",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"backOpDepthFail",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"backOpStencilDepthPass",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"mask",null),(0,i.__decorate)([(0,r.serialize)()],x.prototype,"enabled",null);var D=e.i(47283),O=e.i(17538);function y(e,t,i){let r=!1,s=!!(e.clipPlane??t.clipPlane),n=!!(e.clipPlane2??t.clipPlane2),a=!!(e.clipPlane3??t.clipPlane3),l=!!(e.clipPlane4??t.clipPlane4),o=!!(e.clipPlane5??t.clipPlane5),h=!!(e.clipPlane6??t.clipPlane6);return i.CLIPPLANE!==s&&(i.CLIPPLANE=s,r=!0),i.CLIPPLANE2!==n&&(i.CLIPPLANE2=n,r=!0),i.CLIPPLANE3!==a&&(i.CLIPPLANE3=a,r=!0),i.CLIPPLANE4!==l&&(i.CLIPPLANE4=l,r=!0),i.CLIPPLANE5!==o&&(i.CLIPPLANE5=o,r=!0),i.CLIPPLANE6!==h&&(i.CLIPPLANE6=h,r=!0),r}function L(e,t,i){if(i){let r=O.FloatingOriginCurrentScene.getScene()?.floatingOriginOffset||c.Vector3.ZeroReadOnly;e.setFloat4(t,i.normal.x,i.normal.y,i.normal.z,i.d+c.Vector3.Dot(i.normal,r))}}e.s(["AddClipPlaneUniforms",0,function(e){-1===e.indexOf("vClipPlane")&&e.push("vClipPlane"),-1===e.indexOf("vClipPlane2")&&e.push("vClipPlane2"),-1===e.indexOf("vClipPlane3")&&e.push("vClipPlane3"),-1===e.indexOf("vClipPlane4")&&e.push("vClipPlane4"),-1===e.indexOf("vClipPlane5")&&e.push("vClipPlane5"),-1===e.indexOf("vClipPlane6")&&e.push("vClipPlane6")},"BindClipPlane",0,function(e,t,i){let r=t.clipPlane??i.clipPlane;L(e,"vClipPlane",r),L(e,"vClipPlane2",r=t.clipPlane2??i.clipPlane2),L(e,"vClipPlane3",r=t.clipPlane3??i.clipPlane3),L(e,"vClipPlane4",r=t.clipPlane4??i.clipPlane4),L(e,"vClipPlane5",r=t.clipPlane5??i.clipPlane5),L(e,"vClipPlane6",r=t.clipPlane6??i.clipPlane6)},"PrepareDefinesForClipPlanes",0,y,"PrepareStringDefinesForClipPlanes",0,function(e,t,i){let r=!!(e.clipPlane??t.clipPlane),s=!!(e.clipPlane2??t.clipPlane2),n=!!(e.clipPlane3??t.clipPlane3),a=!!(e.clipPlane4??t.clipPlane4),l=!!(e.clipPlane5??t.clipPlane5),o=!!(e.clipPlane6??t.clipPlane6);r&&i.push("#define CLIPPLANE"),s&&i.push("#define CLIPPLANE2"),n&&i.push("#define CLIPPLANE3"),a&&i.push("#define CLIPPLANE4"),l&&i.push("#define CLIPPLANE5"),o&&i.push("#define CLIPPLANE6")}],36146);var F=e.i(32622);class N{static get DiffuseTextureEnabled(){return this._DiffuseTextureEnabled}static set DiffuseTextureEnabled(e){this._DiffuseTextureEnabled!==e&&(this._DiffuseTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get BaseWeightTextureEnabled(){return this._BaseWeightTextureEnabled}static set BaseWeightTextureEnabled(e){this._BaseWeightTextureEnabled!==e&&(this._BaseWeightTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get BaseDiffuseRoughnessTextureEnabled(){return this._BaseDiffuseRoughnessTextureEnabled}static set BaseDiffuseRoughnessTextureEnabled(e){this._BaseDiffuseRoughnessTextureEnabled!==e&&(this._BaseDiffuseRoughnessTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get DetailTextureEnabled(){return this._DetailTextureEnabled}static set DetailTextureEnabled(e){this._DetailTextureEnabled!==e&&(this._DetailTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get DecalMapEnabled(){return this._DecalMapEnabled}static set DecalMapEnabled(e){this._DecalMapEnabled!==e&&(this._DecalMapEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get AmbientTextureEnabled(){return this._AmbientTextureEnabled}static set AmbientTextureEnabled(e){this._AmbientTextureEnabled!==e&&(this._AmbientTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get OpacityTextureEnabled(){return this._OpacityTextureEnabled}static set OpacityTextureEnabled(e){this._OpacityTextureEnabled!==e&&(this._OpacityTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get ReflectionTextureEnabled(){return this._ReflectionTextureEnabled}static set ReflectionTextureEnabled(e){this._ReflectionTextureEnabled!==e&&(this._ReflectionTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get EmissiveTextureEnabled(){return this._EmissiveTextureEnabled}static set EmissiveTextureEnabled(e){this._EmissiveTextureEnabled!==e&&(this._EmissiveTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get SpecularTextureEnabled(){return this._SpecularTextureEnabled}static set SpecularTextureEnabled(e){this._SpecularTextureEnabled!==e&&(this._SpecularTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get BumpTextureEnabled(){return this._BumpTextureEnabled}static set BumpTextureEnabled(e){this._BumpTextureEnabled!==e&&(this._BumpTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get LightmapTextureEnabled(){return this._LightmapTextureEnabled}static set LightmapTextureEnabled(e){this._LightmapTextureEnabled!==e&&(this._LightmapTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get RefractionTextureEnabled(){return this._RefractionTextureEnabled}static set RefractionTextureEnabled(e){this._RefractionTextureEnabled!==e&&(this._RefractionTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get ColorGradingTextureEnabled(){return this._ColorGradingTextureEnabled}static set ColorGradingTextureEnabled(e){this._ColorGradingTextureEnabled!==e&&(this._ColorGradingTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get FresnelEnabled(){return this._FresnelEnabled}static set FresnelEnabled(e){this._FresnelEnabled!==e&&(this._FresnelEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(4))}static get ClearCoatTextureEnabled(){return this._ClearCoatTextureEnabled}static set ClearCoatTextureEnabled(e){this._ClearCoatTextureEnabled!==e&&(this._ClearCoatTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get ClearCoatBumpTextureEnabled(){return this._ClearCoatBumpTextureEnabled}static set ClearCoatBumpTextureEnabled(e){this._ClearCoatBumpTextureEnabled!==e&&(this._ClearCoatBumpTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get ClearCoatTintTextureEnabled(){return this._ClearCoatTintTextureEnabled}static set ClearCoatTintTextureEnabled(e){this._ClearCoatTintTextureEnabled!==e&&(this._ClearCoatTintTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get SheenTextureEnabled(){return this._SheenTextureEnabled}static set SheenTextureEnabled(e){this._SheenTextureEnabled!==e&&(this._SheenTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get AnisotropicTextureEnabled(){return this._AnisotropicTextureEnabled}static set AnisotropicTextureEnabled(e){this._AnisotropicTextureEnabled!==e&&(this._AnisotropicTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get ThicknessTextureEnabled(){return this._ThicknessTextureEnabled}static set ThicknessTextureEnabled(e){this._ThicknessTextureEnabled!==e&&(this._ThicknessTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get RefractionIntensityTextureEnabled(){return this._ThicknessTextureEnabled}static set RefractionIntensityTextureEnabled(e){this._RefractionIntensityTextureEnabled!==e&&(this._RefractionIntensityTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get TranslucencyIntensityTextureEnabled(){return this._TranslucencyIntensityTextureEnabled}static set TranslucencyIntensityTextureEnabled(e){this._TranslucencyIntensityTextureEnabled!==e&&(this._TranslucencyIntensityTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get TranslucencyColorTextureEnabled(){return this._TranslucencyColorTextureEnabled}static set TranslucencyColorTextureEnabled(e){this._TranslucencyColorTextureEnabled!==e&&(this._TranslucencyColorTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}static get IridescenceTextureEnabled(){return this._IridescenceTextureEnabled}static set IridescenceTextureEnabled(e){this._IridescenceTextureEnabled!==e&&(this._IridescenceTextureEnabled=e,F.AbstractEngine.MarkAllMaterialsAsDirty(1))}}N._DiffuseTextureEnabled=!0,N._BaseWeightTextureEnabled=!0,N._BaseDiffuseRoughnessTextureEnabled=!0,N._DetailTextureEnabled=!0,N._DecalMapEnabled=!0,N._AmbientTextureEnabled=!0,N._OpacityTextureEnabled=!0,N._ReflectionTextureEnabled=!0,N._EmissiveTextureEnabled=!0,N._SpecularTextureEnabled=!0,N._BumpTextureEnabled=!0,N._LightmapTextureEnabled=!0,N._RefractionTextureEnabled=!0,N._ColorGradingTextureEnabled=!0,N._FresnelEnabled=!0,N._ClearCoatTextureEnabled=!0,N._ClearCoatBumpTextureEnabled=!0,N._ClearCoatTintTextureEnabled=!0,N._SheenTextureEnabled=!0,N._AnisotropicTextureEnabled=!0,N._ThicknessTextureEnabled=!0,N._RefractionIntensityTextureEnabled=!0,N._TranslucencyIntensityTextureEnabled=!0,N._TranslucencyColorTextureEnabled=!0,N._IridescenceTextureEnabled=!0,e.s(["MaterialFlags",0,N],24462);let v={r:0,g:0,b:0},B={NUM_MORPH_INFLUENCERS:0,NORMAL:!1,TANGENT:!1,UV:!1,UV2:!1,COLOR:!1};function k(e,t,i,r=!0){let s=i.NUM_MORPH_INFLUENCERS;if(s>0&&a.EngineStore.LastCreatedEngine){let n=a.EngineStore.LastCreatedEngine.getCaps().maxVertexAttribs,l=t.morphTargetManager;if(l?.isUsingTextureForTargets)return;let o=l&&l.supportsPositions&&r,h=l&&l.supportsNormals&&i.NORMAL,c=l&&l.supportsTangents&&i.TANGENT,u=l&&l.supportsUVs&&i.UV1,d=l&&l.supportsUV2s&&i.UV2,_=l&&l.supportsColors&&i.VERTEXCOLOR;for(let i=0;i<s;i++)o&&e.push("position"+i),h&&e.push("normal"+i),c&&e.push("tangent"+i),u&&e.push("uv_"+i),d&&e.push("uv2_"+i),_&&e.push("color"+i),e.length>n&&R.Logger.Error("Cannot add more vertex attributes for mesh "+t.name)}}function U(e,t=!1){e.push("world0"),e.push("world1"),e.push("world2"),e.push("world3"),t&&(e.push("previousWorld0"),e.push("previousWorld1"),e.push("previousWorld2"),e.push("previousWorld3"))}function H(e,t){t.bindToEffect(e,"Scene")}let V=new WeakMap,W=new WeakSet;e.s(["AreLightsTexturesReady",0,function(e,t,i,r=!1){if(!e.lightsEnabled||r)return!0;let s=t.lightSources,n=Math.min(s.length,i);for(let e=0;e<n;e++)if(!s[e].areLightTexturesReady())return!1;return!0},"BindBonesParameters",0,function(e,t,i){if(t&&e&&(e.computeBonesUsingShaders&&t._bonesComputationForcedToCPU&&(e.computeBonesUsingShaders=!1),e.useBones&&e.computeBonesUsingShaders&&e.skeleton)){let r=e.skeleton;if(r.isUsingTextureForMatrices&&t.getUniformIndex("boneTextureInfo")>-1){let i=r.getTransformMatrixTexture(e);t.setTexture("boneSampler",i),t.setFloat2("boneTextureInfo",r._textureWidth,r._textureHeight)}else{let s=r.getTransformMatrices(e);s&&(t.setMatrices("mBones",s),i&&e.getScene().prePassRenderer&&e.getScene().prePassRenderer.getIndex(2))&&(i.previousBones[e.uniqueId]||(i.previousBones[e.uniqueId]=s.slice()),t.setMatrices("mPreviousBones",i.previousBones[e.uniqueId]),i.previousBones[e.uniqueId].set(s))}}},"BindFogParameters",0,function(e,t,i,r=!1){i&&e.fogEnabled&&(!t||t.applyFog)&&0!==e.fogMode&&(i.setFloat4("vFogInfos",e.fogMode,e.fogStart,e.fogEnd,e.fogDensity),r?(e.fogColor.toLinearSpaceToRef(v,e.getEngine().useExactSrgbConversions),i.setColor3("vFogColor",v)):i.setColor3("vFogColor",e.fogColor))},"BindIBLParameters",0,function(e,t,i,r,s=null,n=!1,a=!1,l=!1,o=!1,h=!1,c=!1,u=0){if(e.texturesEnabled&&s&&N.ReflectionTextureEnabled){if(i.updateMatrix("reflectionMatrix",s.getReflectionTextureMatrix()),i.updateFloat2("vReflectionInfos",s.level*e.iblIntensity,u),l&&s.boundingBoxSize&&(i.updateVector3("vReflectionPosition",s.boundingBoxPosition),i.updateVector3("vReflectionSize",s.boundingBoxSize)),n){let e=s.getSize().width;i.updateFloat2("vReflectionFilteringInfo",e,Math.log2(e))}if(h&&!t.USEIRRADIANCEMAP){let e=s.sphericalPolynomial;if(t.USESPHERICALFROMREFLECTIONMAP&&e)if(t.SPHERICAL_HARMONICS){let t=e.preScaledHarmonics;i.updateVector3("vSphericalL00",t.l00),i.updateVector3("vSphericalL1_1",t.l1_1),i.updateVector3("vSphericalL10",t.l10),i.updateVector3("vSphericalL11",t.l11),i.updateVector3("vSphericalL2_2",t.l2_2),i.updateVector3("vSphericalL2_1",t.l2_1),i.updateVector3("vSphericalL20",t.l20),i.updateVector3("vSphericalL21",t.l21),i.updateVector3("vSphericalL22",t.l22)}else i.updateFloat3("vSphericalX",e.x.x,e.x.y,e.x.z),i.updateFloat3("vSphericalY",e.y.x,e.y.y,e.y.z),i.updateFloat3("vSphericalZ",e.z.x,e.z.y,e.z.z),i.updateFloat3("vSphericalXX_ZZ",e.xx.x-e.zz.x,e.xx.y-e.zz.y,e.xx.z-e.zz.z),i.updateFloat3("vSphericalYY_ZZ",e.yy.x-e.zz.x,e.yy.y-e.zz.y,e.yy.z-e.zz.z),i.updateFloat3("vSphericalZZ",e.zz.x,e.zz.y,e.zz.z),i.updateFloat3("vSphericalXY",e.xy.x,e.xy.y,e.xy.z),i.updateFloat3("vSphericalYZ",e.yz.x,e.yz.y,e.yz.z),i.updateFloat3("vSphericalZX",e.zx.x,e.zx.y,e.zx.z)}else o&&t.USEIRRADIANCEMAP&&t.USE_IRRADIANCE_DOMINANT_DIRECTION&&s.irradianceTexture&&i.updateVector3("vReflectionDominantDirection",s.irradianceTexture._dominantDirection);a&&i.updateFloat3("vReflectionMicrosurfaceInfos",s.getSize().width,s.lodGenerationScale,s.lodGenerationOffset)}c&&i.updateColor3("vReflectionColor",r)},"BindIBLSamplers",0,function(e,t,i,r=null,s=!1){if(r&&N.ReflectionTextureEnabled){t.LODBASEDMICROSFURACE?i.setTexture("reflectionSampler",r):(i.setTexture("reflectionSampler",r._lodTextureMid||r),i.setTexture("reflectionSamplerLow",r._lodTextureLow||r),i.setTexture("reflectionSamplerHigh",r._lodTextureHigh||r)),t.USEIRRADIANCEMAP&&i.setTexture("irradianceSampler",r.irradianceTexture);let n=e.iblCdfGenerator;s&&n&&i.setTexture("icdfSampler",n.getIcdfTexture())}},"BindLights",0,function(e,t,i,r,s=4){let n=Math.min(t.lightSources.length,s);for(let s=0;s<n;s++)!function(e,t,i,r,s,n=!0){e._bindLight(t,i,r,s,n)}(t.lightSources[s],s,e,i,"boolean"==typeof r?r:r.SPECULARTERM,t.receiveShadows)},"BindLogDepth",0,function(e,t,i){if(!e||e.LOGARITHMICDEPTH||e.indexOf&&e.indexOf("LOGARITHMICDEPTH")>=0){let e=i.activeCamera;1===e.mode&&R.Logger.Error("Logarithmic depth is not compatible with orthographic cameras!",20),t.setFloat("logarithmicDepthConstant",2/(Math.log(e.maxZ+1)/Math.LN2))}},"BindMorphTargetParameters",0,function(e,t){let i=e.morphTargetManager;e&&i&&t.setFloatArray("morphTargetInfluences",i.influences)},"BindSceneUniformBuffer",0,H,"BindTextureMatrix",0,function(e,t,i){let r=e.getTextureMatrix();t.updateMatrix(i+"Matrix",r)},"HandleFallbacksForShadows",0,function(e,t,i=4,r=0){let s=0;for(let n=0;n<i&&e["LIGHT"+n];n++)n>0&&(s=r+n,t.addFallback(s,"LIGHT"+n)),!e.SHADOWS&&(e["SHADOW"+n]&&t.addFallback(r,"SHADOW"+n),e["SHADOWPCF"+n]&&t.addFallback(r,"SHADOWPCF"+n),e["SHADOWPCSS"+n]&&t.addFallback(r,"SHADOWPCSS"+n),e["SHADOWPOISSON"+n]&&t.addFallback(r,"SHADOWPOISSON"+n),e["SHADOWESM"+n]&&t.addFallback(r,"SHADOWESM"+n),e["SHADOWCLOSEESM"+n]&&t.addFallback(r,"SHADOWCLOSEESM"+n));return s},"PrepareAttributesForBakedVertexAnimation",0,function(e,t,i){i.BAKED_VERTEX_ANIMATION_TEXTURE&&i.INSTANCES&&e.push("bakedVertexAnimationSettingsInstanced")},"PrepareAttributesForBones",0,function(e,t,i,r){i.NUM_BONE_INFLUENCERS>0&&(r.addCPUSkinningFallback(0,t),e.push("matricesIndices"),e.push("matricesWeights"),i.NUM_BONE_INFLUENCERS>4&&(e.push("matricesIndicesExtra"),e.push("matricesWeightsExtra")))},"PrepareAttributesForInstances",0,function(e,t){(t.INSTANCES||t.THIN_INSTANCES)&&U(e,!!t.PREPASS_VELOCITY),t.INSTANCESCOLOR&&e.push("instanceColor")},"PrepareAttributesForMorphTargets",0,k,"PrepareDefinesAndAttributesForMorphTargets",0,function(e,t,i,r,s,n,a,l,o,h){let c=e.numMaxInfluencers||e.numInfluencers;return c<=0?0:(t.push("#define MORPHTARGETS"),e.hasPositions&&t.push("#define MORPHTARGETTEXTURE_HASPOSITIONS"),e.hasNormals&&t.push("#define MORPHTARGETTEXTURE_HASNORMALS"),e.hasTangents&&t.push("#define MORPHTARGETTEXTURE_HASTANGENTS"),e.hasUVs&&t.push("#define MORPHTARGETTEXTURE_HASUVS"),e.hasUV2s&&t.push("#define MORPHTARGETTEXTURE_HASUV2S"),e.hasColors&&t.push("#define MORPHTARGETTEXTURE_HASCOLORS"),e.supportsPositions&&s&&t.push("#define MORPHTARGETS_POSITION"),e.supportsNormals&&n&&t.push("#define MORPHTARGETS_NORMAL"),e.supportsTangents&&a&&t.push("#define MORPHTARGETS_TANGENT"),e.supportsUVs&&l&&t.push("#define MORPHTARGETS_UV"),e.supportsUV2s&&o&&t.push("#define MORPHTARGETS_UV2"),e.supportsColors&&h&&t.push("#define MORPHTARGETS_COLOR"),t.push("#define NUM_MORPH_INFLUENCERS "+c),e.isUsingTextureForTargets&&t.push("#define MORPHTARGETS_TEXTURE"),B.NUM_MORPH_INFLUENCERS=c,B.NORMAL=n,B.TANGENT=a,B.UV=l,B.UV2=o,B.COLOR=h,k(i,r,B,s),c)},"PrepareDefinesForAttributes",0,function(e,t,i,r,s=!1,n=!0,a=!0){let l,o;if(!t._areAttributesDirty&&t._needNormals===t._normals&&t._needUVs===t._uvs)return!1;t._normals=t._needNormals,t._uvs=t._needUVs,t.NORMAL=t._needNormals&&e.isVerticesDataPresent("normal"),t._needNormals&&e.isVerticesDataPresent("tangent")&&(t.TANGENT=!0);for(let i=1;i<=6;++i)t["UV"+i]=!!t._needUVs&&e.isVerticesDataPresent(`uv${1===i?"":i}`);if(i){let i=e.useVertexColors&&e.isVerticesDataPresent("color");t.VERTEXCOLOR=i,t.VERTEXALPHA=e.hasVertexAlpha&&i&&n}return e.isVerticesDataPresent("instanceColor")&&(e.hasInstances||e.hasThinInstances)&&(t.INSTANCESCOLOR=!0),r&&function(e,t){if(e.useBones&&e.computeBonesUsingShaders&&e.skeleton){t.NUM_BONE_INFLUENCERS=e.numBoneInfluencers;let i=void 0!==t.BONETEXTURE;if(e.skeleton.isUsingTextureForMatrices&&i)t.BONETEXTURE=!0;else{t.BonesPerMesh=e.skeleton.bones.length+1,t.BONETEXTURE=!i&&void 0;let r=e.getScene(),s=r.prePassRenderer;s&&s.enabled&&(t.BONES_VELOCITY_ENABLED=-1===s.excludedSkinnedMesh.indexOf(e));let n=!0===t.MULTIVIEW,a=2*t.BonesPerMesh+ +!!n;if(V.get(e.skeleton)!==a){V.set(e.skeleton,a);let i=r.getEngine().getCaps().maxVertexUniformVectors;if(i&&!W.has(e.skeleton)){let r=4*t.BonesPerMesh,s=Math.max(i-(n?64:40),0);(r>s||n&&3*r>i)&&(W.add(e.skeleton),R.Logger.Warn(`Skeleton "${e.skeleton.name}": ${e.skeleton.bones.length} bones stored as vertex uniforms use ${r} of ~${s} usable uniform vectors${n?" (multiview)":""} on a device reporting ${i}. This can exceed the GPU vertex-uniform limit and make the mesh silently fail to render. Set skeleton.useTextureToStoreBoneMatrices = true to store bone matrices in a texture.`))}}}}else t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,void 0!==t.BONETEXTURE&&(t.BONETEXTURE=!1)}(e,t),s&&((l=e.morphTargetManager)?(t.MORPHTARGETS_UV=l.supportsUVs&&t.UV1,t.MORPHTARGETS_UV2=l.supportsUV2s&&t.UV2,t.MORPHTARGETS_TANGENT=l.supportsTangents&&t.TANGENT,t.MORPHTARGETS_NORMAL=l.supportsNormals&&t.NORMAL,t.MORPHTARGETS_POSITION=l.supportsPositions,t.MORPHTARGETS_COLOR=l.supportsColors,t.MORPHTARGETTEXTURE_HASUVS=l.hasUVs,t.MORPHTARGETTEXTURE_HASUV2S=l.hasUV2s,t.MORPHTARGETTEXTURE_HASTANGENTS=l.hasTangents,t.MORPHTARGETTEXTURE_HASNORMALS=l.hasNormals,t.MORPHTARGETTEXTURE_HASPOSITIONS=l.hasPositions,t.MORPHTARGETTEXTURE_HASCOLORS=l.hasColors,t.NUM_MORPH_INFLUENCERS=l.numMaxInfluencers||l.numInfluencers,t.MORPHTARGETS=t.NUM_MORPH_INFLUENCERS>0,t.MORPHTARGETS_TEXTURE=l.isUsingTextureForTargets):(t.MORPHTARGETS_UV=!1,t.MORPHTARGETS_UV2=!1,t.MORPHTARGETS_TANGENT=!1,t.MORPHTARGETS_NORMAL=!1,t.MORPHTARGETS_POSITION=!1,t.MORPHTARGETS_COLOR=!1,t.MORPHTARGETTEXTURE_HASUVS=!1,t.MORPHTARGETTEXTURE_HASUV2S=!1,t.MORPHTARGETTEXTURE_HASTANGENTS=!1,t.MORPHTARGETTEXTURE_HASNORMALS=!1,t.MORPHTARGETTEXTURE_HASPOSITIONS=!1,t.MORPHTARGETTEXTURE_HAS_COLORS=!1,t.MORPHTARGETS=!1,t.NUM_MORPH_INFLUENCERS=0)),a&&(t.BAKED_VERTEX_ANIMATION_TEXTURE=!!(o=e.bakedVertexAnimationManager)&&!!o.isEnabled),!0},"PrepareDefinesForFrameBoundValues",0,function(e,t,i,r,s,n=null,a=!1){let l=function(e,t){let i=!1;if(e.activeCamera){let r=+!!t.CAMERA_ORTHOGRAPHIC,s=+!!t.CAMERA_PERSPECTIVE,n=+(1===e.activeCamera.mode),a=+(0===e.activeCamera.mode);(r^n||s^a)&&(t.CAMERA_ORTHOGRAPHIC=1===n,t.CAMERA_PERSPECTIVE=1===a,i=!0)}return i}(e,r);!1!==n&&(l=y(i,e,r)),!t.getColorWrite()!==r.DEPTHPREPASS&&(r.DEPTHPREPASS=!r.DEPTHPREPASS,l=!0),r.INSTANCES!==s&&(r.INSTANCES=s,l=!0),r.THIN_INSTANCES!==a&&(r.THIN_INSTANCES=a,l=!0),l&&r.markAsUnprocessed()},"PrepareDefinesForIBL",0,function(e,t,i,r=!1,s=8,n=!1){if(t&&N.ReflectionTextureEnabled){if(!t.isReadyOrNotBlocking())return!1;i._needNormals=!0,i.REFLECTION=!0,i.GAMMAREFLECTION=t.gammaSpace,i.RGBDREFLECTION=t.isRGBD,i.LODINREFLECTIONALPHA=t.lodLevelInAlpha,i.LINEARSPECULARREFLECTION=t.linearSpecularLOD,i.USEIRRADIANCEMAP=!1,i.LODBASEDMICROSFURACE=e.getEngine().getCaps().textureLOD;let a=e.getEngine();switch(r&&s>0?(i.NUM_SAMPLES=""+s,a._features.needTypeSuffixInShaderConstants&&(i.NUM_SAMPLES=i.NUM_SAMPLES+"u"),i.REALTIME_FILTERING=!0,e.iblCdfGenerator&&(i.IBL_CDF_FILTERING=!0)):i.REALTIME_FILTERING=!1,i.INVERTCUBICMAP=6===t.coordinatesMode,i.REFLECTIONMAP_3D=t.isCube,i.REFLECTIONMAP_OPPOSITEZ=i.REFLECTIONMAP_3D&&e.useRightHandedSystem?!t.invertZ:t.invertZ,i.REFLECTIONMAP_CUBIC=!1,i.REFLECTIONMAP_EXPLICIT=!1,i.REFLECTIONMAP_PLANAR=!1,i.REFLECTIONMAP_PROJECTION=!1,i.REFLECTIONMAP_SKYBOX=!1,i.REFLECTIONMAP_SPHERICAL=!1,i.REFLECTIONMAP_EQUIRECTANGULAR=!1,i.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!1,i.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!1,t.coordinatesMode){case 0:i.REFLECTIONMAP_EXPLICIT=!0;break;case 2:i.REFLECTIONMAP_PLANAR=!0;break;case 4:i.REFLECTIONMAP_PROJECTION=!0;break;case 5:i.REFLECTIONMAP_SKYBOX=!0;break;case 1:i.REFLECTIONMAP_SPHERICAL=!0;break;case 7:i.REFLECTIONMAP_EQUIRECTANGULAR=!0;break;case 8:i.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!0;break;case 9:i.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!0;break;default:i.REFLECTIONMAP_CUBIC=!0,i.USE_LOCAL_REFLECTIONMAP_CUBIC=!!t.boundingBoxSize}5!==t.coordinatesMode&&(t.irradianceTexture?(i.USEIRRADIANCEMAP=!0,i.USESPHERICALFROMREFLECTIONMAP=!1,i.USESPHERICALINVERTEX=!1,t.irradianceTexture._dominantDirection?i.USE_IRRADIANCE_DOMINANT_DIRECTION=!0:i.USE_IRRADIANCE_DOMINANT_DIRECTION=!1):t.isCube&&(i.USESPHERICALFROMREFLECTIONMAP=!0,i.USEIRRADIANCEMAP=!1,i.USE_IRRADIANCE_DOMINANT_DIRECTION=!1,i.USESPHERICALINVERTEX=n))}else i.REFLECTION=!1,i.REFLECTIONMAP_3D=!1,i.REFLECTIONMAP_SPHERICAL=!1,i.REFLECTIONMAP_PLANAR=!1,i.REFLECTIONMAP_CUBIC=!1,i.USE_LOCAL_REFLECTIONMAP_CUBIC=!1,i.REFLECTIONMAP_PROJECTION=!1,i.REFLECTIONMAP_SKYBOX=!1,i.REFLECTIONMAP_EXPLICIT=!1,i.REFLECTIONMAP_EQUIRECTANGULAR=!1,i.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!1,i.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!1,i.INVERTCUBICMAP=!1,i.USESPHERICALFROMREFLECTIONMAP=!1,i.USEIRRADIANCEMAP=!1,i.USE_IRRADIANCE_DOMINANT_DIRECTION=!1,i.USESPHERICALINVERTEX=!1,i.REFLECTIONMAP_OPPOSITEZ=!1,i.LODINREFLECTIONALPHA=!1,i.GAMMAREFLECTION=!1,i.RGBDREFLECTION=!1,i.LINEARSPECULARREFLECTION=!1;return!0},"PrepareDefinesForLights",0,function(e,t,i,r,s=4,n=!1){if(!i._areLightsDirty)return i._needNormals;let a=0,l={needNormals:i._needNormals,needRebuild:!1,lightmapMode:!1,shadowEnabled:!1,specularEnabled:!1};if(e.lightsEnabled&&!n){for(let n of t.lightSources)if(function(e,t,i,r,s,n,a){switch(a.needNormals=!0,void 0===s["LIGHT"+r]&&(a.needRebuild=!0),s["LIGHT"+r]=!0,s["SPOTLIGHT"+r]=!1,s["HEMILIGHT"+r]=!1,s["POINTLIGHT"+r]=!1,s["DIRLIGHT"+r]=!1,s["AREALIGHT"+r]=!1,s["CLUSTLIGHT"+r]=!1,i.prepareLightSpecificDefines(s,r),s["LIGHT_FALLOFF_PHYSICAL"+r]=!1,s["LIGHT_FALLOFF_GLTF"+r]=!1,s["LIGHT_FALLOFF_STANDARD"+r]=!1,i.falloffType){case D.LightConstants.FALLOFF_GLTF:s["LIGHT_FALLOFF_GLTF"+r]=!0;break;case D.LightConstants.FALLOFF_PHYSICAL:s["LIGHT_FALLOFF_PHYSICAL"+r]=!0;break;case D.LightConstants.FALLOFF_STANDARD:s["LIGHT_FALLOFF_STANDARD"+r]=!0}if(n&&!i.specular.equalsFloats(0,0,0)&&(a.specularEnabled=!0),s["SHADOW"+r]=!1,s["SHADOWCSM"+r]=!1,s["SHADOWCSMDEBUG"+r]=!1,s["SHADOWCSMNUM_CASCADES"+r]=!1,s["SHADOWCSMUSESHADOWMAXZ"+r]=!1,s["SHADOWCSMNOBLEND"+r]=!1,s["SHADOWCSM_RIGHTHANDED"+r]=!1,s["SHADOWPCF"+r]=!1,s["SHADOWPCSS"+r]=!1,s["SHADOWPOISSON"+r]=!1,s["SHADOWESM"+r]=!1,s["SHADOWCLOSEESM"+r]=!1,s["SHADOWCUBE"+r]=!1,s["SHADOWLOWQUALITY"+r]=!1,s["SHADOWMEDIUMQUALITY"+r]=!1,t&&t.receiveShadows&&e.shadowsEnabled&&i.shadowEnabled){let t=i.getShadowGenerator(e.activeCamera)??i.getShadowGenerator();if(t){let e=t.getShadowMap();e&&e.renderList&&e.renderList.length>0&&(a.shadowEnabled=!0,t.prepareDefines(s,r))}}i.lightmapMode!=D.LightConstants.LIGHTMAP_DEFAULT?(a.lightmapMode=!0,s["LIGHTMAPEXCLUDED"+r]=!0,s["LIGHTMAPNOSPECULAR"+r]=i.lightmapMode==D.LightConstants.LIGHTMAP_SHADOWSONLY):(s["LIGHTMAPEXCLUDED"+r]=!1,s["LIGHTMAPNOSPECULAR"+r]=!1)}(e,t,n,a,i,r,l),++a===s)break}i.SPECULARTERM=l.specularEnabled,i.SHADOWS=l.shadowEnabled;let o=Math.max(s,i.MAXLIGHTCOUNT||0);for(let e=a;e<o;e++)void 0!==i["LIGHT"+e]&&(i["LIGHT"+e]=!1,i["HEMILIGHT"+e]=!1,i["POINTLIGHT"+e]=!1,i["DIRLIGHT"+e]=!1,i["SPOTLIGHT"+e]=!1,i["AREALIGHT"+e]=!1,i["CLUSTLIGHT"+e]=!1,i["SHADOW"+e]=!1,i["SHADOWCSM"+e]=!1,i["SHADOWCSMDEBUG"+e]=!1,i["SHADOWCSMNUM_CASCADES"+e]=!1,i["SHADOWCSMUSESHADOWMAXZ"+e]=!1,i["SHADOWCSMNOBLEND"+e]=!1,i["SHADOWCSM_RIGHTHANDED"+e]=!1,i["SHADOWPCF"+e]=!1,i["SHADOWPCSS"+e]=!1,i["SHADOWPOISSON"+e]=!1,i["SHADOWESM"+e]=!1,i["SHADOWCLOSEESM"+e]=!1,i["SHADOWCUBE"+e]=!1,i["SHADOWLOWQUALITY"+e]=!1,i["SHADOWMEDIUMQUALITY"+e]=!1);i.LIGHTCOUNT=a,i.MAXLIGHTCOUNT=s;let h=e.getEngine().getCaps();return void 0===i.SHADOWFLOAT&&(l.needRebuild=!0),i.SHADOWFLOAT=l.shadowEnabled&&(h.textureFloatRender&&h.textureFloatLinearFiltering||h.textureHalfFloatRender&&h.textureHalfFloatLinearFiltering),i.LIGHTMAPEXCLUDED=l.lightmapMode,l.needRebuild&&i.rebuild(),l.needNormals},"PrepareDefinesForMergedUV",0,function(e,t,i){t._needUVs=!0,t[i]=!0,e.optimizeUVAllocation&&e.getTextureMatrix().isIdentityAs3x2()?(t[i+"DIRECTUV"]=e.coordinatesIndex+1,t["MAINUV"+(e.coordinatesIndex+1)]=!0):t[i+"DIRECTUV"]=0},"PrepareDefinesForMisc",0,function(e,t,i,r,s,n,a,l=!1,o=!1,h,c){if(a._areMiscDirty){a.LOGARITHMICDEPTH=i,a.POINTSIZE=r,a.FOG=s&&t.fogEnabled&&e.applyFog&&0!==t.fogMode,a.NONUNIFORMSCALING=e.nonUniformScaling,a.ALPHATEST=n,a.DECAL_AFTER_DETAIL=l,a.USE_VERTEX_PULLING=o,a.RIGHT_HANDED=t.useRightHandedSystem;let u=h?.geometry?.getIndexBuffer(),d=!!h&&h.isUnIndexed;a.VERTEX_PULLING_USE_INDEX_BUFFER=!!u&&!d,a.VERTEX_PULLING_INDEX_BUFFER_32BITS=!!u&&!d&&u.is32Bits,a.VERTEXOUTPUT_INVARIANT=!!c}},"PrepareDefinesForMultiview",0,function(e,t){if(e.activeCamera){let i=t.MULTIVIEW;t.MULTIVIEW=null!==e.activeCamera.outputRenderTarget&&e.activeCamera.outputRenderTarget.getViewCount()>1,t.MULTIVIEW!=i&&t.markAsUnprocessed()}},"PrepareDefinesForOIT",0,function(e,t,i){let r=t.ORDER_INDEPENDENT_TRANSPARENCY,s=t.ORDER_INDEPENDENT_TRANSPARENCY_16BITS;t.ORDER_INDEPENDENT_TRANSPARENCY=e.useOrderIndependentTransparency&&i,t.ORDER_INDEPENDENT_TRANSPARENCY_16BITS=!e.getEngine().getCaps().textureFloatLinearFiltering,(r!==t.ORDER_INDEPENDENT_TRANSPARENCY||s!==t.ORDER_INDEPENDENT_TRANSPARENCY_16BITS)&&t.markAsUnprocessed()},"PrepareDefinesForPrePass",0,function(e,t,i){let r=t.PREPASS;if(!t._arePrePassDirty)return;let s=[{type:1,define:"PREPASS_POSITION",index:"PREPASS_POSITION_INDEX"},{type:9,define:"PREPASS_LOCAL_POSITION",index:"PREPASS_LOCAL_POSITION_INDEX"},{type:2,define:"PREPASS_VELOCITY",index:"PREPASS_VELOCITY_INDEX"},{type:11,define:"PREPASS_VELOCITY_LINEAR",index:"PREPASS_VELOCITY_LINEAR_INDEX"},{type:3,define:"PREPASS_REFLECTIVITY",index:"PREPASS_REFLECTIVITY_INDEX"},{type:0,define:"PREPASS_IRRADIANCE_LEGACY",index:"PREPASS_IRRADIANCE_LEGACY_INDEX"},{type:7,define:"PREPASS_ALBEDO_SQRT",index:"PREPASS_ALBEDO_SQRT_INDEX"},{type:5,define:"PREPASS_DEPTH",index:"PREPASS_DEPTH_INDEX"},{type:10,define:"PREPASS_SCREENSPACE_DEPTH",index:"PREPASS_SCREENSPACE_DEPTH_INDEX"},{type:6,define:"PREPASS_NORMAL",index:"PREPASS_NORMAL_INDEX"},{type:8,define:"PREPASS_WORLD_NORMAL",index:"PREPASS_WORLD_NORMAL_INDEX"},{type:14,define:"PREPASS_IRRADIANCE",index:"PREPASS_IRRADIANCE_INDEX"}];if(e.prePassRenderer&&e.prePassRenderer.enabled&&i){t.PREPASS=!0,t.SCENE_MRT_COUNT=e.prePassRenderer.mrtCount,t.PREPASS_NORMAL_WORLDSPACE=e.prePassRenderer.generateNormalsInWorldSpace,t.PREPASS_COLOR=!0,t.PREPASS_COLOR_INDEX=0;for(let i=0;i<s.length;i++){let r=e.prePassRenderer.getIndex(s[i].type);-1!==r?(t[s[i].define]=!0,t[s[i].index]=r):t[s[i].define]=!1}}else{t.PREPASS=!1;for(let e=0;e<s.length;e++)t[s[e].define]=!1}t.PREPASS!=r&&(t.markAsUnprocessed(),t.markAsImageProcessingDirty())},"PrepareUniformLayoutForIBL",0,function(e,t=!1,i=!1,r=!1,s=!1,n=!1){e.addUniform("vReflectionInfos",2),e.addUniform("reflectionMatrix",16),t&&e.addUniform("vReflectionMicrosurfaceInfos",3),i&&(e.addUniform("vReflectionPosition",3),e.addUniform("vReflectionSize",3)),r&&(e.addUniform("vReflectionFilteringInfo",2),e.addUniform("vReflectionDominantDirection",3)),n&&e.addUniform("vReflectionColor",3),s&&(e.addUniform("vSphericalL00",3),e.addUniform("vSphericalL1_1",3),e.addUniform("vSphericalL10",3),e.addUniform("vSphericalL11",3),e.addUniform("vSphericalL2_2",3),e.addUniform("vSphericalL2_1",3),e.addUniform("vSphericalL20",3),e.addUniform("vSphericalL21",3),e.addUniform("vSphericalL22",3),e.addUniform("vSphericalX",3),e.addUniform("vSphericalY",3),e.addUniform("vSphericalZ",3),e.addUniform("vSphericalXX_ZZ",3),e.addUniform("vSphericalYY_ZZ",3),e.addUniform("vSphericalZZ",3),e.addUniform("vSphericalXY",3),e.addUniform("vSphericalYZ",3),e.addUniform("vSphericalZX",3))},"PrepareUniformsAndSamplersForIBL",0,function(e,t,i){let r=["vReflectionMicrosurfaceInfos","vReflectionDominantDirection","reflectionMatrix","vReflectionInfos","vReflectionPosition","vReflectionSize","vReflectionColor","vReflectionFilteringInfo"];i&&r.push("vSphericalX","vSphericalY","vSphericalZ","vSphericalXX_ZZ","vSphericalYY_ZZ","vSphericalZZ","vSphericalXY","vSphericalYZ","vSphericalZX","vSphericalL00","vSphericalL1_1","vSphericalL10","vSphericalL11","vSphericalL2_2","vSphericalL2_1","vSphericalL20","vSphericalL21","vSphericalL22"),e.push(...r),t.push("reflectionSampler","reflectionSamplerLow","reflectionSamplerHigh","irradianceSampler","icdfSampler")},"PrepareUniformsAndSamplersList",0,function(e,t,i,r=4){let s,n,a=null;e.uniformsNames?(s=e.uniformsNames,n=e.uniformBuffersNames,t=e.samplers,i=e.defines,r=e.maxSimultaneousLights||0,a=e.shaderLanguage??null):(s=e,t||(t=[]));for(let e=0;e<r&&i["LIGHT"+e];e++)!function(e,t,i,r,s=null,n=!1,a=!1,l=!1,o=!1,h=!1){s&&s.push("Light"+e),!n&&(t.push("vLightData"+e,"vLightDiffuse"+e,"vLightSpecular"+e,"vLightDirection"+e,"vLightWidth"+e,"vLightHeight"+e,"vLightFalloff"+e,"vLightGround"+e,"vSliceData"+e,"vSliceRanges"+e,"lightMatrix"+e,"shadowsInfo"+e,"depthValues"+e),i.push("shadowTexture"+e),i.push("depthTexture"+e),t.push("viewFrustumZ"+e,"cascadeBlendFactor"+e,"lightSizeUVCorrection"+e,"depthCorrection"+e,"penumbraDarkness"+e,"frustumLengths"+e),r&&(i.push("projectionLightTexture"+e),t.push("textureProjectionMatrix"+e)),a&&i.push("iesLightTexture"+e),o&&i.push("rectAreaLightEmissionTexture"+e),l&&(i.push("lightDataTexture"+e),h||i.push("tileMaskTexture"+e)))}(e,s,t,i["PROJECTEDLIGHTTEXTURE"+e],n,!1,i["IESLIGHTTEXTURE"+e],i["CLUSTLIGHT"+e],i["RECTAREALIGHTEMISSIONTEXTURE"+e],1===a);i.NUM_MORPH_INFLUENCERS&&(s.push("morphTargetInfluences"),s.push("morphTargetCount")),i.BAKED_VERTEX_ANIMATION_TEXTURE&&(s.push("bakedVertexAnimationSettings"),s.push("bakedVertexAnimationTextureSizeInverted"),s.push("bakedVertexAnimationTime"),t.push("bakedVertexAnimationTexture"))},"PushAttributesForInstances",0,U],1682);var w=e.i(59157);class G{get useVertexPulling(){return this._useVertexPulling}set useVertexPulling(e){this._useVertexPulling!==e&&(this._useVertexPulling=e,this.markAsDirty(G.MiscDirtyFlag))}get _supportGlowLayer(){return!1}set _glowModeEnabled(e){}get shaderLanguage(){return this._shaderLanguage}get canRenderToMRT(){return!1}set alpha(e){if(this._alpha===e)return;let t=this._alpha;this._alpha=e,(1===t||1===e)&&this.markAsDirty(G.MiscDirtyFlag+G.PrePassDirtyFlag)}get alpha(){return this._alpha}set backFaceCulling(e){this._backFaceCulling!==e&&(this._backFaceCulling=e,this.markAsDirty(G.TextureDirtyFlag))}get backFaceCulling(){return this._backFaceCulling}set textureRepetitionMode(e){let t=Math.max(0,Math.min(0|e,4));this._textureRepetitionMode!==t&&(this._textureRepetitionMode=t,this.markAsDirty(G.TextureDirtyFlag))}get textureRepetitionMode(){return this._textureRepetitionMode}set cullBackFaces(e){this._cullBackFaces!==e&&(this._cullBackFaces=e,this.markAsDirty(G.TextureDirtyFlag))}get cullBackFaces(){return this._cullBackFaces}get blockDirtyMechanism(){return this._blockDirtyMechanism}set blockDirtyMechanism(e){this._blockDirtyMechanism!==e&&(this._blockDirtyMechanism=e,e||this.markDirty())}atomicMaterialsUpdate(e){this.blockDirtyMechanism=!0;try{e(this)}finally{this.blockDirtyMechanism=!1}}get hasRenderTargetTextures(){return this._eventInfo.hasRenderTargetTextures=!1,this._callbackPluginEventHasRenderTargetTextures(this._eventInfo),this._eventInfo.hasRenderTargetTextures}set onDispose(e){this._onDisposeObserver&&this.onDisposeObservable.remove(this._onDisposeObserver),this._onDisposeObserver=this.onDisposeObservable.add(e)}get onBindObservable(){return this._onBindObservable||(this._onBindObservable=new n.Observable),this._onBindObservable}set onBind(e){this._onBindObserver&&this.onBindObservable.remove(this._onBindObserver),this._onBindObserver=this.onBindObservable.add(e)}get onUnBindObservable(){return this._onUnBindObservable||(this._onUnBindObservable=new n.Observable),this._onUnBindObservable}get onEffectCreatedObservable(){return this._onEffectCreatedObservable||(this._onEffectCreatedObservable=new n.Observable),this._onEffectCreatedObservable}set alphaMode(e){this._alphaMode[0]!==e&&(this._alphaMode[0]=e,this.markAsDirty(G.TextureDirtyFlag))}get alphaMode(){return this._alphaMode[0]}get alphaModes(){return this._alphaMode}setAlphaMode(e,t=0){this._alphaMode[t]!==e&&(this._alphaMode[t]=e,this.markAsDirty(G.TextureDirtyFlag))}set needDepthPrePass(e){this._needDepthPrePass!==e&&(this._needDepthPrePass=e,this._needDepthPrePass&&(this.checkReadyOnEveryCall=!0))}get needDepthPrePass(){return this._needDepthPrePass}get isPrePassCapable(){return!1}set fogEnabled(e){this._fogEnabled!==e&&(this._fogEnabled=e,this.markAsDirty(G.MiscDirtyFlag))}get fogEnabled(){return this._fogEnabled}get wireframe(){switch(this._fillMode){case G.WireFrameFillMode:case G.LineListDrawMode:case G.LineLoopDrawMode:case G.LineStripDrawMode:return!0}return this._scene.forceWireframe}set wireframe(e){this.fillMode=e?G.WireFrameFillMode:G.TriangleFillMode}get pointsCloud(){switch(this._fillMode){case G.PointFillMode:case G.PointListDrawMode:return!0}return this._scene.forcePointsCloud}set pointsCloud(e){this.fillMode=e?G.PointFillMode:G.TriangleFillMode}get fillMode(){return this._fillMode}set fillMode(e){this._fillMode!==e&&(this._fillMode=e,this.markAsDirty(G.MiscDirtyFlag))}get useLogarithmicDepth(){return this._useLogarithmicDepth}set useLogarithmicDepth(e){let t=this.getScene().getEngine().getCaps().fragmentDepthSupported;e&&!t&&R.Logger.Warn("Logarithmic depth has been requested for a material on a device that doesn't support it."),this._useLogarithmicDepth=e&&t,this._markAllSubMeshesAsMiscDirty()}get isVertexOutputInvariant(){return this._isVertexOutputInvariant}set isVertexOutputInvariant(e){this._isVertexOutputInvariant!==e&&(this._isVertexOutputInvariant=e,this._markAllSubMeshesAsMiscDirty())}_getDrawWrapper(){return this._drawWrapper}_setDrawWrapper(e){this._drawWrapper=e}constructor(e,t,i,r=!1){this.shadowDepthWrapper=null,this.allowShaderHotSwapping=!0,this._shaderLanguage=0,this._forceGLSL=!1,this._useVertexPulling=!1,this.metadata=null,this.reservedDataStore=null,this.checkReadyOnEveryCall=!1,this.checkReadyOnlyOnce=!1,this.state="",this._alpha=1,this._backFaceCulling=!0,this._textureRepetitionMode=0,this.textureRepetitionHexTilingParams=[1,.6,7,.5],this._cullBackFaces=!0,this._blockDirtyMechanism=!1,this.sideOrientation=null,this.onCompiled=null,this.onError=null,this.getRenderTargetTextures=null,this.doNotSerialize=!1,this._storeEffectOnSubMeshes=!1,this.animations=null,this.onDisposeObservable=new n.Observable,this._onDisposeObserver=null,this._onUnBindObservable=null,this._onBindObserver=null,this._alphaMode=[2],this._needDepthPrePass=!1,this.disableDepthWrite=!1,this.disableColorWrite=!1,this.forceDepthWrite=!1,this.depthFunction=0,this.separateCullingPass=!1,this._fogEnabled=!0,this.pointSize=1,this.zOffset=0,this.zOffsetUnits=0,this.stencil=new x,this._isVertexOutputInvariant=G.ForceVertexOutputInvariant,this._useUBO=!1,this._fillMode=G.TriangleFillMode,this._cachedDepthWriteState=!1,this._cachedColorWriteState=!1,this._cachedDepthFunctionState=0,this._indexInSceneMaterialArray=-1,this.meshMap=null,this._parentContainer=null,this._uniformBufferLayoutBuilt=!1,this._eventInfo={},this._callbackPluginEventGeneric=()=>void 0,this._callbackPluginEventIsReadyForSubMesh=()=>void 0,this._callbackPluginEventPrepareDefines=()=>void 0,this._callbackPluginEventPrepareDefinesBeforeAttributes=()=>void 0,this._callbackPluginEventHardBindForSubMesh=()=>void 0,this._callbackPluginEventBindForSubMesh=()=>void 0,this._callbackPluginEventHasRenderTargetTextures=()=>void 0,this._callbackPluginEventFillRenderTargetTextures=()=>void 0,this._transparencyMode=null,this.name=e;const l=t||a.EngineStore.LastCreatedScene;if(!l)return;this._scene=l,this._dirtyCallbacks={},this._forceGLSL=r,this._dirtyCallbacks[1]=this._markAllSubMeshesAsTexturesDirty.bind(this),this._dirtyCallbacks[2]=this._markAllSubMeshesAsLightsDirty.bind(this),this._dirtyCallbacks[4]=this._markAllSubMeshesAsFresnelDirty.bind(this),this._dirtyCallbacks[8]=this._markAllSubMeshesAsAttributesDirty.bind(this),this._dirtyCallbacks[16]=this._markAllSubMeshesAsMiscDirty.bind(this),this._dirtyCallbacks[32]=this._markAllSubMeshesAsPrePassDirty.bind(this),this._dirtyCallbacks[127]=this._markAllSubMeshesAsAllDirty.bind(this),this.id=e||s.Tools.RandomId(),this.uniqueId=this._scene.getUniqueId(),this._materialContext=this._scene.getEngine().createMaterialContext(),this._drawWrapper=new S.DrawWrapper(this._scene.getEngine(),!1),this._drawWrapper.materialContext=this._materialContext,this._uniformBuffer=new I.UniformBuffer(this._scene.getEngine(),void 0,void 0,e),this._useUBO=this.getScene().getEngine().supportsUniformBuffers,this._createUniformBuffer(),i||this._scene.addMaterial(this),this._scene.useMaterialMeshMap&&(this.meshMap={}),G.OnEventObservable.notifyObservers(this,1)}_createUniformBuffer(){let e=this.getScene().getEngine();this._uniformBuffer?.dispose(),e.isWebGPU&&!this._forceGLSL?(this._uniformBuffer=new I.UniformBuffer(e,void 0,void 0,this.name,!0),this._shaderLanguage=1):this._uniformBuffer=new I.UniformBuffer(this._scene.getEngine(),void 0,void 0,this.name),this._uniformBufferLayoutBuilt=!1}toString(e){return"Name: "+this.name}getClassName(){return"Material"}get _isMaterial(){return!0}get isFrozen(){return this.checkReadyOnlyOnce}freeze(){this.markDirty(),this.checkReadyOnlyOnce=!0}unfreeze(){this.markDirty(),this.checkReadyOnlyOnce=!1}isReady(e,t){return!0}isReadyForSubMesh(e,t,i){let r=t.materialDefines;return!!r&&(this._eventInfo.isReadyForSubMesh=!0,this._eventInfo.defines=r,this._callbackPluginEventIsReadyForSubMesh(this._eventInfo),this._eventInfo.isReadyForSubMesh)}getEffect(){return this._drawWrapper.effect}getScene(){return this._scene}_getEffectiveOrientation(e){return null!==this.sideOrientation?this.sideOrientation:e.sideOrientation}get transparencyMode(){return this._transparencyMode}set transparencyMode(e){this._transparencyMode!==e&&(this._transparencyMode=e,this._markAllSubMeshesAsTexturesAndMiscDirty())}get _hasTransparencyMode(){return null!=this._transparencyMode}get _transparencyModeIsBlend(){return this._transparencyMode===G.MATERIAL_ALPHABLEND||this._transparencyMode===G.MATERIAL_ALPHATESTANDBLEND}get _transparencyModeIsTest(){return this._transparencyMode===G.MATERIAL_ALPHATEST||this._transparencyMode===G.MATERIAL_ALPHATESTANDBLEND}get _disableAlphaBlending(){return this._transparencyMode===G.MATERIAL_OPAQUE||this._transparencyMode===G.MATERIAL_ALPHATEST}needAlphaBlending(){return this._hasTransparencyMode?this._transparencyModeIsBlend:!this._disableAlphaBlending&&this.alpha<1}needAlphaBlendingForMesh(e){return this._hasTransparencyMode?this._transparencyModeIsBlend:e.visibility<1||!this._disableAlphaBlending&&(e.hasVertexAlpha||this.needAlphaBlending())}needAlphaTesting(){return!!this._hasTransparencyMode&&this._transparencyModeIsTest}needAlphaTestingForMesh(e){return this._hasTransparencyMode?this._transparencyModeIsTest:!this.needAlphaBlendingForMesh(e)&&this.needAlphaTesting()}getAlphaTestTexture(){return null}markDirty(e=!1){for(let t of this.getScene().meshes)if(t.subMeshes){for(let i of t.subMeshes)if(i.getMaterial()===this)for(let t of i._drawWrappers)t&&this._materialContext===t.materialContext&&(t._wasPreviouslyReady=!1,t._wasPreviouslyUsingInstances=null,t._forceRebindOnNextCall=e)}e&&this.markAsDirty(G.AllDirtyFlag)}_preBind(e,t=null){let i=this._scene.getEngine(),r=(null==t?this.sideOrientation:t)===G.ClockWiseSideOrientation,s=e||this._getDrawWrapper();return(0,w.IsWrapper)(s)&&s.materialContext&&(s.materialContext.useVertexPulling=this.useVertexPulling),i.enableEffect(s),i.setState(this.backFaceCulling,this.zOffset,!1,r,this._scene._mirroredCameraPosition?!this.cullBackFaces:this.cullBackFaces,this.stencil,this.zOffsetUnits),r}bind(e,t){}buildUniformLayout(){let e=this._uniformBuffer;this._eventInfo.ubo=e,this._callbackPluginEventGeneric(8,this._eventInfo),e.create(),this._uniformBufferLayoutBuilt=!0}bindForSubMesh(e,t,i){let r=i._drawWrapper;this._eventInfo.subMesh=i,this._callbackPluginEventBindForSubMesh(this._eventInfo),r._forceRebindOnNextCall=!1}bindOnlyWorldMatrix(e){}bindView(e){this._useUBO?this._needToBindSceneUbo=!0:e.setMatrix("view",this.getScene().getViewMatrix())}bindViewProjection(e){this._useUBO?this._needToBindSceneUbo=!0:(e.setMatrix("viewProjection",this.getScene().getTransformMatrix()),e.setMatrix("projection",this.getScene().getProjectionMatrix()),e.setMatrix("inverseProjection",this.getScene().getInverseProjectionMatrix()))}bindEyePosition(e,t){this._useUBO?this._needToBindSceneUbo=!0:this._scene.bindEyePosition(e,t)}_afterBind(e,t=null,i){if(this._scene._cachedMaterial=this,this._needToBindSceneUbo&&t&&(this._needToBindSceneUbo=!1,H(t,this.getScene().getSceneUniformBuffer()),this._scene.finalizeSceneUbo()),e?this._scene._cachedVisibility=e.visibility:this._scene._cachedVisibility=1,this._onBindObservable&&e&&this._onBindObservable.notifyObservers(e),this.disableDepthWrite){let e=this._scene.getEngine();this._cachedDepthWriteState=e.getDepthWrite(),e.setDepthWrite(!1)}if(this.disableColorWrite){let e=this._scene.getEngine();this._cachedColorWriteState=e.getColorWrite(),e.setColorWrite(!1)}if(0!==this.depthFunction){let e=this._scene.getEngine();this._cachedDepthFunctionState=e.getDepthFunction()||0,e.setDepthFunction(this.depthFunction)}}unbind(){this._scene.getSceneUniformBuffer().unbindEffect(),this._onUnBindObservable&&this._onUnBindObservable.notifyObservers(this),0!==this.depthFunction&&this._scene.getEngine().setDepthFunction(this._cachedDepthFunctionState),this.disableDepthWrite&&this._scene.getEngine().setDepthWrite(this._cachedDepthWriteState),this.disableColorWrite&&this._scene.getEngine().setColorWrite(this._cachedColorWriteState)}getAnimatables(){return this._eventInfo.animatables=[],this._callbackPluginEventGeneric(256,this._eventInfo),this._eventInfo.animatables}getActiveTextures(){return this._eventInfo.activeTextures=[],this._callbackPluginEventGeneric(512,this._eventInfo),this._eventInfo.activeTextures}hasTexture(e){return this._eventInfo.hasTexture=!1,this._eventInfo.texture=e,this._callbackPluginEventGeneric(1024,this._eventInfo),this._eventInfo.hasTexture}clone(e){return null}_clonePlugins(e,t){let i={};if(this._serializePlugins(i),G._ParsePlugins(i,e,this._scene,t),this.pluginManager)for(let t of this.pluginManager._plugins){let i=e.pluginManager.getPlugin(t.name);i&&t.copyTo(i)}}getBindedMeshes(){if(!this.meshMap)return this._scene.meshes.filter(e=>e.material===this);{let e=[];for(let t in this.meshMap){let i=this.meshMap[t];i&&e.push(i)}return e}}forceCompilation(e,t,i,r){let s={clipPlane:!1,useInstances:!1,...i},n=this.getScene(),a=this.allowShaderHotSwapping;this.allowShaderHotSwapping=!1;let l=()=>{if(!this._scene||!this._scene.getEngine())return;let i=n.clipPlane;if(s.clipPlane&&(n.clipPlane=new P.Plane(0,0,0,1)),this._storeEffectOnSubMeshes){let i=!0,n=null;if(e.subMeshes){let t=new b(0,0,0,0,0,e,void 0,!1,!1);t.materialDefines&&(t.materialDefines._renderId=-1),this.isReadyForSubMesh(e,t,s.useInstances)||(t.effect&&t.effect.getCompilationError()&&t.effect.allFallbacksProcessed()?n=t.effect.getCompilationError():(i=!1,setTimeout(l,16)))}i&&(this.allowShaderHotSwapping=a,n&&r&&r(n),t&&t(this))}else this.isReady()?(this.allowShaderHotSwapping=a,t&&t(this)):setTimeout(l,16);s.clipPlane&&(n.clipPlane=i)};l()}async forceCompilationAsync(e,t){return await new Promise((i,r)=>{this.forceCompilation(e,()=>{i()},t,e=>{r(e)})})}markAsDirty(e){this.getScene().blockMaterialDirtyMechanism||this._blockDirtyMechanism||(G._DirtyCallbackArray.length=0,e&G.ImageProcessingDirtyFlag&&G._DirtyCallbackArray.push(G._ImageProcessingDirtyCallBack),e&G.TextureDirtyFlag&&G._DirtyCallbackArray.push(G._TextureDirtyCallBack),e&G.LightDirtyFlag&&G._DirtyCallbackArray.push(G._LightsDirtyCallBack),e&G.FresnelDirtyFlag&&G._DirtyCallbackArray.push(G._FresnelDirtyCallBack),e&G.AttributesDirtyFlag&&G._DirtyCallbackArray.push(G._AttributeDirtyCallBack),e&G.MiscDirtyFlag&&G._DirtyCallbackArray.push(G._MiscDirtyCallBack),e&G.PrePassDirtyFlag&&G._DirtyCallbackArray.push(G._PrePassDirtyCallBack),G._DirtyCallbackArray.length&&this._markAllSubMeshesAsDirty(G._RunDirtyCallBacks),this.getScene().resetCachedMaterial())}resetDrawCache(){for(let e of this.getScene().meshes)if(e.subMeshes)for(let t of e.subMeshes)t.getMaterial()===this&&t.resetDrawCache()}_markAllSubMeshesAsDirty(e){let t=this.getScene();if(!t.blockMaterialDirtyMechanism&&!this._blockDirtyMechanism){for(let i of t.meshes)if(i.subMeshes){for(let r of i.subMeshes)if((r.getMaterial()||(t._hasDefaultMaterial?t.defaultMaterial:null))===this)for(let t of r._drawWrappers)t&&t.defines&&t.defines.markAllAsDirty&&this._materialContext===t.materialContext&&e(t.defines)}}}_markScenePrePassDirty(){if(this.getScene().blockMaterialDirtyMechanism||this._blockDirtyMechanism)return;let e=this.getScene().enablePrePassRenderer();e&&e.markAsDirty()}_markAllSubMeshesAsAllDirty(){this._markAllSubMeshesAsDirty(G._AllDirtyCallBack)}_markAllSubMeshesAsImageProcessingDirty(){this._markAllSubMeshesAsDirty(G._ImageProcessingDirtyCallBack)}_markAllSubMeshesAsTexturesDirty(){this._markAllSubMeshesAsDirty(G._TextureDirtyCallBack)}_markAllSubMeshesAsFresnelDirty(){this._markAllSubMeshesAsDirty(G._FresnelDirtyCallBack)}_markAllSubMeshesAsFresnelAndMiscDirty(){this._markAllSubMeshesAsDirty(G._FresnelAndMiscDirtyCallBack)}_markAllSubMeshesAsLightsDirty(){this._markAllSubMeshesAsDirty(G._LightsDirtyCallBack)}_markAllSubMeshesAsAttributesDirty(){this._markAllSubMeshesAsDirty(G._AttributeDirtyCallBack)}_markAllSubMeshesAsMiscDirty(){this._markAllSubMeshesAsDirty(G._MiscDirtyCallBack)}_markAllSubMeshesAsPrePassDirty(){this._markAllSubMeshesAsDirty(G._PrePassDirtyCallBack)}_markAllSubMeshesAsTexturesAndMiscDirty(){this._markAllSubMeshesAsDirty(G._TextureAndMiscDirtyCallBack)}_checkScenePerformancePriority(){if(0!==this._scene.performancePriority){this.checkReadyOnlyOnce=!0;let e=this._scene.onScenePerformancePriorityChangedObservable.addOnce(()=>{this.checkReadyOnlyOnce=!1});this.onDisposeObservable.add(()=>{this._scene.onScenePerformancePriorityChangedObservable.remove(e)})}}setPrePassRenderer(e){return!1}dispose(e,t,i){let r=this.getScene();if(r.stopAnimation(this),r.freeProcessedMaterials(),r.removeMaterial(this),this._eventInfo.forceDisposeTextures=t,this._callbackPluginEventGeneric(2,this._eventInfo),this._parentContainer){let e=this._parentContainer.materials.indexOf(this);e>-1&&this._parentContainer.materials.splice(e,1),this._parentContainer=null}if(!0!==i)if(this.meshMap)for(let e in this.meshMap){let t=this.meshMap[e];this._disposeMeshResources(t)}else for(let e of r.meshes)this._disposeMeshResources(e);this._uniformBuffer.dispose(),this._drawWrapper.effect&&(this._storeEffectOnSubMeshes||this._drawWrapper.effect.dispose(),this._drawWrapper.effect=null),this.metadata=null,this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear(),this._onBindObservable&&this._onBindObservable.clear(),this._onUnBindObservable&&this._onUnBindObservable.clear(),this._onEffectCreatedObservable&&this._onEffectCreatedObservable.clear(),this._eventInfo&&(this._eventInfo={})}_disposeMeshResources(e){if(!e)return;let t=e.geometry,i=e._internalAbstractMeshDataInfo._materialForRenderPass;if(this._storeEffectOnSubMeshes){if(e.subMeshes&&i)for(let r of e.subMeshes){let e=r._drawWrappers;for(let s=0;s<e.length;s++){let n=e[s]?.effect;n&&i[s]===this&&(t?._releaseVertexArrayObject(n),r._removeDrawWrapper(s,!0,!0))}}}else t?._releaseVertexArrayObject(this._drawWrapper.effect);e.material!==this||e.sourceMesh||(e.material=null)}serialize(){let e=C.SerializationHelper.Serialize(this);return e.stencil=this.stencil.serialize(),e.uniqueId=this.uniqueId,this._serializePlugins(e),e}_serializePlugins(e){if(e.plugins={},this.pluginManager)for(let t of this.pluginManager._plugins)t.doNotSerialize||(e.plugins[t.getClassName()]=t.serialize())}static ParseAlphaMode(e,t){void 0!==e._alphaMode?t._alphaMode=Array.isArray(e._alphaMode)?e._alphaMode:[e._alphaMode]:void 0!==e.alphaMode?t._alphaMode=Array.isArray(e.alphaMode)?e.alphaMode:[e.alphaMode]:t._alphaMode=[2]}static Parse(e,t,i){if(e.customType){if("BABYLON.PBRMaterial"===e.customType&&e.overloadedAlbedo&&(e.customType="BABYLON.LegacyPBRMaterial",!BABYLON.LegacyPBRMaterial))return R.Logger.Error("Your scene is trying to load a legacy version of the PBRMaterial, please, include it from the materials library."),null}else e.customType="BABYLON.StandardMaterial";let r=s.Tools.Instantiate(e.customType).Parse(e,t,i);return r._loadedUniqueId=e.uniqueId,G.ParseAlphaMode(e,r),r}static _ParsePlugins(e,t,i,r){if(e.plugins)for(let n in e.plugins){let a=e.plugins[n],l=t.pluginManager?.getPlugin(a.name);if(!l){let e=s.Tools.Instantiate("BABYLON."+n);e&&(l=new e(t))}l?.parse(a,i,r)}}}G.TriangleFillMode=0,G.WireFrameFillMode=1,G.PointFillMode=2,G.PointListDrawMode=3,G.LineListDrawMode=4,G.LineLoopDrawMode=5,G.LineStripDrawMode=6,G.TriangleStripDrawMode=7,G.TriangleFanDrawMode=8,G.ClockWiseSideOrientation=0,G.CounterClockWiseSideOrientation=1,G.ImageProcessingDirtyFlag=64,G.TextureDirtyFlag=1,G.LightDirtyFlag=2,G.FresnelDirtyFlag=4,G.AttributesDirtyFlag=8,G.MiscDirtyFlag=16,G.PrePassDirtyFlag=32,G.AllDirtyFlag=127,G.MATERIAL_OPAQUE=0,G.MATERIAL_ALPHATEST=1,G.MATERIAL_ALPHABLEND=2,G.MATERIAL_ALPHATESTANDBLEND=3,G.MATERIAL_NORMALBLENDMETHOD_WHITEOUT=0,G.MATERIAL_NORMALBLENDMETHOD_RNM=1,G.LIGHTFALLOFF_PHYSICAL=0,G.LIGHTFALLOFF_GLTF=1,G.LIGHTFALLOFF_STANDARD=2,G.OnEventObservable=new n.Observable,G.ForceVertexOutputInvariant=!1,G._AllDirtyCallBack=e=>e.markAllAsDirty(),G._ImageProcessingDirtyCallBack=e=>e.markAsImageProcessingDirty(),G._TextureDirtyCallBack=e=>e.markAsTexturesDirty(),G._FresnelDirtyCallBack=e=>e.markAsFresnelDirty(),G._MiscDirtyCallBack=e=>e.markAsMiscDirty(),G._PrePassDirtyCallBack=e=>e.markAsPrePassDirty(),G._LightsDirtyCallBack=e=>e.markAsLightDirty(),G._AttributeDirtyCallBack=e=>e.markAsAttributesDirty(),G._FresnelAndMiscDirtyCallBack=e=>{G._FresnelDirtyCallBack(e),G._MiscDirtyCallBack(e)},G._TextureAndMiscDirtyCallBack=e=>{G._TextureDirtyCallBack(e),G._MiscDirtyCallBack(e)},G._DirtyCallbackArray=[],G._RunDirtyCallBacks=e=>{for(let t of G._DirtyCallbackArray)t(e)},(0,i.__decorate)([(0,r.serialize)()],G.prototype,"id",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"uniqueId",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"name",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"metadata",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"checkReadyOnEveryCall",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"checkReadyOnlyOnce",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"state",void 0),(0,i.__decorate)([(0,r.serialize)("alpha")],G.prototype,"_alpha",void 0),(0,i.__decorate)([(0,r.serialize)("backFaceCulling")],G.prototype,"_backFaceCulling",void 0),(0,i.__decorate)([(0,r.serialize)("textureRepetitionMode")],G.prototype,"_textureRepetitionMode",void 0),(0,i.__decorate)([(0,r.serialize)("textureRepetitionHexTilingParams")],G.prototype,"textureRepetitionHexTilingParams",void 0),(0,i.__decorate)([(0,r.serialize)("cullBackFaces")],G.prototype,"_cullBackFaces",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"sideOrientation",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"_alphaMode",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"_needDepthPrePass",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"disableDepthWrite",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"disableColorWrite",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"forceDepthWrite",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"depthFunction",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"separateCullingPass",void 0),(0,i.__decorate)([(0,r.serialize)("fogEnabled")],G.prototype,"_fogEnabled",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"pointSize",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"zOffset",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"zOffsetUnits",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"pointsCloud",null),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"fillMode",null),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"useLogarithmicDepth",null),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"_isVertexOutputInvariant",void 0),(0,i.__decorate)([(0,r.serialize)()],G.prototype,"transparencyMode",null),Object.getOwnPropertyDescriptor(G.prototype,"pluginManager")||Object.defineProperty(G.prototype,"pluginManager",(0,M._MissingSideEffectProperty)("Material","pluginManager")),e.s(["Material",0,G],57135)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,37875,e=>{"use strict";class t{static GetShadersRepository(e=0){return 0===e?t.ShadersRepository:t.ShadersRepositoryWGSL}static GetShadersStore(e=0){return 0===e?t.ShadersStore:t.ShadersStoreWGSL}static GetIncludesShadersStore(e=0){return 0===e?t.IncludesShadersStore:t.IncludesShadersStoreWGSL}}t.ShadersRepository="src/Shaders/",t.ShadersStore={},t.IncludesShadersStore={},t.ShadersRepositoryWGSL="src/ShadersWGSL/",t.ShadersStoreWGSL={},t.IncludesShadersStoreWGSL={},e.s(["ShaderStore",0,t])},17766,87452,e=>{"use strict";var t=e.i(45707),s=e.i(90176);e.s(["PostProcessManager",0,class{constructor(e){this._vertexBuffers={},this._activePostProcesses=[],this.onBeforeRenderObservable=new s.Observable,this._scene=e}_prepareBuffers(){if(this._vertexBuffers[t.VertexBuffer.PositionKind])return;let e=[];e.push(1,1),e.push(-1,1),e.push(-1,-1),e.push(1,-1),this._vertexBuffers[t.VertexBuffer.PositionKind]=new t.VertexBuffer(this._scene.getEngine(),e,t.VertexBuffer.PositionKind,!1,!1,2),this._buildIndexBuffer()}_buildIndexBuffer(){let e=[];e.push(0),e.push(1),e.push(2),e.push(0),e.push(2),e.push(3),this._indexBuffer=this._scene.getEngine().createIndexBuffer(e)}_getActivePostProcesses(e){let t=this._activePostProcesses;t.length=0;for(let s=0;s<e.length;s++){let r=e[s];r&&t.push(r)}return t}_rebuild(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e._rebuild(),this._buildIndexBuffer())}_prepareFrame(e=null,t=null){let s=this._scene.activeCamera;return!!s&&!!(t=t||this._getActivePostProcesses(s._postProcesses))&&0!==t.length&&!!this._scene.postProcessesEnabled&&(t[0].activate(s,e,null!=t),!0)}directRender(e,t=null,s=!1,r=0,i=0,a=!1,n=e.length){let o=this._scene.getEngine();for(let h=0;h<n;h++){h<e.length-1?e[h+1].activate(this._scene.activeCamera||this._scene,t?.texture):(t?o.bindFramebuffer(t,r,void 0,void 0,s,i):a||o.restoreDefaultFramebuffer(),o._debugInsertMarker?.(`post process ${e[h].name} output`));let n=e[h],l=n.apply();l&&(n.onBeforeRenderObservable.notifyObservers(l),this._prepareBuffers(),o.bindBuffers(this._vertexBuffers,this._indexBuffer,l),o.drawElementsType(0,0,6),n.onAfterRenderObservable.notifyObservers(l))}o.setDepthBuffer(!0),o.setDepthWrite(!0)}_finalizeFrame(e,t,s,r,i=!1){let a=this._scene.activeCamera;if(!a||(this.onBeforeRenderObservable.notifyObservers(this),0===(r=r||this._getActivePostProcesses(a._postProcesses)).length||!this._scene.postProcessesEnabled))return;let n=this._scene.getEngine();for(let o=0,h=r.length;o<h;o++){let l=r[o];if(o<h-1?l._outputTexture=r[o+1].activate(a,t?.texture):(t?(n.bindFramebuffer(t,s,void 0,void 0,i),l._outputTexture=t):(n.restoreDefaultFramebuffer(),l._outputTexture=null),n._debugInsertMarker?.(`post process ${r[o].name} output`)),e)break;let c=l.apply();c&&(l.onBeforeRenderObservable.notifyObservers(c),this._prepareBuffers(),n.bindBuffers(this._vertexBuffers,this._indexBuffer,c),n.drawElementsType(0,0,6),l.onAfterRenderObservable.notifyObservers(c))}n.setDepthBuffer(!0),n.setDepthWrite(!0),n.setAlphaMode(0)}dispose(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e.dispose(),this._vertexBuffers[t.VertexBuffer.PositionKind]=null),this._indexBuffer&&(this._scene.getEngine()._releaseBuffer(this._indexBuffer),this._indexBuffer=null)}}],17766);var r=e.i(70432),i=e.i(95410);class a{set opaqueSortCompareFn(e){e?this._opaqueSortCompareFn=e:this._opaqueSortCompareFn=a.PainterSortCompare,this._renderOpaque=this._renderOpaqueSorted}set alphaTestSortCompareFn(e){e?this._alphaTestSortCompareFn=e:this._alphaTestSortCompareFn=a.PainterSortCompare,this._renderAlphaTest=this._renderAlphaTestSorted}set transparentSortCompareFn(e){e?this._transparentSortCompareFn=e:this._transparentSortCompareFn=a.defaultTransparentSortCompare,this._renderTransparent=this._renderTransparentSorted}constructor(e,t,s=null,i=null,a=null){this.index=e,this._opaqueSubMeshes=new r.SmartArray(256),this._transparentSubMeshes=new r.SmartArray(256),this._alphaTestSubMeshes=new r.SmartArray(256),this._depthOnlySubMeshes=new r.SmartArray(256),this._particleSystems=new r.SmartArray(256),this._spriteManagers=new r.SmartArray(256),this._empty=!0,this._edgesRenderers=new r.SmartArrayNoDuplicate(16),this.disableDepthPrePass=!1,this._scene=t,this.opaqueSortCompareFn=s,this.alphaTestSortCompareFn=i,this.transparentSortCompareFn=a}render(e,t,s,r,i=!0,a=!0,n=!0,o=!0,h){if(e)return void e(this._opaqueSubMeshes,this._alphaTestSubMeshes,this._transparentSubMeshes,this._depthOnlySubMeshes);let l=this._scene.getEngine();i&&0!==this._depthOnlySubMeshes.length&&(l.setColorWrite(!1),this._renderAlphaTest(this._depthOnlySubMeshes),l.setColorWrite(!0)),a&&0!==this._opaqueSubMeshes.length&&this._renderOpaque(this._opaqueSubMeshes),n&&0!==this._alphaTestSubMeshes.length&&this._renderAlphaTest(this._alphaTestSubMeshes);let c=l.getStencilBuffer();if(l.setStencilBuffer(!1),t&&this._renderSprites(),s&&this._renderParticles(r),this.onBeforeTransparentRendering&&this.onBeforeTransparentRendering(),o&&(h||0!==this._transparentSubMeshes.length||this._scene.useOrderIndependentTransparency)){if(l.setStencilBuffer(c),h)h(this._transparentSubMeshes,this);else if(this._scene.useOrderIndependentTransparency){let e=this._scene.depthPeelingRenderer.render(this._transparentSubMeshes);e.length&&this._renderTransparent(e)}else this._renderTransparent(this._transparentSubMeshes);l.setAlphaMode(0)}if(l.setStencilBuffer(!1),a&&this._edgesRenderers.length){for(let e=0;e<this._edgesRenderers.length;e++)this._edgesRenderers.data[e].render();l.setAlphaMode(0)}l.setStencilBuffer(c)}_renderOpaqueSorted(e){a._RenderSorted(e,this._opaqueSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderAlphaTestSorted(e){a._RenderSorted(e,this._alphaTestSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderTransparentSorted(e){a._RenderSorted(e,this._transparentSortCompareFn,this._scene.activeCamera,!0,this.disableDepthPrePass)}static _RenderSorted(e,t,s,r,n){let o,h=0,l=s?s.globalPosition:a._ZeroVector;if(r)for(;h<e.length;h++)(o=e.data[h])._alphaIndex=o.getMesh().alphaIndex,o._distanceToCamera=i.Vector3.Distance(o.getBoundingInfo().boundingSphere.centerWorld,l);let c=e.length===e.data.length?e.data:e.data.slice(0,e.length);t&&c.sort(t);let p=c[0].getMesh().getScene();for(h=0;h<c.length;h++)if(o=c[h],!p._activeMeshesFrozenButKeepClipping||o.isInFrustum(p._frustumPlanes)){if(r){let e=o.getMaterial();if(e&&e.needDepthPrePass&&!n){let t=e.getScene().getEngine();t.setColorWrite(!1),t.setAlphaMode(0),o.render(!1),t.setColorWrite(!0)}}o.render(r)}}static defaultTransparentSortCompare(e,t){return e._alphaIndex>t._alphaIndex?1:e._alphaIndex<t._alphaIndex?-1:a.backToFrontSortCompare(e,t)}static backToFrontSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?1:e._distanceToCamera>t._distanceToCamera?-1:0}static frontToBackSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?-1:+(e._distanceToCamera>t._distanceToCamera)}static PainterSortCompare(e,t){let s=e.getMesh(),r=t.getMesh();return s.material&&r.material?s.material.uniqueId-r.material.uniqueId:s.uniqueId-r.uniqueId}prepare(){this._opaqueSubMeshes.reset(),this._transparentSubMeshes.reset(),this._alphaTestSubMeshes.reset(),this._depthOnlySubMeshes.reset(),this._particleSystems.reset(),this.prepareSprites(),this._edgesRenderers.reset(),this._empty=!0}prepareSprites(){this._spriteManagers.reset()}dispose(){this._opaqueSubMeshes.dispose(),this._transparentSubMeshes.dispose(),this._alphaTestSubMeshes.dispose(),this._depthOnlySubMeshes.dispose(),this._particleSystems.dispose(),this._spriteManagers.dispose(),this._edgesRenderers.dispose()}dispatch(e,t,s){void 0===t&&(t=e.getMesh()),void 0===s&&(s=e.getMaterial()),null!=s&&(s.needAlphaBlendingForMesh(t)?this._transparentSubMeshes.push(e):s.needAlphaTestingForMesh(t)?(s.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._alphaTestSubMeshes.push(e)):(s.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._opaqueSubMeshes.push(e)),t._renderingGroup=this,t._edgesRenderer&&t.isEnabled()&&t.isVisible&&t._edgesRenderer.isEnabled&&this._edgesRenderers.pushNoDuplicate(t._edgesRenderer),this._empty=!1)}dispatchSprites(e){this._spriteManagers.push(e),this._empty=!1}dispatchParticles(e){this._particleSystems.push(e),this._empty=!1}_renderParticles(e){if(0===this._particleSystems.length)return;let t=this._scene.activeCamera;this._scene.onBeforeParticlesRenderingObservable.notifyObservers(this._scene);for(let s=0;s<this._particleSystems.length;s++){let r=this._particleSystems.data[s];if(0===(t&&t.layerMask&r.layerMask))continue;let i=r.emitter;i.position&&e&&-1===e.indexOf(i)||this._scene._activeParticles.addCount(r.render(),!1)}this._scene.onAfterParticlesRenderingObservable.notifyObservers(this._scene)}_renderSprites(){if(!this._scene.spritesEnabled||0===this._spriteManagers.length)return;let e=this._scene.activeCamera;this._scene.onBeforeSpritesRenderingObservable.notifyObservers(this._scene);for(let t=0;t<this._spriteManagers.length;t++){let s=this._spriteManagers.data[t];0!==(e&&e.layerMask&s.layerMask)&&s.render()}this._scene.onAfterSpritesRenderingObservable.notifyObservers(this._scene)}}a._ZeroVector=i.Vector3.Zero();class n{}class o{get disableDepthPrePass(){return this._disableDepthPrePass}set disableDepthPrePass(e){for(let t of(this._disableDepthPrePass=e,this._renderingGroups))t.disableDepthPrePass=e}get maintainStateBetweenFrames(){return this._maintainStateBetweenFrames}set maintainStateBetweenFrames(e){e!==this._maintainStateBetweenFrames&&(this._maintainStateBetweenFrames=e,this._maintainStateBetweenFrames||this.restoreDispachedFlags())}restoreDispachedFlags(){for(let e of this._scene.meshes)if(e.subMeshes)for(let t of e.subMeshes)t._wasDispatched=!1;if(this._scene.spriteManagers)for(let e of this._scene.spriteManagers)e._wasDispatched=!1;for(let e of this._scene.particleSystems)e._wasDispatched=!1}constructor(e){this._useSceneAutoClearSetup=!1,this._disableDepthPrePass=!1,this._renderingGroups=[],this._autoClearDepthStencil={},this._customOpaqueSortCompareFn={},this._customAlphaTestSortCompareFn={},this._customTransparentSortCompareFn={},this._renderingGroupInfo=new n,this._maintainStateBetweenFrames=!1,this._scene=e;for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++)this._autoClearDepthStencil[e]={autoClear:!0,depth:!0,stencil:!0}}get renderingGroups(){return this._renderingGroups}getRenderingGroup(e){let t=e||0;return this._prepareRenderingGroup(t),this._renderingGroups[t]}_clearDepthStencilBuffer(e=!0,t=!0){this._depthStencilBufferAlreadyCleaned||(this._scene.getEngine().clear(null,!1,e,t),this._depthStencilBufferAlreadyCleaned=!0)}render(e,t,s,r,i=!0,a=!0,n=!0,h=!0,l){let c=this._renderingGroupInfo;if(c.scene=this._scene,c.camera=this._scene.activeCamera,c.renderingManager=this,this._scene.spriteManagers&&r)for(let e=0;e<this._scene.spriteManagers.length;e++){let t=this._scene.spriteManagers[e];this.dispatchSprites(t)}for(let p=o.MIN_RENDERINGGROUPS;p<o.MAX_RENDERINGGROUPS;p++){this._depthStencilBufferAlreadyCleaned=p===o.MIN_RENDERINGGROUPS;let u=this._renderingGroups[p];if(!u||u._empty)continue;let d=1<<p;if(c.renderingGroupId=p,this._scene.onBeforeRenderingGroupObservable.notifyObservers(c,d),o.AUTOCLEAR){let e=this._useSceneAutoClearSetup?this._scene.getAutoClearDepthStencilSetup(p):this._autoClearDepthStencil[p];e&&e.autoClear&&this._clearDepthStencilBuffer(e.depth,e.stencil)}for(let e of this._scene._beforeRenderingGroupDrawStage)e.action(p);for(let o of(u.render(e,r,s,t,i,a,n,h,l),this._scene._afterRenderingGroupDrawStage))o.action(p);this._scene.onAfterRenderingGroupObservable.notifyObservers(c,d)}}reset(){if(!this.maintainStateBetweenFrames)for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepare()}}resetSprites(){if(!this.maintainStateBetweenFrames)for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepareSprites()}}dispose(){this.freeRenderingGroups(),this._renderingGroups.length=0,this._renderingGroupInfo=null}freeRenderingGroups(){for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.dispose()}}_prepareRenderingGroup(e){void 0===this._renderingGroups[e]&&(this._renderingGroups[e]=new a(e,this._scene,this._customOpaqueSortCompareFn[e],this._customAlphaTestSortCompareFn[e],this._customTransparentSortCompareFn[e]),this._renderingGroups[e].disableDepthPrePass=this._disableDepthPrePass)}dispatchSprites(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchSprites(e))}dispatchParticles(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchParticles(e))}dispatch(e,t,s){void 0===t&&(t=e.getMesh()),this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(t.renderingGroupId).dispatch(e,t,s))}setRenderingOrder(e,t=null,s=null,r=null){if(this._customOpaqueSortCompareFn[e]=t,this._customAlphaTestSortCompareFn[e]=s,this._customTransparentSortCompareFn[e]=r,this._renderingGroups[e]){let t=this._renderingGroups[e];t.opaqueSortCompareFn=this._customOpaqueSortCompareFn[e],t.alphaTestSortCompareFn=this._customAlphaTestSortCompareFn[e],t.transparentSortCompareFn=this._customTransparentSortCompareFn[e]}}setRenderingAutoClearDepthStencil(e,t,s=!0,r=!0){this._autoClearDepthStencil[e]={autoClear:t,depth:s,stencil:r}}getAutoClearDepthStencilSetup(e){return this._autoClearDepthStencil[e]}}o.MAX_RENDERINGGROUPS=4,o.MIN_RENDERINGGROUPS=0,o.AUTOCLEAR=!0,e.s(["RenderingManager",0,o],87452)},63217,e=>{"use strict";var t=e.i(87869);class s{get min(){return this._min}get max(){return this._max}get average(){return this._average}get lastSecAverage(){return this._lastSecAverage}get current(){return this._current}get total(){return this._totalAccumulated}get count(){return this._totalValueCount}constructor(){this._startMonitoringTime=0,this._min=0,this._max=0,this._average=0,this._lastSecAverage=0,this._current=0,this._totalValueCount=0,this._totalAccumulated=0,this._lastSecAccumulated=0,this._lastSecTime=0,this._lastSecValueCount=0}fetchNewFrame(){this._totalValueCount++,this._current=0,this._lastSecValueCount++}addCount(e,t){s.Enabled&&(this._current+=e,t&&this._fetchResult())}beginMonitoring(){s.Enabled&&(this._startMonitoringTime=t.PrecisionDate.Now)}endMonitoring(e=!0){if(!s.Enabled)return;e&&this.fetchNewFrame();let r=t.PrecisionDate.Now;this._current=r-this._startMonitoringTime,e&&this._fetchResult()}endFrame(){this._fetchResult()}_fetchResult(){this._totalAccumulated+=this._current,this._lastSecAccumulated+=this._current,this._min=Math.min(this._min,this._current),this._max=Math.max(this._max,this._current),this._average=this._totalAccumulated/this._totalValueCount;let e=t.PrecisionDate.Now;e-this._lastSecTime>1e3&&(this._lastSecAverage=this._lastSecAccumulated/this._lastSecValueCount,this._lastSecTime=e,this._lastSecAccumulated=0,this._lastSecValueCount=0)}}s.Enabled=!0,e.s(["PerfCounter",0,s])},46833,e=>{"use strict";var t=e.i(47997);class s{static GetPlanes(e){let r=[];for(let e=0;e<6;e++)r.push(new t.Plane(0,0,0,0));return s.GetPlanesToRef(e,r),r}static GetNearPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[2],t.normal.y=s[7]+s[6],t.normal.z=s[11]+s[10],t.d=s[15]+s[14],t.normalize()}static GetFarPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[2],t.normal.y=s[7]-s[6],t.normal.z=s[11]-s[10],t.d=s[15]-s[14],t.normalize()}static GetLeftPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[0],t.normal.y=s[7]+s[4],t.normal.z=s[11]+s[8],t.d=s[15]+s[12],t.normalize()}static GetRightPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[0],t.normal.y=s[7]-s[4],t.normal.z=s[11]-s[8],t.d=s[15]-s[12],t.normalize()}static GetTopPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[1],t.normal.y=s[7]-s[5],t.normal.z=s[11]-s[9],t.d=s[15]-s[13],t.normalize()}static GetBottomPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[1],t.normal.y=s[7]+s[5],t.normal.z=s[11]+s[9],t.d=s[15]+s[13],t.normalize()}static GetPlanesToRef(e,t){s.GetNearPlaneToRef(e,t[0]),s.GetFarPlaneToRef(e,t[1]),s.GetLeftPlaneToRef(e,t[2]),s.GetRightPlaneToRef(e,t[3]),s.GetTopPlaneToRef(e,t[4]),s.GetBottomPlaneToRef(e,t[5])}static IsPointInFrustum(e,t){for(let s=0;s<6;s++)if(0>t[s].dotCoordinate(e))return!1;return!0}}e.s(["Frustum",0,s])},5252,e=>{"use strict";var t=e.i(95410),s=e.i(45707);e.s(["PickingInfo",0,class{constructor(){this.hit=!1,this.distance=0,this.pickedPoint=null,this.pickedMesh=null,this.bu=0,this.bv=0,this.faceId=-1,this.subMeshFaceId=-1,this.subMeshId=0,this.pickedSprite=null,this.thinInstanceIndex=-1,this.ray=null,this.originMesh=null,this.aimTransform=null,this.gripTransform=null}getNormal(e=!1,r=!0){let i;if(!this.pickedMesh||r&&!this.pickedMesh.isVerticesDataPresent(s.VertexBuffer.NormalKind))return null;let a=this.pickedMesh.getIndices();a?.length===0&&(a=null);let n=t.TmpVectors.Vector3[0],o=t.TmpVectors.Vector3[1],h=t.TmpVectors.Vector3[2];if(r){let e=this.pickedMesh.getVerticesData(s.VertexBuffer.NormalKind),r=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],n):n.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],o):o.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],h):h.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]);r=r.scale(this.bu),l=l.scale(this.bv),c=c.scale(1-this.bu-this.bv),i=new t.Vector3(r.x+l.x+c.x,r.y+l.y+c.y,r.z+l.z+c.z)}else{let e=this.pickedMesh.getVerticesData(s.VertexBuffer.PositionKind),r=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],n):n.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],o):o.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],h):h.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]),p=r.subtract(l),u=c.subtract(l);i=t.Vector3.Cross(p,u)}let l=(e,s)=>{if(-1!==this.thinInstanceIndex){let r=e._thinInstanceDataStorage.matrixData,i=this.thinInstanceIndex<<4;if(r&&r.length>i){let e=t.TmpVectors.Matrix[0];t.Matrix.FromArrayToRef(r,i,e),t.Vector3.TransformNormalToRef(s,e,s)}}let r=e.getWorldMatrix();e.nonUniformScaling&&(t.TmpVectors.Matrix[0].copyFrom(r),(r=t.TmpVectors.Matrix[0]).setTranslationFromFloats(0,0,0),r.invert(),r.transposeToRef(t.TmpVectors.Matrix[1]),r=t.TmpVectors.Matrix[1]),t.Vector3.TransformNormalToRef(s,r,s)};if(e&&l(this.pickedMesh,i),this.ray){let s=t.TmpVectors.Vector3[0].copyFrom(i);e||l(this.pickedMesh,s),t.Vector3.Dot(s,this.ray.direction)>0&&i.negateInPlace()}return i.normalize(),i}getTextureCoordinates(e=s.VertexBuffer.UVKind){if(!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(e))return null;let r=this.pickedMesh.getIndices();if(!r)return null;let i=this.pickedMesh.getVerticesData(e);if(!i)return null;let a=t.Vector2.FromArray(i,2*r[3*this.faceId]),n=t.Vector2.FromArray(i,2*r[3*this.faceId+1]),o=t.Vector2.FromArray(i,2*r[3*this.faceId+2]);return a=a.scale(this.bu),n=n.scale(this.bv),o=o.scale(1-this.bu-this.bv),new t.Vector2(a.x+n.x+o.x,a.y+n.y+o.y)}}])},95801,e=>{"use strict";var t=e.i(95410);class s{}s.POINTERDOWN=1,s.POINTERUP=2,s.POINTERMOVE=4,s.POINTERWHEEL=8,s.POINTERPICK=16,s.POINTERTAP=32,s.POINTERDOUBLETAP=64;class r{constructor(e,t){this.type=e,this.event=t}}e.s(["PointerEventTypes",0,s,"PointerInfo",0,class extends r{get pickInfo(){return this._pickInfo||this._generatePickInfo(),this._pickInfo}constructor(e,t,s,r=null){super(e,t),this._pickInfo=s,this._inputManager=r}_generatePickInfo(){this._inputManager&&(this._pickInfo=this._inputManager._pickMove(this.event),this._inputManager._setRayOnPointerInfo(this._pickInfo,this.event),this._inputManager=null)}},"PointerInfoPre",0,class extends r{constructor(e,s,r,i){super(e,s),this.ray=null,this.originalPickingInfo=null,this.skipOnPointerObservable=!1,this.localPosition=new t.Vector2(r,i)}}])},35705,e=>{"use strict";class t{}t.KEYDOWN=1,t.KEYUP=2;class s{constructor(e,t){this.type=e,this.event=t}}e.s(["KeyboardEventTypes",0,t,"KeyboardInfo",0,s,"KeyboardInfoPre",0,class extends s{get skipOnPointerObservable(){return this.skipOnKeyboardObservable}set skipOnPointerObservable(e){this.skipOnKeyboardObservable=e}constructor(e,t){super(e,t),this.type=e,this.event=t,this.skipOnKeyboardObservable=!1}}])},21056,e=>{"use strict";var t,s;(s=t||(t={}))[s.PointerMove=0]="PointerMove",s[s.PointerDown=1]="PointerDown",s[s.PointerUp=2]="PointerUp";class r{}r.DOM_DELTA_PIXEL=0,r.DOM_DELTA_LINE=1,r.DOM_DELTA_PAGE=2,e.s(["EventConstants",0,r])},90189,e=>{"use strict";var t=e.i(19990);(0,t.RegisterScene)(),e.s([],2414),e.i(2414),e.s(["RegisterScene",()=>t.RegisterScene,"Scene",()=>t.Scene,"ScenePerformancePriority",()=>t.ScenePerformancePriority],90189)}]);
@@ -1,4 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82579,t=>{"use strict";let e=(1+Math.sqrt(5))/2;t.s(["Epsilon",0,.001,"PHI",0,e,"ToGammaSpace",0,1/2.2,"ToLinearSpace",0,2.2])},42476,t=>{"use strict";function e(t,e){let r=[];for(let i=0;i<t;++i)r.push(e());return r}let r=["push","splice","pop","shift","unshift"];t.s(["BuildArray",0,e,"BuildTuple",0,function(t,r){return e(t,r)},"_ObserveArray",0,function(t,e){let i=r.map(r=>(function(t,e,r){let i=t[e];if("function"!=typeof i)return null;let s=function(){let i=t.length,o=s.previous.apply(t,arguments);return r(e,i),o};return i.next=s,s.previous=i,t[e]=s,()=>{let r=s.previous;if(!r)return;let i=s.next;i?(r.next=i,i.previous=r):(r.next=void 0,t[e]=r),s.next=void 0,s.previous=void 0}})(t,r,e));return()=>{for(let t of i)t?.()}}])},95410,43809,t=>{"use strict";var e=t.i(82579),r=t.i(42476),i=t.i(21009),s=t.i(70855),o=t.i(90629);class a{}function n(t){t.updateFlag=a._UpdateFlagSeed++}function h(t,e,r,i=0){let s=t.asArray(),o=e.asArray(),a=s[0],n=s[1],_=s[2],l=s[3],y=s[4],u=s[5],m=s[6],c=s[7],x=s[8],f=s[9],R=s[10],d=s[11],z=s[12],T=s[13],w=s[14],p=s[15],F=o[0],M=o[1],g=o[2],I=o[3],A=o[4],P=o[5],D=o[6],C=o[7],V=o[8],v=o[9],L=o[10],k=o[11],O=o[12],H=o[13],E=o[14],U=o[15];r[i]=a*F+n*A+_*V+l*O,r[i+1]=a*M+n*P+_*v+l*H,r[i+2]=a*g+n*D+_*L+l*E,r[i+3]=a*I+n*C+_*k+l*U,r[i+4]=y*F+u*A+m*V+c*O,r[i+5]=y*M+u*P+m*v+c*H,r[i+6]=y*g+u*D+m*L+c*E,r[i+7]=y*I+u*C+m*k+c*U,r[i+8]=x*F+f*A+R*V+d*O,r[i+9]=x*M+f*P+R*v+d*H,r[i+10]=x*g+f*D+R*L+d*E,r[i+11]=x*I+f*C+R*k+d*U,r[i+12]=z*F+T*A+w*V+p*O,r[i+13]=z*M+T*P+w*v+p*H,r[i+14]=z*g+T*D+w*L+p*E,r[i+15]=z*I+T*C+w*k+p*U}function _(t,e,r=0){let i=t.asArray();e[r]=i[0],e[r+1]=i[1],e[r+2]=i[2],e[r+3]=i[3],e[r+4]=i[4],e[r+5]=i[5],e[r+6]=i[6],e[r+7]=i[7],e[r+8]=i[8],e[r+9]=i[9],e[r+10]=i[10],e[r+11]=i[11],e[r+12]=i[12],e[r+13]=i[13],e[r+14]=i[14],e[r+15]=i[15]}function l(t,e){let r=t.asArray(),i=r[0],s=r[1],o=r[2],a=r[3],n=r[4],h=r[5],_=r[6],l=r[7],y=r[8],u=r[9],m=r[10],c=r[11],x=r[12],f=r[13],R=r[14],d=r[15],z=m*d-R*c,T=u*d-f*c,w=u*R-f*m,p=y*d-x*c,F=y*R-m*x,M=y*f-x*u,g=+(h*z-_*T+l*w),I=-(n*z-_*p+l*F),A=+(n*T-h*p+l*M),P=-(n*w-h*F+_*M),D=i*g+s*I+o*A+a*P;if(0===D)return!1;let C=1/D,V=_*d-R*l,v=h*d-f*l,L=h*R-f*_,k=n*d-x*l,O=n*R-x*_,H=n*f-x*h,E=_*c-m*l,U=h*c-u*l,b=h*m-u*_,S=n*c-y*l,q=n*m-y*_,B=n*u-y*h;return e[0]=g*C,e[1]=-(s*z-o*T+a*w)*C,e[2]=(s*V-o*v+a*L)*C,e[3]=-(s*E-o*U+a*b)*C,e[4]=I*C,e[5]=(i*z-o*p+a*F)*C,e[6]=-(i*V-o*k+a*O)*C,e[7]=(i*E-o*S+a*q)*C,e[8]=A*C,e[9]=-(i*T-s*p+a*M)*C,e[10]=(i*v-s*k+a*H)*C,e[11]=-(i*U-s*S+a*B)*C,e[12]=P*C,e[13]=(i*w-s*F+o*M)*C,e[14]=-(i*L-s*O+o*H)*C,e[15]=(i*b-s*q+o*B)*C,!0}a._UpdateFlagSeed=0,t.s(["CopyMatrixToArray",0,_,"InvertMatrixToArray",0,l,"InvertMatrixToRef",0,function(t,e){let r=l(t,e.asArray());return r&&n(e),r},"MatrixManagement",0,a,"MultiplyMatricesToArray",0,h,"MultiplyMatricesToRef",0,function(t,e,r,i=0){h(t,e,r.asArray(),i),n(r)}],43809);var y=t.i(38116);let u=t=>parseInt(t.toString().replace(/\W/g,""));class m{constructor(t=0,e=0){this.x=t,this.y=e}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let t=u(this.x),e=u(this.y),r=t;return 397*r^e}toArray(t,e=0){return t[e]=this.x,t[e+1]=this.y,this}fromArray(t,e=0){return m.FromArrayToRef(t,e,this),this}asArray(){return[this.x,this.y]}copyFrom(t){return this.x=t.x,this.y=t.y,this}copyFromFloats(t,e){return this.x=t,this.y=e,this}set(t,e){return this.copyFromFloats(t,e)}setAll(t){return this.copyFromFloats(t,t)}add(t){return new m(this.x+t.x,this.y+t.y)}addToRef(t,e){return e.x=this.x+t.x,e.y=this.y+t.y,e}addInPlace(t){return this.x+=t.x,this.y+=t.y,this}addInPlaceFromFloats(t,e){return this.x+=t,this.y+=e,this}addVector3(t){return new m(this.x+t.x,this.y+t.y)}subtract(t){return new m(this.x-t.x,this.y-t.y)}subtractToRef(t,e){return e.x=this.x-t.x,e.y=this.y-t.y,e}subtractInPlace(t){return this.x-=t.x,this.y-=t.y,this}multiplyInPlace(t){return this.x*=t.x,this.y*=t.y,this}multiply(t){return new m(this.x*t.x,this.y*t.y)}multiplyToRef(t,e){return e.x=this.x*t.x,e.y=this.y*t.y,e}multiplyByFloats(t,e){return new m(this.x*t,this.y*e)}divide(t){return new m(this.x/t.x,this.y/t.y)}divideToRef(t,e){return e.x=this.x/t.x,e.y=this.y/t.y,e}divideInPlace(t){return this.x=this.x/t.x,this.y=this.y/t.y,this}minimizeInPlace(t){return this.minimizeInPlaceFromFloats(t.x,t.y)}maximizeInPlace(t){return this.maximizeInPlaceFromFloats(t.x,t.y)}minimizeInPlaceFromFloats(t,e){return this.x=Math.min(t,this.x),this.y=Math.min(e,this.y),this}maximizeInPlaceFromFloats(t,e){return this.x=Math.max(t,this.x),this.y=Math.max(e,this.y),this}subtractFromFloats(t,e){return new m(this.x-t,this.y-e)}subtractFromFloatsToRef(t,e,r){return r.x=this.x-t,r.y=this.y-e,r}negate(){return new m(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(t){return t.x=-this.x,t.y=-this.y,t}scaleInPlace(t){return this.x*=t,this.y*=t,this}scale(t){return new m(this.x*t,this.y*t)}scaleToRef(t,e){return e.x=this.x*t,e.y=this.y*t,e}scaleAndAddToRef(t,e){return e.x+=this.x*t,e.y+=this.y*t,e}equals(t){return t&&this.x===t.x&&this.y===t.y}equalsWithEpsilon(t,r=e.Epsilon){return t&&(0,o.WithinEpsilon)(this.x,t.x,r)&&(0,o.WithinEpsilon)(this.y,t.y,r)}equalsToFloats(t,e){return this.x===t&&this.y===e}floor(){return new m(Math.floor(this.x),Math.floor(this.y))}floorToRef(t){return t.x=Math.floor(this.x),t.y=Math.floor(this.y),t}fract(){return new m(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}fractToRef(t){return t.x=this.x-Math.floor(this.x),t.y=this.y-Math.floor(this.y),t}rotate(t){return this.rotateToRef(t,new m)}rotateToRef(t,e){let r=Math.cos(t),i=Math.sin(t);return e.x=r*this.x-i*this.y,e.y=i*this.x+r*this.y,e}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return this.normalizeFromLength(this.length())}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){let t=new m;return this.normalizeToRef(t),t}normalizeToRef(t){let e=this.length();return 0===e&&(t.x=this.x,t.y=this.y),this.scaleToRef(1/e,t)}clone(){return new m(this.x,this.y)}dot(t){return this.x*t.x+this.y*t.y}static Zero(){return new m(0,0)}static One(){return new m(1,1)}static Random(t=0,e=1){return new m((0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.copyFromFloats((0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e))}static get ZeroReadOnly(){return m._ZeroReadOnly}static FromArray(t,e=0){return new m(t[e],t[e+1])}static FromArrayToRef(t,e,r){return r.x=t[e],r.y=t[e+1],r}static FromFloatsToRef(t,e,r){return r.copyFromFloats(t,e),r}static CatmullRom(t,e,r,i,s){let o=s*s,a=s*o;return new m(.5*(2*e.x+(-t.x+r.x)*s+(2*t.x-5*e.x+4*r.x-i.x)*o+(-t.x+3*e.x-3*r.x+i.x)*a),.5*(2*e.y+(-t.y+r.y)*s+(2*t.y-5*e.y+4*r.y-i.y)*o+(-t.y+3*e.y-3*r.y+i.y)*a))}static ClampToRef(t,e,r,i){return i.x=(0,o.Clamp)(t.x,e.x,r.x),i.y=(0,o.Clamp)(t.y,e.y,r.y),i}static Clamp(t,e,r){return new m((0,o.Clamp)(t.x,e.x,r.x),(0,o.Clamp)(t.y,e.y,r.y))}static Hermite(t,e,r,i,s){let o=s*s,a=s*o,n=2*a-3*o+1,h=-2*a+3*o,_=a-2*o+s,l=a-o;return new m(t.x*n+r.x*h+e.x*_+i.x*l,t.y*n+r.y*h+e.y*_+i.y*l)}static Hermite1stDerivative(t,e,r,i,s){return this.Hermite1stDerivativeToRef(t,e,r,i,s,new m)}static Hermite1stDerivativeToRef(t,e,r,i,s,o){let a=s*s;return o.x=(a-s)*6*t.x+(3*a-4*s+1)*e.x+(-a+s)*6*r.x+(3*a-2*s)*i.x,o.y=(a-s)*6*t.y+(3*a-4*s+1)*e.y+(-a+s)*6*r.y+(3*a-2*s)*i.y,o}static Lerp(t,e,r){return m.LerpToRef(t,e,r,new m)}static LerpToRef(t,e,r,i){return i.x=t.x+(e.x-t.x)*r,i.y=t.y+(e.y-t.y)*r,i}static Dot(t,e){return t.x*e.x+t.y*e.y}static Normalize(t){return m.NormalizeToRef(t,new m)}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}static Minimize(t,e){return new m(t.x<e.x?t.x:e.x,t.y<e.y?t.y:e.y)}static Maximize(t,e){return new m(t.x>e.x?t.x:e.x,t.y>e.y?t.y:e.y)}static Transform(t,e){return m.TransformToRef(t,e,new m)}static TransformToRef(t,e,r){let i=e.m,s=t.x*i[0]+t.y*i[4]+i[12],o=t.x*i[1]+t.y*i[5]+i[13];return r.x=s,r.y=o,r}static PointInTriangle(t,e,r,i){let s=.5*(-r.y*i.x+e.y*(-r.x+i.x)+e.x*(r.y-i.y)+r.x*i.y),o=s<0?-1:1,a=(e.y*i.x-e.x*i.y+(i.y-e.y)*t.x+(e.x-i.x)*t.y)*o,n=(e.x*r.y-e.y*r.x+(e.y-r.y)*t.x+(r.x-e.x)*t.y)*o;return a>0&&n>0&&a+n<2*s*o}static Distance(t,e){return Math.sqrt(m.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t.x-e.x,i=t.y-e.y;return r*r+i*i}static Center(t,e){return m.CenterToRef(t,e,new m)}static CenterToRef(t,e,r){return r.copyFromFloats((t.x+e.x)/2,(t.y+e.y)/2)}static DistanceOfPointFromSegment(t,e,r){let i=m.DistanceSquared(e,r);if(0===i)return m.Distance(t,e);let s=r.subtract(e),o=Math.max(0,Math.min(1,m.Dot(t.subtract(e),s)/i)),a=e.add(s.multiplyByFloats(o,o));return m.Distance(t,a)}}m._V8PerformanceHack=new m(.5,.5),m._ZeroReadOnly=m.Zero();class c{get x(){return this._x}set x(t){this._x=t,this._isDirty=!0}get y(){return this._y}set y(t){this._y=t,this._isDirty=!0}get z(){return this._z}set z(t){this._z=t,this._isDirty=!0}constructor(t=0,e=0,r=0){this._isDirty=!0,this._x=t,this._y=e,this._z=r}toString(){return`{X: ${this._x} Y: ${this._y} Z: ${this._z}}`}getClassName(){return"Vector3"}getHashCode(){let t=u(this._x),e=u(this._y),r=u(this._z),i=t;return 397*(i=397*i^e)^r}asArray(){return[this._x,this._y,this._z]}toArray(t,e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,this}fromArray(t,e=0){return c.FromArrayToRef(t,e,this),this}toQuaternion(){return f.RotationYawPitchRoll(this._y,this._x,this._z)}addInPlace(t){return this._x+=t._x,this._y+=t._y,this._z+=t._z,this._isDirty=!0,this}addInPlaceFromFloats(t,e,r){return this._x+=t,this._y+=e,this._z+=r,this._isDirty=!0,this}add(t){return new c(this._x+t._x,this._y+t._y,this._z+t._z)}addToRef(t,e){return e._x=this._x+t._x,e._y=this._y+t._y,e._z=this._z+t._z,e._isDirty=!0,e}subtractInPlace(t){return this._x-=t._x,this._y-=t._y,this._z-=t._z,this._isDirty=!0,this}subtract(t){return new c(this._x-t._x,this._y-t._y,this._z-t._z)}subtractToRef(t,e){return this.subtractFromFloatsToRef(t._x,t._y,t._z,e)}subtractFromFloats(t,e,r){return new c(this._x-t,this._y-e,this._z-r)}subtractFromFloatsToRef(t,e,r,i){return i._x=this._x-t,i._y=this._y-e,i._z=this._z-r,i._isDirty=!0,i}negate(){return new c(-this._x,-this._y,-this._z)}negateInPlace(){return this._x*=-1,this._y*=-1,this._z*=-1,this._isDirty=!0,this}negateToRef(t){return t._x=-1*this._x,t._y=-1*this._y,t._z=-1*this._z,t._isDirty=!0,t}scaleInPlace(t){return this._x*=t,this._y*=t,this._z*=t,this._isDirty=!0,this}scale(t){return new c(this._x*t,this._y*t,this._z*t)}scaleToRef(t,e){return e._x=this._x*t,e._y=this._y*t,e._z=this._z*t,e._isDirty=!0,e}getNormalToRef(t){let e=this.length(),r=Math.acos(this._y/e),i=Math.atan2(this._z,this._x);r>Math.PI/2?r-=Math.PI/2:r+=Math.PI/2;let s=e*Math.sin(r)*Math.cos(i),o=e*Math.cos(r),a=e*Math.sin(r)*Math.sin(i);return t.set(s,o,a),t}applyRotationQuaternionToRef(t,e){let r=this._x,i=this._y,s=this._z,o=t._x,a=t._y,n=t._z,h=t._w,_=2*(a*s-n*i),l=2*(n*r-o*s),y=2*(o*i-a*r);return e._x=r+h*_+a*y-n*l,e._y=i+h*l+n*_-o*y,e._z=s+h*y+o*l-a*_,e._isDirty=!0,e}applyRotationQuaternionInPlace(t){return this.applyRotationQuaternionToRef(t,this)}applyRotationQuaternion(t){return this.applyRotationQuaternionToRef(t,new c)}scaleAndAddToRef(t,e){return e._x+=this._x*t,e._y+=this._y*t,e._z+=this._z*t,e._isDirty=!0,e}projectOnPlane(t,e){return this.projectOnPlaneToRef(t,e,new c)}projectOnPlaneToRef(t,e,r){let i=t.normal,s=t.d,o=d.Vector3[0];this.subtractToRef(e,o),o.normalize();let a=c.Dot(o,i);if(1e-10>Math.abs(a))r.setAll(1/0);else{let t=-(c.Dot(e,i)+s)/a,n=o.scaleInPlace(t);e.addToRef(n,r)}return r}equals(t){return t&&this._x===t._x&&this._y===t._y&&this._z===t._z}equalsWithEpsilon(t,r=e.Epsilon){return t&&(0,o.WithinEpsilon)(this._x,t._x,r)&&(0,o.WithinEpsilon)(this._y,t._y,r)&&(0,o.WithinEpsilon)(this._z,t._z,r)}equalsToFloats(t,e,r){return this._x===t&&this._y===e&&this._z===r}multiplyInPlace(t){return this._x*=t._x,this._y*=t._y,this._z*=t._z,this._isDirty=!0,this}multiply(t){return this.multiplyByFloats(t._x,t._y,t._z)}multiplyToRef(t,e){return e._x=this._x*t._x,e._y=this._y*t._y,e._z=this._z*t._z,e._isDirty=!0,e}multiplyByFloats(t,e,r){return new c(this._x*t,this._y*e,this._z*r)}divide(t){return new c(this._x/t._x,this._y/t._y,this._z/t._z)}divideToRef(t,e){return e._x=this._x/t._x,e._y=this._y/t._y,e._z=this._z/t._z,e._isDirty=!0,e}divideInPlace(t){return this._x=this._x/t._x,this._y=this._y/t._y,this._z=this._z/t._z,this._isDirty=!0,this}minimizeInPlace(t){return this.minimizeInPlaceFromFloats(t._x,t._y,t._z)}maximizeInPlace(t){return this.maximizeInPlaceFromFloats(t._x,t._y,t._z)}minimizeInPlaceFromFloats(t,e,r){return t<this._x&&(this.x=t),e<this._y&&(this.y=e),r<this._z&&(this.z=r),this}maximizeInPlaceFromFloats(t,e,r){return t>this._x&&(this.x=t),e>this._y&&(this.y=e),r>this._z&&(this.z=r),this}isNonUniformWithinEpsilon(t){let e=Math.abs(this._x),r=Math.abs(this._y);if(!(0,o.WithinEpsilon)(e,r,t))return!0;let i=Math.abs(this._z);return!((0,o.WithinEpsilon)(e,i,t)&&(0,o.WithinEpsilon)(r,i,t))}get isNonUniform(){let t=Math.abs(this._x);return t!==Math.abs(this._y)||t!==Math.abs(this._z)}floorToRef(t){return t._x=Math.floor(this._x),t._y=Math.floor(this._y),t._z=Math.floor(this._z),t._isDirty=!0,t}floor(){return new c(Math.floor(this._x),Math.floor(this._y),Math.floor(this._z))}fractToRef(t){return t._x=this._x-Math.floor(this._x),t._y=this._y-Math.floor(this._y),t._z=this._z-Math.floor(this._z),t._isDirty=!0,t}fract(){return new c(this._x-Math.floor(this._x),this._y-Math.floor(this._y),this._z-Math.floor(this._z))}length(){return Math.sqrt(this.lengthSquared())}lengthSquared(){return this._x*this._x+this._y*this._y+this._z*this._z}get hasAZeroComponent(){return this._x*this._y*this._z==0}normalize(){return this.normalizeFromLength(this.length())}reorderInPlace(t){if("xyz"===(t=t.toLowerCase()))return this;let e=d.Vector3[0].copyFrom(this);return this.x=e[t[0]],this.y=e[t[1]],this.z=e[t[2]],this}rotateByQuaternionToRef(t,e){return t.toRotationMatrix(d.Matrix[0]),c.TransformCoordinatesToRef(this,d.Matrix[0],e),e}rotateByQuaternionAroundPointToRef(t,e,r){return this.subtractToRef(e,d.Vector3[0]),d.Vector3[0].rotateByQuaternionToRef(t,d.Vector3[0]),e.addToRef(d.Vector3[0],r),r}cross(t){return c.CrossToRef(this,t,new c)}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){return this.normalizeToRef(new c)}normalizeToRef(t){let e=this.length();return 0===e||1===e?(t._x=this._x,t._y=this._y,t._z=this._z,t._isDirty=!0,t):this.scaleToRef(1/e,t)}clone(){return new c(this._x,this._y,this._z)}copyFrom(t){return this.copyFromFloats(t._x,t._y,t._z)}copyFromFloats(t,e,r){return this._x=t,this._y=e,this._z=r,this._isDirty=!0,this}set(t,e,r){return this.copyFromFloats(t,e,r)}setAll(t){return this._x=this._y=this._z=t,this._isDirty=!0,this}static GetClipFactor(t,e,r,i){let s=c.Dot(t,r);return(s-i)/(s-c.Dot(e,r))}static GetAngleBetweenVectors(t,e,r){let i=t.normalizeToRef(d.Vector3[1]),s=e.normalizeToRef(d.Vector3[2]),a=c.Dot(i,s),n=Math.acos(a=(0,o.Clamp)(a,-1,1)),h=d.Vector3[3];return(c.CrossToRef(i,s,h),c.Dot(h,r)>0)?isNaN(n)?0:n:isNaN(n)?-Math.PI:-Math.acos(a)}static GetAngleBetweenVectorsOnPlane(t,e,r){d.Vector3[0].copyFrom(t);let i=d.Vector3[0];d.Vector3[1].copyFrom(e);let s=d.Vector3[1];d.Vector3[2].copyFrom(r);let a=d.Vector3[2],n=d.Vector3[3],h=d.Vector3[4];i.normalize(),s.normalize(),a.normalize(),c.CrossToRef(a,i,n),c.CrossToRef(n,a,h);let _=Math.atan2(c.Dot(s,n),c.Dot(s,h));return(0,o.NormalizeRadians)(_)}static PitchYawRollToMoveBetweenPointsToRef(t,e,r){let i=z.Vector3[0];return e.subtractToRef(t,i),r._y=Math.atan2(i.x,i.z)||0,r._x=Math.atan2(Math.sqrt(i.x**2+i.z**2),i.y)||0,r._z=0,r._isDirty=!0,r}static PitchYawRollToMoveBetweenPoints(t,e){let r=c.Zero();return c.PitchYawRollToMoveBetweenPointsToRef(t,e,r)}static SlerpToRef(t,r,i,s){let a,n;i=(0,o.Clamp)(i,0,1);let h=d.Vector3[0],_=d.Vector3[1];h.copyFrom(t);let l=h.length();h.normalizeFromLength(l),_.copyFrom(r);let y=_.length();_.normalizeFromLength(y);let u=c.Dot(h,_);if(u<1-e.Epsilon){let t=Math.acos(u),e=1/Math.sin(t);a=Math.sin((1-i)*t)*e,n=Math.sin(i*t)*e}else a=1-i,n=i;return h.scaleInPlace(a),_.scaleInPlace(n),s.copyFrom(h).addInPlace(_),s.scaleInPlace((0,o.Lerp)(l,y,i)),s}static SmoothToRef(t,e,r,i,s){return c.SlerpToRef(t,e,0===i?1:r/i,s),s}static FromArray(t,e=0){return new c(t[e],t[e+1],t[e+2])}static FromFloatArray(t,e){return c.FromArray(t,e)}static FromArrayToRef(t,e,r){return r._x=t[e],r._y=t[e+1],r._z=t[e+2],r._isDirty=!0,r}static FromFloatArrayToRef(t,e,r){return c.FromArrayToRef(t,e,r)}static FromFloatsToRef(t,e,r,i){return i.copyFromFloats(t,e,r),i}static Zero(){return new c(0,0,0)}static One(){return new c(1,1,1)}static Up(){return new c(0,1,0)}static get UpReadOnly(){return c._UpReadOnly}static get DownReadOnly(){return c._DownReadOnly}static get RightReadOnly(){return c._RightReadOnly}static get LeftReadOnly(){return c._LeftReadOnly}static get LeftHandedForwardReadOnly(){return c._LeftHandedForwardReadOnly}static get RightHandedForwardReadOnly(){return c._RightHandedForwardReadOnly}static get LeftHandedBackwardReadOnly(){return c._LeftHandedBackwardReadOnly}static get RightHandedBackwardReadOnly(){return c._RightHandedBackwardReadOnly}static get ZeroReadOnly(){return c._ZeroReadOnly}static get OneReadOnly(){return c._OneReadOnly}static Down(){return new c(0,-1,0)}static Forward(t=!1){return new c(0,0,t?-1:1)}static Backward(t=!1){return new c(0,0,t?1:-1)}static Right(){return new c(1,0,0)}static Left(){return new c(-1,0,0)}static Random(t=0,e=1){return new c((0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.copyFromFloats((0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e))}static TransformCoordinates(t,e){let r=c.Zero();return c.TransformCoordinatesToRef(t,e,r),r}static TransformCoordinatesToRef(t,e,r){return c.TransformCoordinatesFromFloatsToRef(t._x,t._y,t._z,e,r),r}static TransformCoordinatesFromFloatsToRef(t,e,r,i,s){let o=i.m,a=t*o[0]+e*o[4]+r*o[8]+o[12],n=t*o[1]+e*o[5]+r*o[9]+o[13],h=t*o[2]+e*o[6]+r*o[10]+o[14],_=1/(t*o[3]+e*o[7]+r*o[11]+o[15]);return s._x=a*_,s._y=n*_,s._z=h*_,s._isDirty=!0,s}static TransformNormal(t,e){let r=c.Zero();return c.TransformNormalToRef(t,e,r),r}static TransformNormalToRef(t,e,r){return this.TransformNormalFromFloatsToRef(t._x,t._y,t._z,e,r),r}static TransformNormalFromFloatsToRef(t,e,r,i,s){let o=i.m;return s._x=t*o[0]+e*o[4]+r*o[8],s._y=t*o[1]+e*o[5]+r*o[9],s._z=t*o[2]+e*o[6]+r*o[10],s._isDirty=!0,s}static CatmullRom(t,e,r,i,s){let o=s*s,a=s*o;return new c(.5*(2*e._x+(-t._x+r._x)*s+(2*t._x-5*e._x+4*r._x-i._x)*o+(-t._x+3*e._x-3*r._x+i._x)*a),.5*(2*e._y+(-t._y+r._y)*s+(2*t._y-5*e._y+4*r._y-i._y)*o+(-t._y+3*e._y-3*r._y+i._y)*a),.5*(2*e._z+(-t._z+r._z)*s+(2*t._z-5*e._z+4*r._z-i._z)*o+(-t._z+3*e._z-3*r._z+i._z)*a))}static Clamp(t,e,r){let i=new c;return c.ClampToRef(t,e,r,i),i}static ClampToRef(t,e,r,i){let s=t._x;s=(s=s>r._x?r._x:s)<e._x?e._x:s;let o=t._y;o=(o=o>r._y?r._y:o)<e._y?e._y:o;let a=t._z;return a=(a=a>r._z?r._z:a)<e._z?e._z:a,i.copyFromFloats(s,o,a),i}static CheckExtends(t,e,r){e.minimizeInPlace(t),r.maximizeInPlace(t)}static Hermite(t,e,r,i,s){let o=s*s,a=s*o,n=2*a-3*o+1,h=-2*a+3*o,_=a-2*o+s,l=a-o;return new c(t._x*n+r._x*h+e._x*_+i._x*l,t._y*n+r._y*h+e._y*_+i._y*l,t._z*n+r._z*h+e._z*_+i._z*l)}static Hermite1stDerivative(t,e,r,i,s){let o=new c;return this.Hermite1stDerivativeToRef(t,e,r,i,s,o),o}static Hermite1stDerivativeToRef(t,e,r,i,s,o){let a=s*s;return o._x=(a-s)*6*t._x+(3*a-4*s+1)*e._x+(-a+s)*6*r._x+(3*a-2*s)*i._x,o._y=(a-s)*6*t._y+(3*a-4*s+1)*e._y+(-a+s)*6*r._y+(3*a-2*s)*i._y,o._z=(a-s)*6*t._z+(3*a-4*s+1)*e._z+(-a+s)*6*r._z+(3*a-2*s)*i._z,o._isDirty=!0,o}static Lerp(t,e,r){let i=new c(0,0,0);return c.LerpToRef(t,e,r,i),i}static LerpToRef(t,e,r,i){return i._x=t._x+(e._x-t._x)*r,i._y=t._y+(e._y-t._y)*r,i._z=t._z+(e._z-t._z)*r,i._isDirty=!0,i}static Dot(t,e){return t._x*e._x+t._y*e._y+t._z*e._z}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z}static Cross(t,e){let r=new c;return c.CrossToRef(t,e,r),r}static CrossToRef(t,e,r){let i=t._y*e._z-t._z*e._y,s=t._z*e._x-t._x*e._z,o=t._x*e._y-t._y*e._x;return r.copyFromFloats(i,s,o),r}static Normalize(t){let e=c.Zero();return c.NormalizeToRef(t,e),e}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}static Project(t,e,r,i){let s=new c;return c.ProjectToRef(t,e,r,i,s),s}static ProjectToRef(t,e,r,i,o){let a=i.width,n=i.height,h=i.x,_=i.y,l=d.Matrix[1],y=s.EngineStore.LastCreatedEngine?.isNDCHalfZRange;R.FromValuesToRef(a/2,0,0,0,0,-n/2,0,0,0,0,y?1:.5,0,h+a/2,n/2+_,.5*!y,1,l);let u=d.Matrix[0];return e.multiplyToRef(r,u),u.multiplyToRef(l,u),c.TransformCoordinatesToRef(t,u,o),o}static Reflect(t,e){return this.ReflectToRef(t,e,new c)}static ReflectToRef(t,e,r){let i=z.Vector3[0];return i.copyFrom(e).scaleInPlace(2*c.Dot(t,e)),r.copyFrom(t).subtractInPlace(i)}static UnprojectFromTransform(t,e,r,i,s){return this.Unproject(t,e,r,i,s,R.IdentityReadOnly)}static Unproject(t,e,r,i,s,o){let a=new c;return c.UnprojectToRef(t,e,r,i,s,o,a),a}static UnprojectToRef(t,e,r,i,s,o,a){return c.UnprojectFloatsToRef(t._x,t._y,t._z,e,r,i,s,o,a),a}static UnprojectFloatsToRef(t,e,r,i,o,a,n,h,_){let l=d.Matrix[0];a.multiplyToRef(n,l),l.multiplyToRef(h,l),l.invert();let y=d.Vector3[0];return y.x=t/i*2-1,y.y=-(e/o*2-1),s.EngineStore.LastCreatedEngine?.isNDCHalfZRange?y.z=r:y.z=2*r-1,c.TransformCoordinatesToRef(y,l,_),_}static Minimize(t,e){let r=new c;return r.copyFrom(t),r.minimizeInPlace(e),r}static Maximize(t,e){let r=new c;return r.copyFrom(t),r.maximizeInPlace(e),r}static Distance(t,e){return Math.sqrt(c.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t._x-e._x,i=t._y-e._y,s=t._z-e._z;return r*r+i*i+s*s}static ProjectOnTriangleToRef(t,r,i,s,a){let n,h,_=d.Vector3[0],l=d.Vector3[1],y=d.Vector3[2],u=d.Vector3[3],m=d.Vector3[4];i.subtractToRef(r,_),s.subtractToRef(r,l),s.subtractToRef(i,y);let x=_.length(),f=l.length(),R=y.length();if(x<e.Epsilon||f<e.Epsilon||R<e.Epsilon)return a.copyFrom(r),c.Distance(t,r);t.subtractToRef(r,m),c.CrossToRef(_,l,u);let z=u.length();if(z<e.Epsilon)return a.copyFrom(r),c.Distance(t,r);u.normalizeFromLength(z);let T=m.length();if(T<e.Epsilon)return a.copyFrom(r),0;m.normalizeFromLength(T);let w=c.Dot(u,m),p=d.Vector3[5],F=d.Vector3[6];p.copyFrom(u).scaleInPlace(-T*w),F.copyFrom(t).addInPlace(p);let M=d.Vector3[4],g=d.Vector3[5],I=d.Vector3[7],A=d.Vector3[8];M.copyFrom(_).scaleInPlace(1/x),A.copyFrom(l).scaleInPlace(1/f),M.addInPlace(A).scaleInPlace(-1),g.copyFrom(_).scaleInPlace(-1/x),A.copyFrom(y).scaleInPlace(1/R),g.addInPlace(A).scaleInPlace(-1),I.copyFrom(y).scaleInPlace(-1/R),A.copyFrom(l).scaleInPlace(-1/f),I.addInPlace(A).scaleInPlace(-1);let P=d.Vector3[9];P.copyFrom(F).subtractInPlace(r),c.CrossToRef(M,P,A);let D=c.Dot(A,u);P.copyFrom(F).subtractInPlace(i),c.CrossToRef(g,P,A);let C=c.Dot(A,u);P.copyFrom(F).subtractInPlace(s),c.CrossToRef(I,P,A);let V=c.Dot(A,u),v=d.Vector3[10];D>0&&C<0?(v.copyFrom(_),n=r,h=i):C>0&&V<0?(v.copyFrom(y),n=i,h=s):(v.copyFrom(l).scaleInPlace(-1),n=s,h=r);let L=d.Vector3[9],k=d.Vector3[4];if(n.subtractToRef(F,A),h.subtractToRef(F,L),c.CrossToRef(A,L,k),!(0>c.Dot(k,u)))return a.copyFrom(F),Math.abs(T*w);let O=d.Vector3[5];c.CrossToRef(v,k,O),O.normalize();let H=d.Vector3[9];H.copyFrom(n).subtractInPlace(F);let E=H.length();if(E<e.Epsilon)return a.copyFrom(n),c.Distance(t,n);H.normalizeFromLength(E);let U=c.Dot(O,H),b=d.Vector3[7];b.copyFrom(F).addInPlace(O.scaleInPlace(E*U)),A.copyFrom(b).subtractInPlace(n),T=v.length(),v.normalizeFromLength(T);let S=c.Dot(A,v)/Math.max(T,e.Epsilon);return S=(0,o.Clamp)(S,0,1),b.copyFrom(n).addInPlace(v.scaleInPlace(S*T)),a.copyFrom(b),c.Distance(t,b)}static Center(t,e){return c.CenterToRef(t,e,c.Zero())}static CenterToRef(t,e,r){return r.copyFromFloats((t._x+e._x)/2,(t._y+e._y)/2,(t._z+e._z)/2)}static RotationFromAxis(t,e,r){let i=new c;return c.RotationFromAxisToRef(t,e,r,i),i}static RotationFromAxisToRef(t,e,r,i){let s=d.Quaternion[0];return f.RotationQuaternionFromAxisToRef(t,e,r,s),s.toEulerAnglesToRef(i),i}}c._V8PerformanceHack=new c(.5,.5,.5),c._UpReadOnly=c.Up(),c._DownReadOnly=c.Down(),c._LeftHandedForwardReadOnly=c.Forward(!1),c._RightHandedForwardReadOnly=c.Forward(!0),c._LeftHandedBackwardReadOnly=c.Backward(!1),c._RightHandedBackwardReadOnly=c.Backward(!0),c._RightReadOnly=c.Right(),c._LeftReadOnly=c.Left(),c._ZeroReadOnly=c.Zero(),c._OneReadOnly=c.One();class x{get x(){return this._x}set x(t){this._x=t,this._isDirty=!0}get y(){return this._y}set y(t){this._y=t,this._isDirty=!0}get z(){return this._z}set z(t){this._z=t,this._isDirty=!0}get w(){return this._w}set w(t){this._w=t,this._isDirty=!0}constructor(t=0,e=0,r=0,i=0){this._isDirty=!0,this._x=t,this._y=e,this._z=r,this._w=i}toString(){return`{X: ${this._x} Y: ${this._y} Z: ${this._z} W: ${this._w}}`}getClassName(){return"Vector4"}getHashCode(){let t=u(this._x),e=u(this._y),r=u(this._z),i=u(this._w),s=t;return 397*(s=397*(s=397*s^e)^r)^i}asArray(){return[this._x,this._y,this._z,this._w]}toArray(t,e){return void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,this}fromArray(t,e=0){return x.FromArrayToRef(t,e,this),this}addInPlace(t){return this.x+=t._x,this.y+=t._y,this.z+=t._z,this.w+=t._w,this}addInPlaceFromFloats(t,e,r,i){return this.x+=t,this.y+=e,this.z+=r,this.w+=i,this}add(t){return new x(this._x+t.x,this._y+t.y,this._z+t.z,this._w+t.w)}addToRef(t,e){return e.x=this._x+t.x,e.y=this._y+t.y,e.z=this._z+t.z,e.w=this._w+t.w,e}subtractInPlace(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subtract(t){return new x(this._x-t.x,this._y-t.y,this._z-t.z,this._w-t.w)}subtractToRef(t,e){return e.x=this._x-t.x,e.y=this._y-t.y,e.z=this._z-t.z,e.w=this._w-t.w,e}subtractFromFloats(t,e,r,i){return new x(this._x-t,this._y-e,this._z-r,this._w-i)}subtractFromFloatsToRef(t,e,r,i,s){return s.x=this._x-t,s.y=this._y-e,s.z=this._z-r,s.w=this._w-i,s}negate(){return new x(-this._x,-this._y,-this._z,-this._w)}negateInPlace(){return this.x*=-1,this.y*=-1,this.z*=-1,this.w*=-1,this}negateToRef(t){return t.x=-this._x,t.y=-this._y,t.z=-this._z,t.w=-this._w,t}scaleInPlace(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}scale(t){return new x(this._x*t,this._y*t,this._z*t,this._w*t)}scaleToRef(t,e){return e.x=this._x*t,e.y=this._y*t,e.z=this._z*t,e.w=this._w*t,e}scaleAndAddToRef(t,e){return e.x+=this._x*t,e.y+=this._y*t,e.z+=this._z*t,e.w+=this._w*t,e}equals(t){return t&&this._x===t.x&&this._y===t.y&&this._z===t.z&&this._w===t.w}equalsWithEpsilon(t,r=e.Epsilon){return t&&(0,o.WithinEpsilon)(this._x,t.x,r)&&(0,o.WithinEpsilon)(this._y,t.y,r)&&(0,o.WithinEpsilon)(this._z,t.z,r)&&(0,o.WithinEpsilon)(this._w,t.w,r)}equalsToFloats(t,e,r,i){return this._x===t&&this._y===e&&this._z===r&&this._w===i}multiplyInPlace(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiply(t){return new x(this._x*t.x,this._y*t.y,this._z*t.z,this._w*t.w)}multiplyToRef(t,e){return e.x=this._x*t.x,e.y=this._y*t.y,e.z=this._z*t.z,e.w=this._w*t.w,e}multiplyByFloats(t,e,r,i){return new x(this._x*t,this._y*e,this._z*r,this._w*i)}divide(t){return new x(this._x/t.x,this._y/t.y,this._z/t.z,this._w/t.w)}divideToRef(t,e){return e.x=this._x/t.x,e.y=this._y/t.y,e.z=this._z/t.z,e.w=this._w/t.w,e}divideInPlace(t){return this.divideToRef(t,this)}minimizeInPlace(t){return t.x<this._x&&(this.x=t.x),t.y<this._y&&(this.y=t.y),t.z<this._z&&(this.z=t.z),t.w<this._w&&(this.w=t.w),this}maximizeInPlace(t){return t.x>this._x&&(this.x=t.x),t.y>this._y&&(this.y=t.y),t.z>this._z&&(this.z=t.z),t.w>this._w&&(this.w=t.w),this}minimizeInPlaceFromFloats(t,e,r,i){return this.x=Math.min(t,this._x),this.y=Math.min(e,this._y),this.z=Math.min(r,this._z),this.w=Math.min(i,this._w),this}maximizeInPlaceFromFloats(t,e,r,i){return this.x=Math.max(t,this._x),this.y=Math.max(e,this._y),this.z=Math.max(r,this._z),this.w=Math.max(i,this._w),this}floorToRef(t){return t.x=Math.floor(this._x),t.y=Math.floor(this._y),t.z=Math.floor(this._z),t.w=Math.floor(this._w),t}floor(){return new x(Math.floor(this._x),Math.floor(this._y),Math.floor(this._z),Math.floor(this._w))}fractToRef(t){return t.x=this._x-Math.floor(this._x),t.y=this._y-Math.floor(this._y),t.z=this._z-Math.floor(this._z),t.w=this._w-Math.floor(this._w),t}fract(){return new x(this._x-Math.floor(this._x),this._y-Math.floor(this._y),this._z-Math.floor(this._z),this._w-Math.floor(this._w))}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}lengthSquared(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}normalize(){return this.normalizeFromLength(this.length())}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){return this.normalizeToRef(new x)}normalizeToRef(t){let e=this.length();return 0===e||1===e?(t.x=this._x,t.y=this._y,t.z=this._z,t.w=this._w,t):this.scaleToRef(1/e,t)}toVector3(){return new c(this._x,this._y,this._z)}clone(){return new x(this._x,this._y,this._z,this._w)}copyFrom(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}copyFromFloats(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this}set(t,e,r,i){return this.copyFromFloats(t,e,r,i)}setAll(t){return this.x=this.y=this.z=this.w=t,this}dot(t){return this._x*t.x+this._y*t.y+this._z*t.z+this._w*t.w}static FromArray(t,e){return e||(e=0),new x(t[e],t[e+1],t[e+2],t[e+3])}static FromArrayToRef(t,e,r){return r.x=t[e],r.y=t[e+1],r.z=t[e+2],r.w=t[e+3],r}static FromFloatArrayToRef(t,e,r){return x.FromArrayToRef(t,e,r),r}static FromFloatsToRef(t,e,r,i,s){return s.x=t,s.y=e,s.z=r,s.w=i,s}static Zero(){return new x(0,0,0,0)}static One(){return new x(1,1,1,1)}static Random(t=0,e=1){return new x((0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.x=(0,o.RandomRange)(t,e),r.y=(0,o.RandomRange)(t,e),r.z=(0,o.RandomRange)(t,e),r.w=(0,o.RandomRange)(t,e),r}static Clamp(t,e,r){return x.ClampToRef(t,e,r,new x)}static ClampToRef(t,e,r,i){return i.x=(0,o.Clamp)(t.x,e.x,r.x),i.y=(0,o.Clamp)(t.y,e.y,r.y),i.z=(0,o.Clamp)(t.z,e.z,r.z),i.w=(0,o.Clamp)(t.w,e.w,r.w),i}static CheckExtends(t,e,r){e.minimizeInPlace(t),r.maximizeInPlace(t)}static get ZeroReadOnly(){return x._ZeroReadOnly}static Normalize(t){return x.NormalizeToRef(t,new x)}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}static Minimize(t,e){let r=new x;return r.copyFrom(t),r.minimizeInPlace(e),r}static Maximize(t,e){let r=new x;return r.copyFrom(t),r.maximizeInPlace(e),r}static Distance(t,e){return Math.sqrt(x.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t.x-e.x,i=t.y-e.y,s=t.z-e.z,o=t.w-e.w;return r*r+i*i+s*s+o*o}static Center(t,e){return x.CenterToRef(t,e,new x)}static CenterToRef(t,e,r){return r.x=(t.x+e.x)/2,r.y=(t.y+e.y)/2,r.z=(t.z+e.z)/2,r.w=(t.w+e.w)/2,r}static TransformCoordinates(t,e){return x.TransformCoordinatesToRef(t,e,new x)}static TransformCoordinatesToRef(t,e,r){return x.TransformCoordinatesFromFloatsToRef(t._x,t._y,t._z,e,r),r}static TransformCoordinatesFromFloatsToRef(t,e,r,i,s){let o=i.m,a=t*o[0]+e*o[4]+r*o[8]+o[12],n=t*o[1]+e*o[5]+r*o[9]+o[13],h=t*o[2]+e*o[6]+r*o[10]+o[14],_=t*o[3]+e*o[7]+r*o[11]+o[15];return s.x=a,s.y=n,s.z=h,s.w=_,s}static TransformNormal(t,e){return x.TransformNormalToRef(t,e,new x)}static TransformNormalToRef(t,e,r){let i=e.m,s=t.x*i[0]+t.y*i[4]+t.z*i[8],o=t.x*i[1]+t.y*i[5]+t.z*i[9],a=t.x*i[2]+t.y*i[6]+t.z*i[10];return r.x=s,r.y=o,r.z=a,r.w=t.w,r}static TransformNormalFromFloatsToRef(t,e,r,i,s,o){let a=s.m;return o.x=t*a[0]+e*a[4]+r*a[8],o.y=t*a[1]+e*a[5]+r*a[9],o.z=t*a[2]+e*a[6]+r*a[10],o.w=i,o}static FromVector3(t,e=0){return new x(t._x,t._y,t._z,e)}static Dot(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w}}x._V8PerformanceHack=new x(.5,.5,.5,.5),x._ZeroReadOnly=x.Zero();class f{get x(){return this._x}set x(t){this._x=t,this._isDirty=!0}get y(){return this._y}set y(t){this._y=t,this._isDirty=!0}get z(){return this._z}set z(t){this._z=t,this._isDirty=!0}get w(){return this._w}set w(t){this._w=t,this._isDirty=!0}constructor(t=0,e=0,r=0,i=1){this._isDirty=!0,this._x=t,this._y=e,this._z=r,this._w=i}toString(){return`{X: ${this._x} Y: ${this._y} Z: ${this._z} W: ${this._w}}`}getClassName(){return"Quaternion"}getHashCode(){let t=u(this._x),e=u(this._y),r=u(this._z),i=u(this._w),s=t;return 397*(s=397*(s=397*s^e)^r)^i}asArray(){return[this._x,this._y,this._z,this._w]}toArray(t,e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,this}fromArray(t,e=0){return f.FromArrayToRef(t,e,this)}equals(t){return t&&this._x===t._x&&this._y===t._y&&this._z===t._z&&this._w===t._w}equalsWithEpsilon(t,r=e.Epsilon){return t&&(0,o.WithinEpsilon)(this._x,t._x,r)&&(0,o.WithinEpsilon)(this._y,t._y,r)&&(0,o.WithinEpsilon)(this._z,t._z,r)&&(0,o.WithinEpsilon)(this._w,t._w,r)}isApprox(t,r=e.Epsilon){return t&&((0,o.WithinEpsilon)(this._x,t._x,r)&&(0,o.WithinEpsilon)(this._y,t._y,r)&&(0,o.WithinEpsilon)(this._z,t._z,r)&&(0,o.WithinEpsilon)(this._w,t._w,r)||(0,o.WithinEpsilon)(this._x,-t._x,r)&&(0,o.WithinEpsilon)(this._y,-t._y,r)&&(0,o.WithinEpsilon)(this._z,-t._z,r)&&(0,o.WithinEpsilon)(this._w,-t._w,r))}clone(){return new f(this._x,this._y,this._z,this._w)}copyFrom(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._w=t._w,this._isDirty=!0,this}copyFromFloats(t,e,r,i){return this._x=t,this._y=e,this._z=r,this._w=i,this._isDirty=!0,this}set(t,e,r,i){return this.copyFromFloats(t,e,r,i)}setAll(t){return this.copyFromFloats(t,t,t,t)}add(t){return new f(this._x+t._x,this._y+t._y,this._z+t._z,this._w+t._w)}addInPlace(t){return this._x+=t._x,this._y+=t._y,this._z+=t._z,this._w+=t._w,this._isDirty=!0,this}addToRef(t,e){return e._x=this._x+t._x,e._y=this._y+t._y,e._z=this._z+t._z,e._w=this._w+t._w,e._isDirty=!0,e}addInPlaceFromFloats(t,e,r,i){return this._x+=t,this._y+=e,this._z+=r,this._w+=i,this._isDirty=!0,this}subtractToRef(t,e){return e._x=this._x-t._x,e._y=this._y-t._y,e._z=this._z-t._z,e._w=this._w-t._w,e._isDirty=!0,e}subtractFromFloats(t,e,r,i){return this.subtractFromFloatsToRef(t,e,r,i,new f)}subtractFromFloatsToRef(t,e,r,i,s){return s._x=this._x-t,s._y=this._y-e,s._z=this._z-r,s._w=this._w-i,s._isDirty=!0,s}subtract(t){return new f(this._x-t._x,this._y-t._y,this._z-t._z,this._w-t._w)}subtractInPlace(t){return this._x-=t._x,this._y-=t._y,this._z-=t._z,this._w-=t._w,this._isDirty=!0,this}scale(t){return new f(this._x*t,this._y*t,this._z*t,this._w*t)}scaleToRef(t,e){return e._x=this._x*t,e._y=this._y*t,e._z=this._z*t,e._w=this._w*t,e._isDirty=!0,e}scaleInPlace(t){return this._x*=t,this._y*=t,this._z*=t,this._w*=t,this._isDirty=!0,this}scaleAndAddToRef(t,e){return e._x+=this._x*t,e._y+=this._y*t,e._z+=this._z*t,e._w+=this._w*t,e._isDirty=!0,e}multiply(t){let e=new f(0,0,0,1);return this.multiplyToRef(t,e),e}multiplyToRef(t,e){let r=this._x*t._w+this._y*t._z-this._z*t._y+this._w*t._x,i=-this._x*t._z+this._y*t._w+this._z*t._x+this._w*t._y,s=this._x*t._y-this._y*t._x+this._z*t._w+this._w*t._z,o=-this._x*t._x-this._y*t._y-this._z*t._z+this._w*t._w;return e.copyFromFloats(r,i,s,o),e}multiplyInPlace(t){return this.multiplyToRef(t,this)}multiplyByFloats(t,e,r,i){return this._x*=t,this._y*=e,this._z*=r,this._w*=i,this._isDirty=!0,this}divide(t){throw ReferenceError("Can not divide a quaternion")}divideToRef(t,e){throw ReferenceError("Can not divide a quaternion")}divideInPlace(t){throw ReferenceError("Can not divide a quaternion")}minimizeInPlace(){throw ReferenceError("Can not minimize a quaternion")}minimizeInPlaceFromFloats(){throw ReferenceError("Can not minimize a quaternion")}maximizeInPlace(){throw ReferenceError("Can not maximize a quaternion")}maximizeInPlaceFromFloats(){throw ReferenceError("Can not maximize a quaternion")}negate(){return this.negateToRef(new f)}negateInPlace(){return this._x=-this._x,this._y=-this._y,this._z=-this._z,this._w=-this._w,this._isDirty=!0,this}negateToRef(t){return t._x=-this._x,t._y=-this._y,t._z=-this._z,t._w=-this._w,t._isDirty=!0,t}equalsToFloats(t,e,r,i){return this._x===t&&this._y===e&&this._z===r&&this._w===i}floorToRef(t){throw ReferenceError("Can not floor a quaternion")}floor(){throw ReferenceError("Can not floor a quaternion")}fractToRef(t){throw ReferenceError("Can not fract a quaternion")}fract(){throw ReferenceError("Can not fract a quaternion")}conjugateToRef(t){return t.copyFromFloats(-this._x,-this._y,-this._z,this._w),t}conjugateInPlace(){return this._x*=-1,this._y*=-1,this._z*=-1,this._isDirty=!0,this}conjugate(){return new f(-this._x,-this._y,-this._z,this._w)}invert(){let t=this.conjugate(),e=this.lengthSquared();return 0==e||1==e||t.scaleInPlace(1/e),t}invertInPlace(){this.conjugateInPlace();let t=this.lengthSquared();return 0==t||1==t||this.scaleInPlace(1/t),this}lengthSquared(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this.lengthSquared())}normalize(){return this.normalizeFromLength(this.length())}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){let t=new f(0,0,0,1);return this.normalizeToRef(t),t}normalizeToRef(t){let e=this.length();return 0===e||1===e?t.copyFromFloats(this._x,this._y,this._z,this._w):this.scaleToRef(1/e,t)}toEulerAngles(){let t=c.Zero();return this.toEulerAnglesToRef(t),t}toEulerAnglesToRef(t){let e=this._z,r=this._x,i=this._y,s=this._w,o=i*e-r*s;if(o<-.4999999)t._y=2*Math.atan2(i,s),t._x=Math.PI/2,t._z=0,t._isDirty=!0;else if(o>.4999999)t._y=2*Math.atan2(i,s),t._x=-Math.PI/2,t._z=0,t._isDirty=!0;else{let a=s*s,n=e*e,h=r*r,_=i*i;t._z=Math.atan2(2*(r*i+e*s),-n-h+_+a),t._x=Math.asin(-2*o),t._y=Math.atan2(2*(e*r+i*s),n-h-_+a),t._isDirty=!0}return t}toAlphaBetaGammaToRef(t){let e=this._z,r=this._x,i=this._y,s=this._w,o=2*Math.atan2(Math.sqrt(r*r+i*i),Math.sqrt(e*e+s*s)),a=2*Math.atan2(e,s),n=2*Math.atan2(i,r);return t.set((a-n)/2,o,(a+n)/2),t}toRotationMatrix(t){return R.FromQuaternionToRef(this,t),t}fromRotationMatrix(t){return f.FromRotationMatrixToRef(t,this),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}toAxisAngle(){let t=c.Zero(),e=this.toAxisAngleToRef(t);return{axis:t,angle:e}}toAxisAngleToRef(t){let e,r=Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z),i=this._w;return r>0?(e=2*Math.atan2(r,i),t.set(this._x/r,this._y/r,this._z/r)):(e=0,t.set(1,0,0)),e}static FromRotationMatrix(t){let e=new f;return f.FromRotationMatrixToRef(t,e),e}static FromRotationMatrixToRef(t,e){let r,i=t.m,s=i[0],o=i[4],a=i[8],n=i[1],h=i[5],_=i[9],l=i[2],y=i[6],u=i[10],m=s+h+u;return m>0?(e._w=.25/(r=.5/Math.sqrt(m+1)),e._x=(y-_)*r,e._y=(a-l)*r,e._z=(n-o)*r):s>h&&s>u?(e._w=(y-_)/(r=2*Math.sqrt(1+s-h-u)),e._x=.25*r,e._y=(o+n)/r,e._z=(a+l)/r):h>u?(e._w=(a-l)/(r=2*Math.sqrt(1+h-s-u)),e._x=(o+n)/r,e._y=.25*r,e._z=(_+y)/r):(e._w=(n-o)/(r=2*Math.sqrt(1+u-s-h)),e._x=(a+l)/r,e._y=(_+y)/r,e._z=.25*r),e._isDirty=!0,e}static Dot(t,e){return t._x*e._x+t._y*e._y+t._z*e._z+t._w*e._w}static AreClose(t,e,r=.1){let i=f.Dot(t,e);return 1-i*i<=r}static SmoothToRef(t,e,r,i,s){let a=0===i?1:r/i;return a=(0,o.Clamp)(a,0,1),f.SlerpToRef(t,e,a,s),s}static Zero(){return new f(0,0,0,0)}static Inverse(t){return new f(-t._x,-t._y,-t._z,t._w)}static InverseToRef(t,e){return e.set(-t._x,-t._y,-t._z,t._w),e}static Identity(){return new f(0,0,0,1)}static IsIdentity(t){return t&&0===t._x&&0===t._y&&0===t._z&&1===t._w}static RotationAxis(t,e){return f.RotationAxisToRef(t,e,new f)}static RotationAxisToRef(t,e,r){r._w=Math.cos(e/2);let i=Math.sin(e/2)/t.length();return r._x=t._x*i,r._y=t._y*i,r._z=t._z*i,r._isDirty=!0,r}static FromArray(t,e){return e||(e=0),new f(t[e],t[e+1],t[e+2],t[e+3])}static FromArrayToRef(t,e,r){return r._x=t[e],r._y=t[e+1],r._z=t[e+2],r._w=t[e+3],r._isDirty=!0,r}static FromFloatsToRef(t,e,r,i,s){return s.copyFromFloats(t,e,r,i),s}static FromEulerAngles(t,e,r){let i=new f;return f.RotationYawPitchRollToRef(e,t,r,i),i}static FromEulerAnglesToRef(t,e,r,i){return f.RotationYawPitchRollToRef(e,t,r,i),i}static FromEulerVector(t){let e=new f;return f.RotationYawPitchRollToRef(t._y,t._x,t._z,e),e}static FromEulerVectorToRef(t,e){return f.RotationYawPitchRollToRef(t._y,t._x,t._z,e),e}static FromUnitVectorsToRef(t,r,i,s=e.Epsilon){let o=c.Dot(t,r)+1;return o<s?Math.abs(t.x)>Math.abs(t.z)?i.set(-t.y,t.x,0,0):i.set(0,-t.z,t.y,0):(c.CrossToRef(t,r,z.Vector3[0]),i.set(z.Vector3[0].x,z.Vector3[0].y,z.Vector3[0].z,o)),i.normalize()}static RotationYawPitchRoll(t,e,r){let i=new f;return f.RotationYawPitchRollToRef(t,e,r,i),i}static RotationYawPitchRollToRef(t,e,r,i){let s=.5*r,o=.5*e,a=.5*t,n=Math.sin(s),h=Math.cos(s),_=Math.sin(o),l=Math.cos(o),y=Math.sin(a),u=Math.cos(a);return i._x=u*_*h+y*l*n,i._y=y*l*h-u*_*n,i._z=u*l*n-y*_*h,i._w=u*l*h+y*_*n,i._isDirty=!0,i}static RotationAlphaBetaGamma(t,e,r){let i=new f;return f.RotationAlphaBetaGammaToRef(t,e,r,i),i}static RotationAlphaBetaGammaToRef(t,e,r,i){let s=(r+t)*.5,o=(r-t)*.5,a=.5*e;return i._x=Math.cos(o)*Math.sin(a),i._y=Math.sin(o)*Math.sin(a),i._z=Math.sin(s)*Math.cos(a),i._w=Math.cos(s)*Math.cos(a),i._isDirty=!0,i}static RotationQuaternionFromAxis(t,e,r){let i=new f(0,0,0,0);return f.RotationQuaternionFromAxisToRef(t,e,r,i),i}static RotationQuaternionFromAxisToRef(t,e,r,i){let s=d.Matrix[0];return t=t.normalizeToRef(d.Vector3[0]),e=e.normalizeToRef(d.Vector3[1]),r=r.normalizeToRef(d.Vector3[2]),R.FromXYZAxesToRef(t,e,r,s),f.FromRotationMatrixToRef(s,i),i}static FromLookDirectionLH(t,e){let r=new f;return f.FromLookDirectionLHToRef(t,e,r),r}static FromLookDirectionLHToRef(t,e,r){let i=d.Matrix[0];return R.LookDirectionLHToRef(t,e,i),f.FromRotationMatrixToRef(i,r),r}static FromLookDirectionRH(t,e){let r=new f;return f.FromLookDirectionRHToRef(t,e,r),r}static FromLookDirectionRHToRef(t,e,r){let i=d.Matrix[0];return R.LookDirectionRHToRef(t,e,i),f.FromRotationMatrixToRef(i,r)}static Slerp(t,e,r){let i=f.Identity();return f.SlerpToRef(t,e,r,i),i}static SlerpToRef(t,e,r,i){let s,o,a=t._x*e._x+t._y*e._y+t._z*e._z+t._w*e._w,n=!1;if(a<0&&(n=!0,a=-a),a>.999999)o=1-r,s=n?-r:r;else{let t=Math.acos(a),e=1/Math.sin(t);o=Math.sin((1-r)*t)*e,s=n?-Math.sin(r*t)*e:Math.sin(r*t)*e}return i._x=o*t._x+s*e._x,i._y=o*t._y+s*e._y,i._z=o*t._z+s*e._z,i._w=o*t._w+s*e._w,i._isDirty=!0,i}static Hermite(t,e,r,i,s){let o=s*s,a=s*o,n=2*a-3*o+1,h=-2*a+3*o,_=a-2*o+s,l=a-o;return new f(t._x*n+r._x*h+e._x*_+i._x*l,t._y*n+r._y*h+e._y*_+i._y*l,t._z*n+r._z*h+e._z*_+i._z*l,t._w*n+r._w*h+e._w*_+i._w*l)}static Hermite1stDerivative(t,e,r,i,s){let o=new f;return this.Hermite1stDerivativeToRef(t,e,r,i,s,o),o}static Hermite1stDerivativeToRef(t,e,r,i,s,o){let a=s*s;return o._x=(a-s)*6*t._x+(3*a-4*s+1)*e._x+(-a+s)*6*r._x+(3*a-2*s)*i._x,o._y=(a-s)*6*t._y+(3*a-4*s+1)*e._y+(-a+s)*6*r._y+(3*a-2*s)*i._y,o._z=(a-s)*6*t._z+(3*a-4*s+1)*e._z+(-a+s)*6*r._z+(3*a-2*s)*i._z,o._w=(a-s)*6*t._w+(3*a-4*s+1)*e._w+(-a+s)*6*r._w+(3*a-2*s)*i._w,o._isDirty=!0,o}static Normalize(t){let e=f.Zero();return f.NormalizeToRef(t,e),e}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}static Clamp(t,e,r){let i=new f;return f.ClampToRef(t,e,r,i),i}static ClampToRef(t,e,r,i){return i.copyFromFloats((0,o.Clamp)(t.x,e.x,r.x),(0,o.Clamp)(t.y,e.y,r.y),(0,o.Clamp)(t.z,e.z,r.z),(0,o.Clamp)(t.w,e.w,r.w))}static Random(t=0,e=1){return new f((0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.copyFromFloats((0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e),(0,o.RandomRange)(t,e))}static Minimize(){throw ReferenceError("Quaternion.Minimize does not make sense")}static Maximize(){throw ReferenceError("Quaternion.Maximize does not make sense")}static Distance(t,e){return Math.sqrt(f.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t.x-e.x,i=t.y-e.y,s=t.z-e.z,o=t.w-e.w;return r*r+i*i+s*s+o*o}static Center(t,e){return f.CenterToRef(t,e,f.Zero())}static CenterToRef(t,e,r){return r.copyFromFloats((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2,(t.w+e.w)/2)}}f._V8PerformanceHack=new f(.5,.5,.5,.5);class R{static get Use64Bits(){return i.PerformanceConfigurator.MatrixUse64Bits}get m(){return this._m}markAsUpdated(){this.updateFlag=a._UpdateFlagSeed++,this._isIdentity=!1,this._isIdentity3x2=!1,this._isIdentityDirty=!0,this._isIdentity3x2Dirty=!0}_updateIdentityStatus(t,e=!1,r=!1,i=!0){this._isIdentity=t,this._isIdentity3x2=t||r,this._isIdentityDirty=!this._isIdentity&&e,this._isIdentity3x2Dirty=!this._isIdentity3x2&&i}constructor(){this._isIdentity=!1,this._isIdentityDirty=!0,this._isIdentity3x2=!0,this._isIdentity3x2Dirty=!0,this.updateFlag=-1,i.PerformanceConfigurator.MatrixTrackPrecisionChange&&i.PerformanceConfigurator.MatrixTrackedMatrices.push(this),this._m=new i.PerformanceConfigurator.MatrixCurrentType(16),this.markAsUpdated()}isIdentity(){if(this._isIdentityDirty){this._isIdentityDirty=!1;let t=this._m;this._isIdentity=1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]}return this._isIdentity}isIdentityAs3x2(){return this._isIdentity3x2Dirty&&(this._isIdentity3x2Dirty=!1,1!==this._m[0]||1!==this._m[5]||1!==this._m[15]||0!==this._m[1]||0!==this._m[2]||0!==this._m[3]||0!==this._m[4]||0!==this._m[6]||0!==this._m[7]||0!==this._m[8]||0!==this._m[9]||0!==this._m[10]||0!==this._m[11]||0!==this._m[12]||0!==this._m[13]||0!==this._m[14]?this._isIdentity3x2=!1:this._isIdentity3x2=!0),this._isIdentity3x2}determinant(){if(!0===this._isIdentity)return 1;let t=this._m,e=t[0],r=t[1],i=t[2],s=t[3],o=t[4],a=t[5],n=t[6],h=t[7],_=t[8],l=t[9],y=t[10],u=t[11],m=t[12],c=t[13],x=t[14],f=t[15],R=y*f-x*u,d=l*f-c*u,z=l*x-c*y,T=_*f-m*u,w=_*x-y*m,p=_*c-m*l;return e*(a*R-n*d+h*z)+-(r*(o*R-n*T+h*w))+i*(o*d-a*T+h*p)+-(s*(o*z-a*w+n*p))}toString(){return`{${this.m[0]}, ${this.m[1]}, ${this.m[2]}, ${this.m[3]}
2
- ${this.m[4]}, ${this.m[5]}, ${this.m[6]}, ${this.m[7]}
3
- ${this.m[8]}, ${this.m[9]}, ${this.m[10]}, ${this.m[11]}
4
- ${this.m[12]}, ${this.m[13]}, ${this.m[14]}, ${this.m[15]}}`}toArray(t=null,e=0){if(!t)return this._m;let r=this._m;for(let i=0;i<16;i++)t[e+i]=r[i];return this}asArray(){return this._m}fromArray(t,e=0){return R.FromArrayToRef(t,e,this)}copyFromFloats(...t){return R.FromArrayToRef(t,0,this)}set(...t){let e=this._m;for(let r=0;r<16;r++)e[r]=t[r];return this.markAsUpdated(),this}setAll(t){let e=this._m;for(let r=0;r<16;r++)e[r]=t;return this.markAsUpdated(),this}invert(){return this.invertToRef(this),this}reset(){return R.FromValuesToRef(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,this),this._updateIdentityStatus(!1),this}add(t){let e=new R;return this.addToRef(t,e),e}addToRef(t,e){let r=this._m,i=e._m,s=t.m;for(let t=0;t<16;t++)i[t]=r[t]+s[t];return e.markAsUpdated(),e}addToSelf(t){let e=this._m,r=t.m;return e[0]+=r[0],e[1]+=r[1],e[2]+=r[2],e[3]+=r[3],e[4]+=r[4],e[5]+=r[5],e[6]+=r[6],e[7]+=r[7],e[8]+=r[8],e[9]+=r[9],e[10]+=r[10],e[11]+=r[11],e[12]+=r[12],e[13]+=r[13],e[14]+=r[14],e[15]+=r[15],this.markAsUpdated(),this}addInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]+=r[t];return this.markAsUpdated(),this}addInPlaceFromFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]+=t[r];return this.markAsUpdated(),this}subtract(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]-=r[t];return this.markAsUpdated(),this}subtractToRef(t,e){let r=this._m,i=t.m,s=e._m;for(let t=0;t<16;t++)s[t]=r[t]-i[t];return e.markAsUpdated(),e}subtractInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]-=r[t];return this.markAsUpdated(),this}subtractFromFloats(...t){return this.subtractFromFloatsToRef(...t,new R)}subtractFromFloatsToRef(...t){let e=t.pop(),r=this._m,i=e._m;for(let e=0;e<16;e++)i[e]=r[e]-t[e];return e.markAsUpdated(),e}invertToRef(t){return!0===this._isIdentity?R.IdentityToRef(t):l(this,t.asArray())?t.markAsUpdated():t.copyFrom(this),t}addAtIndex(t,e){return this._m[t]+=e,this.markAsUpdated(),this}multiplyAtIndex(t,e){return this._m[t]*=e,this.markAsUpdated(),this}setTranslationFromFloats(t,e,r){return this._m[12]=t,this._m[13]=e,this._m[14]=r,this.markAsUpdated(),this}addTranslationFromFloats(t,e,r){return this._m[12]+=t,this._m[13]+=e,this._m[14]+=r,this.markAsUpdated(),this}setTranslation(t){return this.setTranslationFromFloats(t._x,t._y,t._z)}getTranslation(){return new c(this._m[12],this._m[13],this._m[14])}getTranslationToRef(t){return t.x=this._m[12],t.y=this._m[13],t.z=this._m[14],t}removeRotationAndScaling(){let t=this.m;return R.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,t[12],t[13],t[14],t[15],this),this._updateIdentityStatus(0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]),this}copyFrom(t){return t.copyToArray(this._m),this.updateFlag=t.updateFlag,this._updateIdentityStatus(t._isIdentity,t._isIdentityDirty,t._isIdentity3x2,t._isIdentity3x2Dirty),this}copyToArray(t,e=0){return _(this,t,e),this}multiply(t){let e=new R;return this.multiplyToRef(t,e),e}multiplyInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]*=r[t];return this.markAsUpdated(),this}multiplyByFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]*=t[r];return this.markAsUpdated(),this}multiplyByFloatsToRef(...t){let e=t.pop(),r=this._m,i=e._m;for(let e=0;e<16;e++)i[e]=r[e]*t[e];return e.markAsUpdated(),e}multiplyToRef(t,e){return this._isIdentity?e.copyFrom(t):t._isIdentity?e.copyFrom(this):(this.multiplyToArray(t,e._m,0),e.markAsUpdated()),e}multiplyToArray(t,e,r){return h(this,t,e,r),this}divide(t){return this.divideToRef(t,new R)}divideToRef(t,e){let r=this._m,i=t.m,s=e._m;for(let t=0;t<16;t++)s[t]=r[t]/i[t];return e.markAsUpdated(),e}divideInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]/=r[t];return this.markAsUpdated(),this}minimizeInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]=Math.min(e[t],r[t]);return this.markAsUpdated(),this}minimizeInPlaceFromFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]=Math.min(e[r],t[r]);return this.markAsUpdated(),this}maximizeInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]=Math.min(e[t],r[t]);return this.markAsUpdated(),this}maximizeInPlaceFromFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]=Math.min(e[r],t[r]);return this.markAsUpdated(),this}negate(){return this.negateToRef(new R)}negateInPlace(){let t=this._m;for(let e=0;e<16;e++)t[e]=-t[e];return this.markAsUpdated(),this}negateToRef(t){let e=this._m,r=t._m;for(let t=0;t<16;t++)r[t]=-e[t];return t.markAsUpdated(),t}equals(t){if(!t)return!1;if((this._isIdentity||t._isIdentity)&&!this._isIdentityDirty&&!t._isIdentityDirty)return this._isIdentity&&t._isIdentity;let e=this.m,r=t.m;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]}equalsWithEpsilon(t,e=0){let r=this._m,i=t.m;for(let t=0;t<16;t++)if(!(0,o.WithinEpsilon)(r[t],i[t],e))return!1;return!0}equalsToFloats(...t){let e=this._m;for(let r=0;r<16;r++)if(e[r]!=t[r])return!1;return!0}floor(){return this.floorToRef(new R)}floorToRef(t){let e=this._m,r=t._m;for(let t=0;t<16;t++)r[t]=Math.floor(e[t]);return t.markAsUpdated(),t}fract(){return this.fractToRef(new R)}fractToRef(t){let e=this._m,r=t._m;for(let t=0;t<16;t++)r[t]=e[t]-Math.floor(e[t]);return t.markAsUpdated(),t}clone(){let t=new R;return t.copyFrom(this),t}getClassName(){return"Matrix"}getHashCode(){let t=u(this._m[0]);for(let e=1;e<16;e++)t=397*t^u(this._m[e]);return t}decomposeToTransformNode(t){return t.rotationQuaternion=t.rotationQuaternion||new f,this.decompose(t.scaling,t.rotationQuaternion,t.position)}decompose(t,e,r,i,s=!0){if(this._isIdentity)return r&&r.setAll(0),t&&t.setAll(1),e&&e.copyFromFloats(0,0,0,1),!0;let o=this._m;if(r&&r.copyFromFloats(o[12],o[13],o[14]),(t=t||d.Vector3[0]).x=Math.sqrt(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]),t.y=Math.sqrt(o[4]*o[4]+o[5]*o[5]+o[6]*o[6]),t.z=Math.sqrt(o[8]*o[8]+o[9]*o[9]+o[10]*o[10]),i){let e=(s?i.absoluteScaling.x:i.scaling.x)<0?-1:1,r=(s?i.absoluteScaling.y:i.scaling.y)<0?-1:1,o=(s?i.absoluteScaling.z:i.scaling.z)<0?-1:1;t.x*=e,t.y*=r,t.z*=o}else 0>=this.determinant()&&(t.y*=-1);if(0===t._x||0===t._y||0===t._z)return e&&e.copyFromFloats(0,0,0,1),!1;if(e){let r=1/t._x,i=1/t._y,s=1/t._z;R.FromValuesToRef(o[0]*r,o[1]*r,o[2]*r,0,o[4]*i,o[5]*i,o[6]*i,0,o[8]*s,o[9]*s,o[10]*s,0,0,0,0,1,d.Matrix[0]),f.FromRotationMatrixToRef(d.Matrix[0],e)}return!0}getRow(t){if(t<0||t>3)return null;let e=4*t;return new x(this._m[e+0],this._m[e+1],this._m[e+2],this._m[e+3])}getRowToRef(t,e){if(t>=0&&t<=3){let r=4*t;e.x=this._m[r+0],e.y=this._m[r+1],e.z=this._m[r+2],e.w=this._m[r+3]}return e}setRow(t,e){return this.setRowFromFloats(t,e.x,e.y,e.z,e.w)}transpose(){let t=new R;return R.TransposeToRef(this,t),t}transposeToRef(t){return R.TransposeToRef(this,t),t}setRowFromFloats(t,e,r,i,s){if(t<0||t>3)return this;let o=4*t;return this._m[o+0]=e,this._m[o+1]=r,this._m[o+2]=i,this._m[o+3]=s,this.markAsUpdated(),this}scale(t){let e=new R;return this.scaleToRef(t,e),e}scaleToRef(t,e){for(let r=0;r<16;r++)e._m[r]=this._m[r]*t;return e.markAsUpdated(),e}scaleAndAddToRef(t,e){for(let r=0;r<16;r++)e._m[r]+=this._m[r]*t;return e.markAsUpdated(),e}scaleInPlace(t){let e=this._m;for(let r=0;r<16;r++)e[r]*=t;return this.markAsUpdated(),this}toNormalMatrix(t){let e=d.Matrix[0];this.invertToRef(e),e.transposeToRef(t);let r=t._m;return R.FromValuesToRef(r[0],r[1],r[2],0,r[4],r[5],r[6],0,r[8],r[9],r[10],0,0,0,0,1,t),t}getRotationMatrix(){let t=new R;return this.getRotationMatrixToRef(t),t}getRotationMatrixToRef(t){let e=d.Vector3[0];if(!this.decompose(e))return R.IdentityToRef(t),t;let r=this._m,i=1/e._x,s=1/e._y,o=1/e._z;return R.FromValuesToRef(r[0]*i,r[1]*i,r[2]*i,0,r[4]*s,r[5]*s,r[6]*s,0,r[8]*o,r[9]*o,r[10]*o,0,0,0,0,1,t),t}toggleModelMatrixHandInPlace(){let t=this._m;return t[2]*=-1,t[6]*=-1,t[8]*=-1,t[9]*=-1,t[14]*=-1,this.markAsUpdated(),this}toggleProjectionMatrixHandInPlace(){let t=this._m;return t[8]*=-1,t[9]*=-1,t[10]*=-1,t[11]*=-1,this.markAsUpdated(),this}static FromArray(t,e=0){let r=new R;return R.FromArrayToRef(t,e,r),r}static FromArrayToRef(t,e,r){for(let i=0;i<16;i++)r._m[i]=t[i+e];return r.markAsUpdated(),r}static FromFloat32ArrayToRefScaled(t,e,r,i){return i._m[0]=t[0+e]*r,i._m[1]=t[1+e]*r,i._m[2]=t[2+e]*r,i._m[3]=t[3+e]*r,i._m[4]=t[4+e]*r,i._m[5]=t[5+e]*r,i._m[6]=t[6+e]*r,i._m[7]=t[7+e]*r,i._m[8]=t[8+e]*r,i._m[9]=t[9+e]*r,i._m[10]=t[10+e]*r,i._m[11]=t[11+e]*r,i._m[12]=t[12+e]*r,i._m[13]=t[13+e]*r,i._m[14]=t[14+e]*r,i._m[15]=t[15+e]*r,i.markAsUpdated(),i}static get IdentityReadOnly(){return R._IdentityReadOnly}static FromValuesToRef(t,e,r,i,s,o,a,n,h,_,l,y,u,m,c,x,f){let R=f._m;R[0]=t,R[1]=e,R[2]=r,R[3]=i,R[4]=s,R[5]=o,R[6]=a,R[7]=n,R[8]=h,R[9]=_,R[10]=l,R[11]=y,R[12]=u,R[13]=m,R[14]=c,R[15]=x,f.markAsUpdated()}static FromValues(t,e,r,i,s,o,a,n,h,_,l,y,u,m,c,x){let f=new R,d=f._m;return d[0]=t,d[1]=e,d[2]=r,d[3]=i,d[4]=s,d[5]=o,d[6]=a,d[7]=n,d[8]=h,d[9]=_,d[10]=l,d[11]=y,d[12]=u,d[13]=m,d[14]=c,d[15]=x,f.markAsUpdated(),f}static Compose(t,e,r){let i=new R;return R.ComposeToRef(t,e,r,i),i}static ComposeToRef(t,e,r,i){let s=i._m,o=e._x,a=e._y,n=e._z,h=e._w,_=o+o,l=a+a,y=n+n,u=o*_,m=o*l,c=o*y,x=a*l,f=a*y,R=n*y,d=h*_,z=h*l,T=h*y,w=t._x,p=t._y,F=t._z;return s[0]=(1-(x+R))*w,s[1]=(m+T)*w,s[2]=(c-z)*w,s[3]=0,s[4]=(m-T)*p,s[5]=(1-(u+R))*p,s[6]=(f+d)*p,s[7]=0,s[8]=(c+z)*F,s[9]=(f-d)*F,s[10]=(1-(u+x))*F,s[11]=0,s[12]=r._x,s[13]=r._y,s[14]=r._z,s[15]=1,i.markAsUpdated(),i}static Identity(){let t=R.FromValues(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return t._updateIdentityStatus(!0),t}static IdentityToRef(t){return R.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,t),t._updateIdentityStatus(!0),t}static Zero(){let t=R.FromValues(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);return t._updateIdentityStatus(!1),t}static RotationX(t){let e=new R;return R.RotationXToRef(t,e),e}static Invert(t){let e=new R;return t.invertToRef(e),e}static RotationXToRef(t,e){let r=Math.sin(t),i=Math.cos(t);return R.FromValuesToRef(1,0,0,0,0,i,r,0,0,-r,i,0,0,0,0,1,e),e._updateIdentityStatus(1===i&&0===r),e}static RotationY(t){let e=new R;return R.RotationYToRef(t,e),e}static RotationYToRef(t,e){let r=Math.sin(t),i=Math.cos(t);return R.FromValuesToRef(i,0,-r,0,0,1,0,0,r,0,i,0,0,0,0,1,e),e._updateIdentityStatus(1===i&&0===r),e}static RotationZ(t){let e=new R;return R.RotationZToRef(t,e),e}static RotationZToRef(t,e){let r=Math.sin(t),i=Math.cos(t);return R.FromValuesToRef(i,r,0,0,-r,i,0,0,0,0,1,0,0,0,0,1,e),e._updateIdentityStatus(1===i&&0===r),e}static RotationAxis(t,e){let r=new R;return R.RotationAxisToRef(t,e,r),r}static RotationAxisToRef(t,e,r){let i=Math.sin(-e),s=Math.cos(-e),o=1-s;t=t.normalizeToRef(d.Vector3[0]);let a=r._m;return a[0]=t._x*t._x*o+s,a[1]=t._x*t._y*o-t._z*i,a[2]=t._x*t._z*o+t._y*i,a[3]=0,a[4]=t._y*t._x*o+t._z*i,a[5]=t._y*t._y*o+s,a[6]=t._y*t._z*o-t._x*i,a[7]=0,a[8]=t._z*t._x*o-t._y*i,a[9]=t._z*t._y*o+t._x*i,a[10]=t._z*t._z*o+s,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1,r.markAsUpdated(),r}static RotationAlignToRef(t,r,i,s=!1){let o=c.Dot(r,t),a=i._m;if(o<-1+e.Epsilon)a[0]=-1,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s?1:-1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=s?-1:1,a[11]=0;else{let e=c.Cross(r,t),i=1/(1+o);a[0]=e._x*e._x*i+o,a[1]=e._y*e._x*i-e._z,a[2]=e._z*e._x*i+e._y,a[3]=0,a[4]=e._x*e._y*i+e._z,a[5]=e._y*e._y*i+o,a[6]=e._z*e._y*i-e._x,a[7]=0,a[8]=e._x*e._z*i-e._y,a[9]=e._y*e._z*i+e._x,a[10]=e._z*e._z*i+o,a[11]=0}return a[12]=0,a[13]=0,a[14]=0,a[15]=1,i.markAsUpdated(),i}static RotationYawPitchRoll(t,e,r){let i=new R;return R.RotationYawPitchRollToRef(t,e,r,i),i}static RotationYawPitchRollToRef(t,e,r,i){return f.RotationYawPitchRollToRef(t,e,r,d.Quaternion[0]),d.Quaternion[0].toRotationMatrix(i),i}static Scaling(t,e,r){let i=new R;return R.ScalingToRef(t,e,r,i),i}static ScalingToRef(t,e,r,i){return R.FromValuesToRef(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1,i),i._updateIdentityStatus(1===t&&1===e&&1===r),i}static Translation(t,e,r){let i=new R;return R.TranslationToRef(t,e,r,i),i}static TranslationToRef(t,e,r,i){return R.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1,i),i._updateIdentityStatus(0===t&&0===e&&0===r),i}static Lerp(t,e,r){let i=new R;return R.LerpToRef(t,e,r,i),i}static LerpToRef(t,e,r,i){let s=i._m,o=t.m,a=e.m;for(let t=0;t<16;t++)s[t]=o[t]*(1-r)+a[t]*r;return i.markAsUpdated(),i}static DecomposeLerp(t,e,r){let i=new R;return R.DecomposeLerpToRef(t,e,r,i),i}static DecomposeLerpToRef(t,e,r,i){let s=d.Vector3[0],o=d.Quaternion[0],a=d.Vector3[1];t.decompose(s,o,a);let n=d.Vector3[2],h=d.Quaternion[1],_=d.Vector3[3];e.decompose(n,h,_);let l=d.Vector3[4];c.LerpToRef(s,n,r,l);let y=d.Quaternion[2];f.SlerpToRef(o,h,r,y);let u=d.Vector3[5];return c.LerpToRef(a,_,r,u),R.ComposeToRef(l,y,u,i),i}static LookAtLH(t,e,r){let i=new R;return R.LookAtLHToRef(t,e,r,i),i}static LookAtLHToRef(t,e,r,i){let s=d.Vector3[0],o=d.Vector3[1],a=d.Vector3[2];e.subtractToRef(t,a),a.normalize(),c.CrossToRef(r,a,s);let n=s.lengthSquared();0===n?s.x=1:s.normalizeFromLength(Math.sqrt(n)),c.CrossToRef(a,s,o),o.normalize();let h=-c.Dot(s,t),_=-c.Dot(o,t),l=-c.Dot(a,t);return R.FromValuesToRef(s._x,o._x,a._x,0,s._y,o._y,a._y,0,s._z,o._z,a._z,0,h,_,l,1,i),i}static LookAtRH(t,e,r){let i=new R;return R.LookAtRHToRef(t,e,r,i),i}static LookAtRHToRef(t,e,r,i){let s=d.Vector3[0],o=d.Vector3[1],a=d.Vector3[2];t.subtractToRef(e,a),a.normalize(),c.CrossToRef(r,a,s);let n=s.lengthSquared();0===n?s.x=1:s.normalizeFromLength(Math.sqrt(n)),c.CrossToRef(a,s,o),o.normalize();let h=-c.Dot(s,t),_=-c.Dot(o,t),l=-c.Dot(a,t);return R.FromValuesToRef(s._x,o._x,a._x,0,s._y,o._y,a._y,0,s._z,o._z,a._z,0,h,_,l,1,i),i}static LookDirectionLH(t,e){let r=new R;return R.LookDirectionLHToRef(t,e,r),r}static LookDirectionLHToRef(t,e,r){let i=d.Vector3[0];i.copyFrom(t),i.scaleInPlace(-1);let s=d.Vector3[1];return c.CrossToRef(e,i,s),R.FromValuesToRef(s._x,s._y,s._z,0,e._x,e._y,e._z,0,i._x,i._y,i._z,0,0,0,0,1,r),r}static LookDirectionRH(t,e){let r=new R;return R.LookDirectionRHToRef(t,e,r),r}static LookDirectionRHToRef(t,e,r){let i=d.Vector3[2];return c.CrossToRef(e,t,i),R.FromValuesToRef(i._x,i._y,i._z,0,e._x,e._y,e._z,0,t._x,t._y,t._z,0,0,0,0,1,r),r}static OrthoLH(t,e,r,i,s){let o=new R;return R.OrthoLHToRef(t,e,r,i,o,s),o}static OrthoLHToRef(t,e,r,i,s,o){let a=2/t,n=2/e,h=2/(i-r),_=-(i+r)/(i-r);return R.FromValuesToRef(a,0,0,0,0,n,0,0,0,0,h,0,0,0,_,1,s),o&&s.multiplyToRef(T,s),s._updateIdentityStatus(1===a&&1===n&&1===h&&0===_),s}static OrthoOffCenterLH(t,e,r,i,s,o,a){let n=new R;return R.OrthoOffCenterLHToRef(t,e,r,i,s,o,n,a),n}static OrthoOffCenterLHToRef(t,e,r,i,s,o,a,n){return R.FromValuesToRef(2/(e-t),0,0,0,0,2/(i-r),0,0,0,0,2/(o-s),0,(t+e)/(t-e),(i+r)/(r-i),-(o+s)/(o-s),1,a),n&&a.multiplyToRef(T,a),a.markAsUpdated(),a}static ObliqueOffCenterLHToRef(t,e,r,i,s,o,a,n,h,_,l){let y=-a*Math.cos(n),u=-a*Math.sin(n);return R.TranslationToRef(0,0,-h,d.Matrix[1]),R.FromValuesToRef(1,0,0,0,0,1,0,0,y,u,1,0,0,0,0,1,d.Matrix[0]),d.Matrix[1].multiplyToRef(d.Matrix[0],d.Matrix[0]),R.TranslationToRef(0,0,h,d.Matrix[1]),d.Matrix[0].multiplyToRef(d.Matrix[1],d.Matrix[0]),R.OrthoOffCenterLHToRef(t,e,r,i,s,o,_,l),d.Matrix[0].multiplyToRef(_,_),_}static OrthoOffCenterRH(t,e,r,i,s,o,a){let n=new R;return R.OrthoOffCenterRHToRef(t,e,r,i,s,o,n,a),n}static OrthoOffCenterRHToRef(t,e,r,i,s,o,a,n){return R.OrthoOffCenterLHToRef(t,e,r,i,s,o,a,n),a._m[10]*=-1,a}static ObliqueOffCenterRHToRef(t,e,r,i,s,o,a,n,h,_,l){let y=a*Math.cos(n),u=a*Math.sin(n);return R.TranslationToRef(0,0,h,d.Matrix[1]),R.FromValuesToRef(1,0,0,0,0,1,0,0,y,u,1,0,0,0,0,1,d.Matrix[0]),d.Matrix[1].multiplyToRef(d.Matrix[0],d.Matrix[0]),R.TranslationToRef(0,0,-h,d.Matrix[1]),d.Matrix[0].multiplyToRef(d.Matrix[1],d.Matrix[0]),R.OrthoOffCenterRHToRef(t,e,r,i,s,o,_,l),d.Matrix[0].multiplyToRef(_,_),_}static PerspectiveLH(t,e,r,i,s,o=0){let a=new R,n=Math.tan(o);return R.FromValuesToRef(2*r/t,0,0,0,0,2*r/e,0,n,0,0,(i+r)/(i-r),1,0,0,-2*i*r/(i-r),0,a),s&&a.multiplyToRef(T,a),a._updateIdentityStatus(!1),a}static PerspectiveFovLH(t,e,r,i,s,o=0,a=!1){let n=new R;return R.PerspectiveFovLHToRef(t,e,r,i,n,!0,s,o,a),n}static PerspectiveFovLHToRef(t,e,r,i,s,o=!0,a,n=0,h=!1){let _=1/Math.tan(.5*t),l=o?_/e:_,y=o?_:_*e,u=h&&0===r?-1:0!==i?(i+r)/(i-r):1,m=h&&0===r?2*i:0!==i?-2*i*r/(i-r):-2*r,c=Math.tan(n);return R.FromValuesToRef(l,0,0,0,0,y,0,c,0,0,u,1,0,0,m,0,s),a&&s.multiplyToRef(T,s),s._updateIdentityStatus(!1),s}static PerspectiveFovReverseLHToRef(t,e,r,i,s,o=!0,a,n=0){let h=1/Math.tan(.5*t),_=o?h/e:h,l=o?h:h*e,y=Math.tan(n);return R.FromValuesToRef(_,0,0,0,0,l,0,y,0,0,-r,1,0,0,1,0,s),a&&s.multiplyToRef(T,s),s._updateIdentityStatus(!1),s}static PerspectiveFovRH(t,e,r,i,s,o=0,a=!1){let n=new R;return R.PerspectiveFovRHToRef(t,e,r,i,n,!0,s,o,a),n}static PerspectiveFovRHToRef(t,e,r,i,s,o=!0,a,n=0,h=!1){let _=1/Math.tan(.5*t),l=o?_/e:_,y=o?_:_*e,u=h&&0===r?1:0!==i?-(i+r)/(i-r):-1,m=h&&0===r?2*i:0!==i?-2*i*r/(i-r):-2*r,c=Math.tan(n);return R.FromValuesToRef(l,0,0,0,0,y,0,c,0,0,u,-1,0,0,m,0,s),a&&s.multiplyToRef(T,s),s._updateIdentityStatus(!1),s}static PerspectiveFovReverseRHToRef(t,e,r,i,s,o=!0,a,n=0){let h=1/Math.tan(.5*t),_=o?h/e:h,l=o?h:h*e,y=Math.tan(n);return R.FromValuesToRef(_,0,0,0,0,l,0,y,0,0,-r,-1,0,0,-1,0,s),a&&s.multiplyToRef(T,s),s._updateIdentityStatus(!1),s}static GetFinalMatrix(t,e,r,i,s,o){let a=t.width,n=t.height,h=t.x,_=t.y,l=R.FromValues(a/2,0,0,0,0,-n/2,0,0,0,0,o-s,0,h+a/2,n/2+_,s,1),y=new R;return e.multiplyToRef(r,y),y.multiplyToRef(i,y),y.multiplyToRef(l,y)}static GetAsMatrix2x2(t){let e=t.m,r=[e[0],e[1],e[4],e[5]];return i.PerformanceConfigurator.MatrixUse64Bits?r:new Float32Array(r)}static GetAsMatrix3x3(t){let e=t.m,r=[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]];return i.PerformanceConfigurator.MatrixUse64Bits?r:new Float32Array(r)}static Transpose(t){let e=new R;return R.TransposeToRef(t,e),e}static TransposeToRef(t,e){let r=t.m,i=r[0],s=r[4],o=r[8],a=r[12],n=r[1],h=r[5],_=r[9],l=r[13],y=r[2],u=r[6],m=r[10],c=r[14],x=r[3],f=r[7],R=r[11],d=r[15],z=e._m;return z[0]=i,z[1]=s,z[2]=o,z[3]=a,z[4]=n,z[5]=h,z[6]=_,z[7]=l,z[8]=y,z[9]=u,z[10]=m,z[11]=c,z[12]=x,z[13]=f,z[14]=R,z[15]=d,e.markAsUpdated(),e._updateIdentityStatus(t._isIdentity,t._isIdentityDirty),e}static Reflection(t){let e=new R;return R.ReflectionToRef(t,e),e}static ReflectionToRef(t,e){t.normalize();let r=t.normal.x,i=t.normal.y,s=t.normal.z,o=-2*r,a=-2*i,n=-2*s;return R.FromValuesToRef(o*r+1,a*r,n*r,0,o*i,a*i+1,n*i,0,o*s,a*s,n*s+1,0,o*t.d,a*t.d,n*t.d,1,e),e}static FromXYZAxesToRef(t,e,r,i){return R.FromValuesToRef(t._x,t._y,t._z,0,e._x,e._y,e._z,0,r._x,r._y,r._z,0,0,0,0,1,i),i}static FromQuaternionToRef(t,e){let r=t._x*t._x,i=t._y*t._y,s=t._z*t._z,o=t._x*t._y,a=t._z*t._w,n=t._z*t._x,h=t._y*t._w,_=t._y*t._z,l=t._x*t._w;return e._m[0]=1-2*(i+s),e._m[1]=2*(o+a),e._m[2]=2*(n-h),e._m[3]=0,e._m[4]=2*(o-a),e._m[5]=1-2*(s+r),e._m[6]=2*(_+l),e._m[7]=0,e._m[8]=2*(n+h),e._m[9]=2*(_-l),e._m[10]=1-2*(i+r),e._m[11]=0,e._m[12]=0,e._m[13]=0,e._m[14]=0,e._m[15]=1,e.markAsUpdated(),e}}R._IdentityReadOnly=R.Identity();class d{}d.Vector3=(0,r.BuildTuple)(11,c.Zero),d.Matrix=(0,r.BuildTuple)(2,R.Identity),d.Quaternion=(0,r.BuildTuple)(3,f.Zero);class z{}z.Vector2=(0,r.BuildTuple)(3,m.Zero),z.Vector3=(0,r.BuildTuple)(13,c.Zero),z.Vector4=(0,r.BuildTuple)(3,x.Zero),z.Quaternion=(0,r.BuildTuple)(3,f.Zero),z.Matrix=(0,r.BuildTuple)(8,R.Identity);let T=R.FromValues(1,0,0,0,0,1,0,0,0,0,.5,0,0,0,.5,1),w=!1;t.s(["Matrix",0,R,"Quaternion",0,f,"RegisterMathVector",0,function(){w||(w=!0,Object.defineProperties(m.prototype,{dimension:{value:[2]},rank:{value:1}}),Object.defineProperties(c.prototype,{dimension:{value:[3]},rank:{value:1}}),Object.defineProperties(x.prototype,{dimension:{value:[4]},rank:{value:1}}),Object.defineProperties(f.prototype,{dimension:{value:[4]},rank:{value:1}}),Object.defineProperties(R.prototype,{dimension:{value:[4,4]},rank:{value:2}}),(0,y.RegisterClass)("BABYLON.Vector2",m),(0,y.RegisterClass)("BABYLON.Vector3",c),(0,y.RegisterClass)("BABYLON.Vector4",x),(0,y.RegisterClass)("BABYLON.Matrix",R))},"TmpVectors",0,z,"Vector2",0,m,"Vector3",0,c,"Vector4",0,x],95410)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2348,2413,e=>{"use strict";let t=1/1.2;e.s(["ZOOM_IN_FACTOR",0,t,"ZOOM_OUT_FACTOR",0,1.2,"attachDoubleClickFocus",0,function(e,t,s){let n=()=>{let t=e.pick(e.pointerX,e.pointerY);t?.hit&&t.pickedPoint&&s.setTarget(t.pickedPoint)};return t.addEventListener("dblclick",n),()=>t.removeEventListener("dblclick",n)},"disableWheelZoom",0,function(e){e.inputs.removeByType("ArcRotateCameraMouseWheelInput")},"resetFocus",0,function(e,t){e.setTarget(t.target),e.alpha=t.alpha,e.beta=t.beta,e.radius=t.radius},"stepZoom",0,function(e,t){let s=e.lowerRadiusLimit??.01,n=e.upperRadiusLimit??1/0;e.radius=Math.min(n,Math.max(s,e.radius*t))}],2348);var s=e.i(46369);e.s(["ZoomButtons",0,function({onZoom:e,onReset:n}){let a="grid h-8 w-8 place-items-center rounded-md border border-edge bg-ink/80 text-lg leading-none text-fg backdrop-blur transition hover:bg-ink hover:text-white";return(0,s.jsxs)("div",{className:"absolute right-3 top-3 flex flex-col gap-1",children:[(0,s.jsx)("button",{type:"button","aria-label":"Zoom in",className:a,onClick:()=>e(t),children:"+"}),(0,s.jsx)("button",{type:"button","aria-label":"Zoom out",className:a,onClick:()=>e(1.2),children:"−"}),n?(0,s.jsx)("button",{type:"button","aria-label":"Reset camera focus to center",title:"Reset focus to center",className:a,onClick:n,children:(0,s.jsxs)("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[(0,s.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,s.jsx)("path",{d:"M8 1v2.5M8 12.5V15M1 8h2.5M12.5 8H15"})]})}):null]})}],2413)},87456,e=>{"use strict";e.s(["attachMeshHover",0,function(e,t,s){let n=0,a=null,c=t=>{let c=t.offsetX,i=t.offsetY;n||(n=requestAnimationFrame(()=>{var t,r;let l;n=0;let u=e.pick(c,i,e=>e.isPickable&&e.isEnabled()),o=u?.pickedMesh?(t=u.pickedMesh,r=u.thinInstanceIndex??-1,(l=t.metadata)?r>=0&&l.hoverLabels?l.hoverLabels[r]??null:l.hoverLabel??null:null):null;o?s({label:o,x:c,y:i}):null!==a&&s(null),a=o}))},i=()=>{n&&(cancelAnimationFrame(n),n=0),null!==a&&(a=null,s(null))};return t.addEventListener("pointermove",c),t.addEventListener("pointerleave",i),()=>{t.removeEventListener("pointermove",c),t.removeEventListener("pointerleave",i),n&&cancelAnimationFrame(n)}}])},39592,e=>{"use strict";var t=e.i(46369),s=e.i(19594),n=e.i(56054),a=e.i(2348),c=e.i(87456),i=e.i(2413);function r(e){let t=Math.min(1,Math.max(0,e));return[.118+(.22-.118)*t,.227+.513*t,.541+(.97-.541)*t]}function l(e){return`${e.vx}|${e.vy}|${e.vz}`}function u({mode:e}){return(0,t.jsxs)("div",{className:"absolute bottom-3 right-3 max-w-72 rounded-md border border-edge bg-ink/80 px-2 py-1.5 text-xs text-fg backdrop-blur",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-[#38bdf8]"}),"divergence"===e?"Gaze-heavy":"Gaze"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-[#f4c84b]"}),"divergence"===e?"Click-heavy":"Clicks"]})]}),(0,t.jsx)("p",{className:"mt-1 text-fg-muted",children:"divergence"===e?"Per-voxel normalized difference: which signal dominates each cell. Color & size scale with the gap.":"Gaze = where viewers looked; Clicks = where they acted. Cells with gaze but no clicks are looked-at but un-acted-on."})]})}function o({active:e,onClick:s,children:n}){return(0,t.jsx)("button",{type:"button",onClick:s,className:`rounded px-2 py-0.5 font-medium transition ${e?"bg-amber text-ink":"text-fg-muted hover:text-fg"}`,children:n})}e.s(["GazeClickDivergence3DView",0,function({gazeVoxels:h,clickVoxels:d,cellSize:k,proxyMeshes:m=[]}){let b=(0,s.useRef)(null),v=(0,s.useRef)(null),j=(0,s.useRef)(null),[f,x]=(0,s.useState)("loading"),[p,g]=(0,s.useState)(null),[y,w]=(0,s.useState)("overlay"),[z,C]=(0,s.useState)(null),M=(0,s.useRef)(h),_=(0,s.useRef)(d),A=(0,s.useRef)(m),R=(0,s.useRef)(y);M.current=h,_.current=d,A.current=m,R.current=y;let q=(0,s.useRef)(null),P=h.length>0||d.length>0||m.length>0;return(0,s.useEffect)(()=>{let t=b.current;if(!t)return;if(!P)return void x("empty");let s=!1,i=null;return x("loading"),g(null),(async()=>{try{let[{Engine:u},{Scene:o},{ArcRotateCamera:h},{HemisphericLight:d},{Vector3:m,Color3:b,Color4:f,Matrix:p},{MeshBuilder:g},{StandardMaterial:y}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(34486),e.A(87961)]);if(s)return;let w=M.current,z=_.current,P=A.current,N=[...w,...z],L=0,E=0,F=0,T=0;for(let e of N)L+=(e.vx+.5)*k,E+=(e.vy+.5)*k,F+=(e.vz+.5)*k,T++;if(0===T)for(let e of P)L+=(e.aabb[0]+e.aabb[3])/2,E+=(e.aabb[1]+e.aabb[4])/2,F+=(e.aabb[2]+e.aabb[5])/2,T++;let S=new m(L/T,E/T,F/T),B=4*k;for(let e of N){let t=(e.vx+.5)*k-S.x,s=(e.vy+.5)*k-S.y,n=(e.vz+.5)*k-S.z;B=Math.max(B,Math.sqrt(t*t+s*s+n*n))}for(let e of P){let t=(e.aabb[0]+e.aabb[3])/2-S.x,s=(e.aabb[1]+e.aabb[4])/2-S.y,n=(e.aabb[2]+e.aabb[5])/2-S.z;B=Math.max(B,Math.sqrt(t*t+s*s+n*n))}let O=new u(t,!0,{preserveDrawingBuffer:!1}),Z=new o(O);Z.clearColor=new f(.04,.05,.07,1);let I=new h("divergence-cam",Math.PI/4,Math.PI/3,2.4*B,S,Z);I.attachControl(t,!0),(0,a.disableWheelZoom)(I),v.current=I,j.current={target:S,alpha:I.alpha,beta:I.beta,radius:I.radius},new d("divergence-light",new m(.4,1,.3),Z);let D=null,G="\0",$=Math.max(.02*B,.25*k)/(.9*k),W=[],H=(e,t,s,n,a)=>{if(0===t.length)return;let c=g.CreateSphere(e,{diameter:.9*k,segments:6},Z),i=new y(`${e}-mat`,Z);i.diffuseColor=new b(1,1,1),i.specularColor=new b(0,0,0),c.material=i,c.metadata={hoverLabel:a},W.push(c);let r=t.length,l=new Float32Array(16*r),u=new Float32Array(4*r);for(let e=0;e<r;e++){let a=t[e],c=a.count/s,i=$*(.5+.5*c);p.Scaling(i,i,i).multiply(p.Translation((a.vx+.5)*k,(a.vy+.5)*k,(a.vz+.5)*k)).copyToArray(l,16*e);let[r,o,h]=n(c);u[4*e]=r,u[4*e+1]=o,u[4*e+2]=h,u[4*e+3]=1}c.thinInstanceSetBuffer("matrix",l,16,!1),c.thinInstanceSetBuffer("color",u,4,!0)},K=()=>{for(let e of((()=>{let e=A.current,t=e.map(e=>`${e.name}:${e.aabb.join(",")}`).join("|");if(t===G||(G=t,D&&(D.dispose(!1,!0),D=null),0===e.length))return;D=g.CreateBox("scene-proxy",{size:1},Z);let s=new y("scene-proxy-mat",Z);s.wireframe=!0,s.disableLighting=!0,s.emissiveColor=new b(.32,.4,.52),s.alpha=.35,D.material=s,D.isPickable=!0,D.thinInstanceEnablePicking=!0,D.metadata={hoverLabels:e.map(e=>e.name)};let n=e.length,a=new Float32Array(16*n);for(let t=0;t<n;t++){let s=e[t].aabb,n=Math.max(s[3]-s[0],.001),c=Math.max(s[4]-s[1],.001),i=Math.max(s[5]-s[2],.001);p.Scaling(n,c,i).multiply(p.Translation((s[0]+s[3])/2,(s[1]+s[4])/2,(s[2]+s[5])/2)).copyToArray(a,16*t)}D.thinInstanceSetBuffer("matrix",a,16,!0)})(),W))e.dispose(!1,!0);W=[];let e=M.current,t=_.current,s=e.reduce((e,t)=>Math.max(e,t.count),1),a=t.reduce((e,t)=>Math.max(e,t.count),1),c=R.current;if("divergence"===c){let c=new Map(e.map(e=>[l(e),e])),i=new Map(t.map(e=>[l(e),e])),u=new Set([...c.keys(),...i.keys()]),o=[],h=[];for(let e of u){let t=(c.get(e)?.count??0)/s,n=(i.get(e)?.count??0)/a,r=i.get(e)??c.get(e),l=n-t,u={vx:r.vx,vy:r.vy,vz:r.vz,count:1e3*Math.abs(l)};(l>=0?o:h).push(u)}H("div-click",o,1e3,n.heatRgb,"Click-heavy"),H("div-gaze",h,1e3,r,"Gaze-heavy")}else("overlay"===c||"gaze"===c)&&H("gaze-voxel",e,s,r,"Gaze"),("overlay"===c||"click"===c)&&H("click-voxel",t,a,n.heatRgb,"Click")};q.current=K,K(),O.runRenderLoop(()=>Z.render());let U=()=>O.resize();window.addEventListener("resize",U);let V=(0,c.attachMeshHover)(Z,t,C),X=(0,a.attachDoubleClickFocus)(Z,t,I);x("ready"),i=()=>{window.removeEventListener("resize",U),V(),X(),C(null),q.current=null,v.current=null,j.current=null,Z.dispose(),O.dispose()}}catch(e){if(s)return;x("error"),g(e instanceof Error?e.message:"Failed to render overlay.")}})(),()=>{s=!0,i?.()}},[P,k]),(0,s.useEffect)(()=>{q.current?.()},[h,d,m,k,y]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:b,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),z?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-64 truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:z.x+12,top:z.y+12},children:z.label}):null,"ready"===f?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(o,{active:"overlay"===y,onClick:()=>w("overlay"),children:"Overlay"}),(0,t.jsx)(o,{active:"gaze"===y,onClick:()=>w("gaze"),children:"Gaze"}),(0,t.jsx)(o,{active:"click"===y,onClick:()=>w("click"),children:"Clicks"}),(0,t.jsx)(o,{active:"divergence"===y,onClick:()=>w("divergence"),children:"Divergence"})]}),(0,t.jsx)(i.ZoomButtons,{onZoom:e=>v.current&&(0,a.stepZoom)(v.current,e),onReset:()=>v.current&&j.current&&(0,a.resetFocus)(v.current,j.current)}),(0,t.jsx)(u,{mode:y})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===f?"Rendering…":"empty"===f?"No gaze or click hit-points in range. Enable gaze + pointer capture in the SDK.":"error"===f?p??"Overlay unavailable.":null})]})}])},95338,e=>{e.v(t=>Promise.all(["static/chunks/21at65obnoo8z.js","static/chunks/08m_4cihfmik8.js","static/chunks/2uhrhq35bki6u.js","static/chunks/1di5enkavl9vx.js","static/chunks/1gtj_l5ame5mw.js","static/chunks/0ti58h622yo-_.js","static/chunks/2btabnibkm0db.js"].map(t=>e.l(t))).then(()=>t(62619)))},79935,e=>{e.v(t=>Promise.all(["static/chunks/1dfwa563iciz3.js","static/chunks/00g5suuoa-_wn.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0ti58h622yo-_.js","static/chunks/0bgcaf2x51kms.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/0ubxyut5rr600.js"].map(t=>e.l(t))).then(()=>t(90189)))},49958,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/21at65obnoo8z.js","static/chunks/1xbzxfeq9789f.js","static/chunks/1i4f3n_2_3ery.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0u8yr4k1y6m2t.js"].map(t=>e.l(t))).then(()=>t(50734)))},7513,e=>{e.v(t=>Promise.all(["static/chunks/3ed24zmt8qfys.js","static/chunks/09ppu_k464q-n.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(67984)))},58532,e=>{e.v(t=>Promise.all(["static/chunks/3c_31f20z4jrl.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(29959)))},43302,e=>{e.v(t=>Promise.all(["static/chunks/3ckp70rgr63u9.js","static/chunks/00g5suuoa-_wn.js","static/chunks/026vw95s88gsy.js","static/chunks/20qelrstvz9_n.js","static/chunks/21at65obnoo8z.js","static/chunks/1_8acnu6_-qe-.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3a_khw6q6pyh1.js"].map(t=>e.l(t))).then(()=>t(16874)))},61027,e=>{e.v(t=>Promise.all(["static/chunks/2si5cg3hl5dtf.js","static/chunks/2h5hase6ewoyc.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1bmyq1b0by7ug.js","static/chunks/21at65obnoo8z.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0bgcaf2x51kms.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/1di5enkavl9vx.js"].map(t=>e.l(t))).then(()=>t(27455)))},34486,e=>{e.v(t=>Promise.all(["static/chunks/34y7nx6qmat06.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/1di5enkavl9vx.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(90951)))},87961,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3qatb38-tk_gd.js","static/chunks/1di5enkavl9vx.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js"].map(t=>e.l(t))).then(()=>t(87531)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2348,2413,t=>{"use strict";let e=1/1.2;t.s(["ZOOM_IN_FACTOR",0,e,"ZOOM_OUT_FACTOR",0,1.2,"attachDoubleClickFocus",0,function(t,e,s){let a=()=>{let e=t.pick(t.pointerX,t.pointerY);e?.hit&&e.pickedPoint&&s.setTarget(e.pickedPoint)};return e.addEventListener("dblclick",a),()=>e.removeEventListener("dblclick",a)},"disableWheelZoom",0,function(t){t.inputs.removeByType("ArcRotateCameraMouseWheelInput")},"resetFocus",0,function(t,e){t.setTarget(e.target),t.alpha=e.alpha,t.beta=e.beta,t.radius=e.radius},"stepZoom",0,function(t,e){let s=t.lowerRadiusLimit??.01,a=t.upperRadiusLimit??1/0;t.radius=Math.min(a,Math.max(s,t.radius*e))}],2348);var s=t.i(46369);t.s(["ZoomButtons",0,function({onZoom:t,onReset:a}){let n="grid h-8 w-8 place-items-center rounded-md border border-edge bg-ink/80 text-lg leading-none text-fg backdrop-blur transition hover:bg-ink hover:text-white";return(0,s.jsxs)("div",{className:"absolute right-3 top-3 flex flex-col gap-1",children:[(0,s.jsx)("button",{type:"button","aria-label":"Zoom in",className:n,onClick:()=>t(e),children:"+"}),(0,s.jsx)("button",{type:"button","aria-label":"Zoom out",className:n,onClick:()=>t(1.2),children:"−"}),a?(0,s.jsx)("button",{type:"button","aria-label":"Reset camera focus to center",title:"Reset focus to center",className:n,onClick:a,children:(0,s.jsxs)("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[(0,s.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,s.jsx)("path",{d:"M8 1v2.5M8 12.5V15M1 8h2.5M12.5 8H15"})]})}):null]})}],2413)},87456,t=>{"use strict";t.s(["attachMeshHover",0,function(t,e,s){let a=0,n=null,i=e=>{let i=e.offsetX,r=e.offsetY;a||(a=requestAnimationFrame(()=>{var e,c;let l;a=0;let o=t.pick(i,r,t=>t.isPickable&&t.isEnabled()),u=o?.pickedMesh?(e=o.pickedMesh,c=o.thinInstanceIndex??-1,(l=e.metadata)?c>=0&&l.hoverLabels?l.hoverLabels[c]??null:l.hoverLabel??null:null):null;u?s({label:u,x:i,y:r}):null!==n&&s(null),n=u}))},r=()=>{a&&(cancelAnimationFrame(a),a=0),null!==n&&(n=null,s(null))};return e.addEventListener("pointermove",i),e.addEventListener("pointerleave",r),()=>{e.removeEventListener("pointermove",i),e.removeEventListener("pointerleave",r),a&&cancelAnimationFrame(a)}}])},53993,t=>{"use strict";var e=t.i(46369),s=t.i(19594),a=t.i(56054),n=t.i(2348),i=t.i(87456),r=t.i(18637),c=t.i(2413);function l({shape:t,onChange:s}){let a=t=>`h-8 px-2.5 text-xs font-medium leading-none transition first:rounded-l-md last:rounded-r-md ${t?"bg-ink text-white":"bg-ink/80 text-fg hover:text-white"}`,n="sphere"===t,i="cube"===t;return(0,e.jsxs)("div",{className:"absolute left-3 top-3 flex overflow-hidden rounded-md border border-edge backdrop-blur",role:"group","aria-label":"Voxel marker shape",children:[(0,e.jsx)("button",{type:"button",className:a(n),"aria-pressed":n,onClick:()=>s("sphere"),children:"Spheres"}),(0,e.jsx)("button",{type:"button",className:a(i),"aria-pressed":i,onClick:()=>s("cube"),children:"Cubes"})]})}t.s(["WorldHeatmap3DView",0,function({voxels:o,cellSize:u,proxyMeshes:h=[],legendTitle:d="Pointer-hit density",legendLow:k="few hits",legendHigh:b="most hits",legendNote:m="Each marker is a voxel where the pointer hit your scene. Color & size scale with hits, normalized to the 95th-percentile cell so a few hotspots don't wash out the rest.",emptyLabel:j="No 3D hit-points in range.",totals:f,voxelLabels:p}){let v=(0,s.useRef)(null),x=(0,s.useRef)(null),g=(0,s.useRef)(null),[w,y]=(0,s.useState)("loading"),[z,M]=(0,s.useState)(null),[_,L]=(0,s.useState)("sphere"),[A,C]=(0,s.useState)(null),P=(0,s.useRef)(o),q=(0,s.useRef)(h),R=(0,s.useRef)(p);P.current=o,q.current=h,R.current=p;let S=(0,s.useRef)(null),F=o.length>0||h.length>0;(0,s.useEffect)(()=>{let e=v.current;if(!e)return;if(!F)return void y("empty");let s=!1,r=null;return y("loading"),M(null),(async()=>{try{let[{Engine:c},{Scene:l},{ArcRotateCamera:o},{HemisphericLight:h},{Vector3:d,Color3:k,Color4:b,Matrix:m},{MeshBuilder:j},{StandardMaterial:f}]=await Promise.all([t.A(95338),t.A(79935),t.A(49958),t.A(7513),t.A(58532),t.A(43302),t.A(61027),t.A(34486),t.A(87961)]);if(s)return;let p=P.current,v=q.current,w=0,z=0,M=0,L=0;for(let t of p)w+=(t.vx+.5)*u,z+=(t.vy+.5)*u,M+=(t.vz+.5)*u,L++;if(0===L)for(let t of v)w+=(t.aabb[0]+t.aabb[3])/2,z+=(t.aabb[1]+t.aabb[4])/2,M+=(t.aabb[2]+t.aabb[5])/2,L++;let A=new d(w/L,z/L,M/L),F=4*u;for(let t of p){let e=(t.vx+.5)*u-A.x,s=(t.vy+.5)*u-A.y,a=(t.vz+.5)*u-A.z;F=Math.max(F,Math.sqrt(e*e+s*s+a*a))}for(let t of v){let e=(t.aabb[0]+t.aabb[3])/2-A.x,s=(t.aabb[1]+t.aabb[4])/2-A.y,a=(t.aabb[2]+t.aabb[5])/2-A.z;F=Math.max(F,Math.sqrt(e*e+s*s+a*a))}let E=new c(e,!0,{preserveDrawingBuffer:!1}),B=new l(E);B.clearColor=new b(.04,.05,.07,1);let T=new o("world-cam",Math.PI/4,Math.PI/3,2.4*F,A,B);T.attachControl(e,!0),(0,n.disableWheelZoom)(T),x.current=T,g.current={target:A,alpha:T.alpha,beta:T.beta,radius:T.radius},new h("world-light",new d(.4,1,.3),B);let N=Math.max(.02*F,.25*u)/(.9*u),I=T.radius,Z="cube"===_?j.CreateBox("world-voxel",{size:.9*u},B):j.CreateSphere("world-voxel",{diameter:.9*u,segments:6},B),O=new f("world-voxel-mat",B);O.diffuseColor=new k(1,1,1),O.specularColor=new k(0,0,0),Z.material=O;let $=0,H=new Float32Array(0),D=new Float32Array(0),V=-1,W=()=>{if(0===$)return;let t=Math.min(8,Math.max(.6,T.radius/I));if(!(.01>Math.abs(t-V))){V=t;for(let e=0;e<$;e++){let s=D[e]*t,a=16*e;H[a]=s,H[a+5]=s,H[a+10]=s}Z.thinInstanceBufferUpdated("matrix")}};B.onBeforeRenderObservable.add(W);let U=null,K="\0",X=()=>{(()=>{let t=q.current,e=t.map(t=>`${t.name}:${t.aabb.join(",")}`).join("|");if(e===K||(K=e,U&&(U.dispose(!1,!0),U=null),0===t.length))return;U=j.CreateBox("scene-proxy",{size:1},B);let s=new f("scene-proxy-mat",B);s.wireframe=!0,s.disableLighting=!0,s.emissiveColor=new k(.32,.4,.52),s.alpha=.35,U.material=s,U.isPickable=!0,U.thinInstanceEnablePicking=!0,U.metadata={hoverLabels:t.map(t=>t.name)};let a=t.length,n=new Float32Array(16*a);for(let e=0;e<a;e++){let s=t[e].aabb,a=Math.max(s[3]-s[0],.001),i=Math.max(s[4]-s[1],.001),r=Math.max(s[5]-s[2],.001);m.Scaling(a,i,r).multiply(m.Translation((s[0]+s[3])/2,(s[1]+s[4])/2,(s[2]+s[5])/2)).copyToArray(n,16*e)}U.thinInstanceSetBuffer("matrix",n,16,!0)})(),(()=>{let t=P.current,e=R.current,s=t.length;if(0===s){$=0,Z.isVisible=!1;return}let n=(0,a.percentileMax)(t.map(t=>t.count),.95),i=new Float32Array(16*s),r=new Float32Array(4*s),c=new Float32Array(s);for(let e=0;e<s;e++){let s=t[e],l=Math.min(1,s.count/n),o=N*(.5+.5*l);c[e]=o,m.Scaling(o,o,o).multiply(m.Translation((s.vx+.5)*u,(s.vy+.5)*u,(s.vz+.5)*u)).copyToArray(i,16*e);let[h,d,k]=(0,a.heatRgb)(l);r[4*e]=h,r[4*e+1]=d,r[4*e+2]=k,r[4*e+3]=1}$=s,H=i,D=c,Z.isVisible=!0,Z.isPickable=!!e,Z.thinInstanceEnablePicking=!!e,Z.metadata=e?{hoverLabels:e}:null,Z.thinInstanceSetBuffer("matrix",H,16,!1),Z.thinInstanceSetBuffer("color",r,4,!0),V=-1,W()})()};S.current=X,X(),E.runRenderLoop(()=>B.render());let Y=()=>E.resize();window.addEventListener("resize",Y);let G=(0,i.attachMeshHover)(B,e,C),J=(0,n.attachDoubleClickFocus)(B,e,T);y("ready"),r=()=>{window.removeEventListener("resize",Y),G(),J(),C(null),S.current=null,x.current=null,g.current=null,B.dispose(),E.dispose()}}catch(t){if(s)return;y("error"),M(t instanceof Error?t.message:"Failed to render heatmap.")}})(),()=>{s=!0,r?.()}},[_,u,F]),(0,s.useEffect)(()=>{S.current?.()},[o,h,p]);let E=f?f.cells>o.length?` Showing the ${o.length.toLocaleString()} busiest of ${f.cells.toLocaleString()} occupied cells (${f.hits.toLocaleString()} total hits).`:` ${f.cells.toLocaleString()} occupied cells, ${f.hits.toLocaleString()} total hits.`:"";return(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsx)("canvas",{ref:v,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),A?(0,e.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:A.x+12,top:A.y+12},children:A.label}):null,"ready"===w?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(l,{shape:_,onChange:L}),(0,e.jsx)(c.ZoomButtons,{onZoom:t=>x.current&&(0,n.stepZoom)(x.current,t),onReset:()=>x.current&&g.current&&(0,n.resetFocus)(x.current,g.current)}),(0,e.jsx)(r.HeatLegend,{title:d,lowLabel:k,highLabel:b,note:m+E})]}):(0,e.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===w?"Rendering…":"empty"===w?j:"error"===w?z??"Heatmap unavailable.":null})]})}])},95338,t=>{t.v(e=>Promise.all(["static/chunks/21at65obnoo8z.js","static/chunks/08m_4cihfmik8.js","static/chunks/2uhrhq35bki6u.js","static/chunks/1di5enkavl9vx.js","static/chunks/1gtj_l5ame5mw.js","static/chunks/0ti58h622yo-_.js","static/chunks/2btabnibkm0db.js"].map(e=>t.l(e))).then(()=>e(62619)))},79935,t=>{t.v(e=>Promise.all(["static/chunks/1dfwa563iciz3.js","static/chunks/00g5suuoa-_wn.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0ti58h622yo-_.js","static/chunks/0bgcaf2x51kms.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/0ubxyut5rr600.js"].map(e=>t.l(e))).then(()=>e(90189)))},49958,t=>{t.v(e=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/21at65obnoo8z.js","static/chunks/1xbzxfeq9789f.js","static/chunks/1i4f3n_2_3ery.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0u8yr4k1y6m2t.js"].map(e=>t.l(e))).then(()=>e(50734)))},7513,t=>{t.v(e=>Promise.all(["static/chunks/3ed24zmt8qfys.js","static/chunks/09ppu_k464q-n.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(e=>t.l(e))).then(()=>e(67984)))},58532,t=>{t.v(e=>Promise.all(["static/chunks/3c_31f20z4jrl.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(e=>t.l(e))).then(()=>e(29959)))},43302,t=>{t.v(e=>Promise.all(["static/chunks/3ckp70rgr63u9.js","static/chunks/00g5suuoa-_wn.js","static/chunks/026vw95s88gsy.js","static/chunks/20qelrstvz9_n.js","static/chunks/21at65obnoo8z.js","static/chunks/1_8acnu6_-qe-.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3a_khw6q6pyh1.js"].map(e=>t.l(e))).then(()=>e(16874)))},61027,t=>{t.v(e=>Promise.all(["static/chunks/2si5cg3hl5dtf.js","static/chunks/2h5hase6ewoyc.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1bmyq1b0by7ug.js","static/chunks/21at65obnoo8z.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0bgcaf2x51kms.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/1di5enkavl9vx.js"].map(e=>t.l(e))).then(()=>e(27455)))},34486,t=>{t.v(e=>Promise.all(["static/chunks/34y7nx6qmat06.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/1di5enkavl9vx.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/21at65obnoo8z.js"].map(e=>t.l(e))).then(()=>e(90951)))},87961,t=>{t.v(e=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3qatb38-tk_gd.js","static/chunks/1di5enkavl9vx.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js"].map(e=>t.l(e))).then(()=>e(87531)))}]);