@deck.gl/geo-layers 9.0.0-beta.1 → 9.0.0-beta.3

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 (245) hide show
  1. package/dist/dist.dev.js +2246 -3773
  2. package/dist/geo-cell-layer/GeoCellLayer.js +51 -0
  3. package/dist/geohash-layer/geohash-layer.js +19 -0
  4. package/dist/geohash-layer/geohash-utils.js +50 -0
  5. package/dist/great-circle-layer/great-circle-layer.js +12 -0
  6. package/dist/h3-layers/h3-cluster-layer.js +47 -0
  7. package/dist/h3-layers/h3-hexagon-layer.js +204 -0
  8. package/dist/h3-layers/h3-utils.js +56 -0
  9. package/dist/index.cjs +3199 -0
  10. package/dist/index.cjs.map +7 -0
  11. package/{typed → dist}/index.d.ts +5 -5
  12. package/{typed → dist}/index.d.ts.map +1 -1
  13. package/dist/index.js +36 -0
  14. package/dist/{esm/mesh-layer → mesh-layer}/mesh-layer-fragment.glsl.js +0 -1
  15. package/dist/{esm/mesh-layer → mesh-layer}/mesh-layer-vertex.glsl.js +0 -1
  16. package/dist/mesh-layer/mesh-layer.js +129 -0
  17. package/{typed → dist}/mvt-layer/coordinate-transform.d.ts +1 -1
  18. package/{typed → dist}/mvt-layer/coordinate-transform.d.ts.map +1 -1
  19. package/dist/mvt-layer/coordinate-transform.js +41 -0
  20. package/dist/mvt-layer/find-index-binary.d.ts +11 -0
  21. package/dist/mvt-layer/find-index-binary.d.ts.map +1 -0
  22. package/dist/mvt-layer/find-index-binary.js +96 -0
  23. package/{typed → dist}/mvt-layer/mvt-layer.d.ts +6 -5
  24. package/dist/mvt-layer/mvt-layer.d.ts.map +1 -0
  25. package/dist/mvt-layer/mvt-layer.js +305 -0
  26. package/dist/quadkey-layer/quadkey-layer.js +22 -0
  27. package/dist/quadkey-layer/quadkey-utils.js +26 -0
  28. package/dist/s2-layer/s2-geometry.js +123 -0
  29. package/dist/s2-layer/s2-layer.js +38 -0
  30. package/dist/s2-layer/s2-utils.js +87 -0
  31. package/{typed → dist}/terrain-layer/terrain-layer.d.ts +3 -3
  32. package/dist/terrain-layer/terrain-layer.d.ts.map +1 -0
  33. package/dist/terrain-layer/terrain-layer.js +233 -0
  34. package/dist/tile-3d-layer/tile-3d-layer.js +302 -0
  35. package/{typed → dist}/tile-layer/tile-layer.d.ts +3 -3
  36. package/dist/tile-layer/tile-layer.d.ts.map +1 -0
  37. package/dist/tile-layer/tile-layer.js +204 -0
  38. package/dist/tileset-2d/index.js +4 -0
  39. package/dist/tileset-2d/memoize.js +41 -0
  40. package/{typed → dist}/tileset-2d/tile-2d-header.d.ts +2 -1
  41. package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -0
  42. package/dist/tileset-2d/tile-2d-header.js +135 -0
  43. package/{typed → dist}/tileset-2d/tile-2d-traversal.d.ts +1 -1
  44. package/{typed → dist}/tileset-2d/tile-2d-traversal.d.ts.map +1 -1
  45. package/dist/tileset-2d/tile-2d-traversal.js +182 -0
  46. package/{typed → dist}/tileset-2d/tileset-2d.d.ts +4 -4
  47. package/{typed → dist}/tileset-2d/tileset-2d.d.ts.map +1 -1
  48. package/dist/tileset-2d/tileset-2d.js +456 -0
  49. package/dist/tileset-2d/types.js +1 -0
  50. package/{typed → dist}/tileset-2d/utils.d.ts +2 -2
  51. package/dist/tileset-2d/utils.d.ts.map +1 -0
  52. package/dist/tileset-2d/utils.js +234 -0
  53. package/dist/trips-layer/trips-layer.js +93 -0
  54. package/dist/wms-layer/utils.js +13 -0
  55. package/dist/wms-layer/wms-layer.js +192 -0
  56. package/dist.min.js +27 -159
  57. package/package.json +32 -18
  58. package/src/index.ts +5 -5
  59. package/src/mvt-layer/coordinate-transform.ts +1 -1
  60. package/src/mvt-layer/find-index-binary.ts +5 -9
  61. package/src/mvt-layer/mvt-layer.ts +19 -15
  62. package/src/terrain-layer/terrain-layer.ts +13 -3
  63. package/src/tile-layer/tile-layer.ts +8 -9
  64. package/src/tileset-2d/tile-2d-header.ts +2 -1
  65. package/src/tileset-2d/tile-2d-traversal.ts +1 -1
  66. package/src/tileset-2d/tileset-2d.ts +7 -3
  67. package/src/tileset-2d/utils.ts +2 -2
  68. package/src/wms-layer/wms-layer.ts +1 -1
  69. package/dist/es5/geo-cell-layer/GeoCellLayer.js +0 -118
  70. package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +0 -1
  71. package/dist/es5/geohash-layer/geohash-layer.js +0 -67
  72. package/dist/es5/geohash-layer/geohash-layer.js.map +0 -1
  73. package/dist/es5/geohash-layer/geohash-utils.js +0 -77
  74. package/dist/es5/geohash-layer/geohash-utils.js.map +0 -1
  75. package/dist/es5/great-circle-layer/great-circle-layer.js +0 -48
  76. package/dist/es5/great-circle-layer/great-circle-layer.js.map +0 -1
  77. package/dist/es5/h3-layers/h3-cluster-layer.js +0 -162
  78. package/dist/es5/h3-layers/h3-cluster-layer.js.map +0 -1
  79. package/dist/es5/h3-layers/h3-hexagon-layer.js +0 -351
  80. package/dist/es5/h3-layers/h3-hexagon-layer.js.map +0 -1
  81. package/dist/es5/h3-layers/h3-utils.js +0 -111
  82. package/dist/es5/h3-layers/h3-utils.js.map +0 -1
  83. package/dist/es5/index.js +0 -132
  84. package/dist/es5/index.js.map +0 -1
  85. package/dist/es5/mesh-layer/mesh-layer-fragment.glsl.js +0 -9
  86. package/dist/es5/mesh-layer/mesh-layer-fragment.glsl.js.map +0 -1
  87. package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js +0 -9
  88. package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js.map +0 -1
  89. package/dist/es5/mesh-layer/mesh-layer.js +0 -217
  90. package/dist/es5/mesh-layer/mesh-layer.js.map +0 -1
  91. package/dist/es5/mvt-layer/coordinate-transform.js +0 -83
  92. package/dist/es5/mvt-layer/coordinate-transform.js.map +0 -1
  93. package/dist/es5/mvt-layer/find-index-binary.js +0 -127
  94. package/dist/es5/mvt-layer/find-index-binary.js.map +0 -1
  95. package/dist/es5/mvt-layer/mvt-layer.js +0 -533
  96. package/dist/es5/mvt-layer/mvt-layer.js.map +0 -1
  97. package/dist/es5/quadkey-layer/quadkey-layer.js +0 -72
  98. package/dist/es5/quadkey-layer/quadkey-layer.js.map +0 -1
  99. package/dist/es5/quadkey-layer/quadkey-utils.js +0 -53
  100. package/dist/es5/quadkey-layer/quadkey-utils.js.map +0 -1
  101. package/dist/es5/s2-layer/s2-geometry.js +0 -158
  102. package/dist/es5/s2-layer/s2-geometry.js.map +0 -1
  103. package/dist/es5/s2-layer/s2-layer.js +0 -67
  104. package/dist/es5/s2-layer/s2-layer.js.map +0 -1
  105. package/dist/es5/s2-layer/s2-utils.js +0 -80
  106. package/dist/es5/s2-layer/s2-utils.js.map +0 -1
  107. package/dist/es5/terrain-layer/terrain-layer.js +0 -347
  108. package/dist/es5/terrain-layer/terrain-layer.js.map +0 -1
  109. package/dist/es5/tile-3d-layer/tile-3d-layer.js +0 -511
  110. package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +0 -1
  111. package/dist/es5/tile-layer/tile-layer.js +0 -363
  112. package/dist/es5/tile-layer/tile-layer.js.map +0 -1
  113. package/dist/es5/tileset-2d/index.js +0 -66
  114. package/dist/es5/tileset-2d/index.js.map +0 -1
  115. package/dist/es5/tileset-2d/memoize.js +0 -47
  116. package/dist/es5/tileset-2d/memoize.js.map +0 -1
  117. package/dist/es5/tileset-2d/tile-2d-header.js +0 -250
  118. package/dist/es5/tileset-2d/tile-2d-header.js.map +0 -1
  119. package/dist/es5/tileset-2d/tile-2d-traversal.js +0 -256
  120. package/dist/es5/tileset-2d/tile-2d-traversal.js.map +0 -1
  121. package/dist/es5/tileset-2d/tileset-2d.js +0 -757
  122. package/dist/es5/tileset-2d/tileset-2d.js.map +0 -1
  123. package/dist/es5/tileset-2d/types.js +0 -2
  124. package/dist/es5/tileset-2d/types.js.map +0 -1
  125. package/dist/es5/tileset-2d/utils.js +0 -302
  126. package/dist/es5/tileset-2d/utils.js.map +0 -1
  127. package/dist/es5/trips-layer/trips-layer.js +0 -114
  128. package/dist/es5/trips-layer/trips-layer.js.map +0 -1
  129. package/dist/es5/wms-layer/utils.js +0 -18
  130. package/dist/es5/wms-layer/utils.js.map +0 -1
  131. package/dist/es5/wms-layer/wms-layer.js +0 -376
  132. package/dist/es5/wms-layer/wms-layer.js.map +0 -1
  133. package/dist/esm/geo-cell-layer/GeoCellLayer.js +0 -72
  134. package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +0 -1
  135. package/dist/esm/geohash-layer/geohash-layer.js +0 -26
  136. package/dist/esm/geohash-layer/geohash-layer.js.map +0 -1
  137. package/dist/esm/geohash-layer/geohash-utils.js +0 -56
  138. package/dist/esm/geohash-layer/geohash-utils.js.map +0 -1
  139. package/dist/esm/great-circle-layer/great-circle-layer.js +0 -12
  140. package/dist/esm/great-circle-layer/great-circle-layer.js.map +0 -1
  141. package/dist/esm/h3-layers/h3-cluster-layer.js +0 -79
  142. package/dist/esm/h3-layers/h3-cluster-layer.js.map +0 -1
  143. package/dist/esm/h3-layers/h3-hexagon-layer.js +0 -280
  144. package/dist/esm/h3-layers/h3-hexagon-layer.js.map +0 -1
  145. package/dist/esm/h3-layers/h3-utils.js +0 -54
  146. package/dist/esm/h3-layers/h3-utils.js.map +0 -1
  147. package/dist/esm/index.js +0 -17
  148. package/dist/esm/index.js.map +0 -1
  149. package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js.map +0 -1
  150. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +0 -1
  151. package/dist/esm/mesh-layer/mesh-layer.js +0 -178
  152. package/dist/esm/mesh-layer/mesh-layer.js.map +0 -1
  153. package/dist/esm/mvt-layer/coordinate-transform.js +0 -49
  154. package/dist/esm/mvt-layer/coordinate-transform.js.map +0 -1
  155. package/dist/esm/mvt-layer/find-index-binary.js +0 -99
  156. package/dist/esm/mvt-layer/find-index-binary.js.map +0 -1
  157. package/dist/esm/mvt-layer/mvt-layer.js +0 -427
  158. package/dist/esm/mvt-layer/mvt-layer.js.map +0 -1
  159. package/dist/esm/quadkey-layer/quadkey-layer.js +0 -31
  160. package/dist/esm/quadkey-layer/quadkey-layer.js.map +0 -1
  161. package/dist/esm/quadkey-layer/quadkey-utils.js +0 -24
  162. package/dist/esm/quadkey-layer/quadkey-utils.js.map +0 -1
  163. package/dist/esm/s2-layer/s2-geometry.js +0 -126
  164. package/dist/esm/s2-layer/s2-geometry.js.map +0 -1
  165. package/dist/esm/s2-layer/s2-layer.js +0 -26
  166. package/dist/esm/s2-layer/s2-layer.js.map +0 -1
  167. package/dist/esm/s2-layer/s2-utils.js +0 -69
  168. package/dist/esm/s2-layer/s2-utils.js.map +0 -1
  169. package/dist/esm/terrain-layer/terrain-layer.js +0 -292
  170. package/dist/esm/terrain-layer/terrain-layer.js.map +0 -1
  171. package/dist/esm/tile-3d-layer/tile-3d-layer.js +0 -438
  172. package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +0 -1
  173. package/dist/esm/tile-layer/tile-layer.js +0 -299
  174. package/dist/esm/tile-layer/tile-layer.js.map +0 -1
  175. package/dist/esm/tileset-2d/index.js +0 -4
  176. package/dist/esm/tileset-2d/index.js.map +0 -1
  177. package/dist/esm/tileset-2d/memoize.js +0 -40
  178. package/dist/esm/tileset-2d/memoize.js.map +0 -1
  179. package/dist/esm/tileset-2d/tile-2d-header.js +0 -179
  180. package/dist/esm/tileset-2d/tile-2d-header.js.map +0 -1
  181. package/dist/esm/tileset-2d/tile-2d-traversal.js +0 -184
  182. package/dist/esm/tileset-2d/tile-2d-traversal.js.map +0 -1
  183. package/dist/esm/tileset-2d/tileset-2d.js +0 -509
  184. package/dist/esm/tileset-2d/tileset-2d.js.map +0 -1
  185. package/dist/esm/tileset-2d/types.js +0 -2
  186. package/dist/esm/tileset-2d/types.js.map +0 -1
  187. package/dist/esm/tileset-2d/utils.js +0 -233
  188. package/dist/esm/tileset-2d/utils.js.map +0 -1
  189. package/dist/esm/trips-layer/trips-layer.js +0 -88
  190. package/dist/esm/trips-layer/trips-layer.js.map +0 -1
  191. package/dist/esm/wms-layer/utils.js +0 -9
  192. package/dist/esm/wms-layer/utils.js.map +0 -1
  193. package/dist/esm/wms-layer/wms-layer.js +0 -231
  194. package/dist/esm/wms-layer/wms-layer.js.map +0 -1
  195. package/typed/mvt-layer/find-index-binary.d.ts +0 -12
  196. package/typed/mvt-layer/find-index-binary.d.ts.map +0 -1
  197. package/typed/mvt-layer/mvt-layer.d.ts.map +0 -1
  198. package/typed/terrain-layer/terrain-layer.d.ts.map +0 -1
  199. package/typed/tile-layer/tile-layer.d.ts.map +0 -1
  200. package/typed/tileset-2d/tile-2d-header.d.ts.map +0 -1
  201. package/typed/tileset-2d/utils.d.ts.map +0 -1
  202. /package/{typed → dist}/geo-cell-layer/GeoCellLayer.d.ts +0 -0
  203. /package/{typed → dist}/geo-cell-layer/GeoCellLayer.d.ts.map +0 -0
  204. /package/{typed → dist}/geohash-layer/geohash-layer.d.ts +0 -0
  205. /package/{typed → dist}/geohash-layer/geohash-layer.d.ts.map +0 -0
  206. /package/{typed → dist}/geohash-layer/geohash-utils.d.ts +0 -0
  207. /package/{typed → dist}/geohash-layer/geohash-utils.d.ts.map +0 -0
  208. /package/{typed → dist}/great-circle-layer/great-circle-layer.d.ts +0 -0
  209. /package/{typed → dist}/great-circle-layer/great-circle-layer.d.ts.map +0 -0
  210. /package/{typed → dist}/h3-layers/h3-cluster-layer.d.ts +0 -0
  211. /package/{typed → dist}/h3-layers/h3-cluster-layer.d.ts.map +0 -0
  212. /package/{typed → dist}/h3-layers/h3-hexagon-layer.d.ts +0 -0
  213. /package/{typed → dist}/h3-layers/h3-hexagon-layer.d.ts.map +0 -0
  214. /package/{typed → dist}/h3-layers/h3-utils.d.ts +0 -0
  215. /package/{typed → dist}/h3-layers/h3-utils.d.ts.map +0 -0
  216. /package/{typed → dist}/mesh-layer/mesh-layer-fragment.glsl.d.ts +0 -0
  217. /package/{typed → dist}/mesh-layer/mesh-layer-fragment.glsl.d.ts.map +0 -0
  218. /package/{typed → dist}/mesh-layer/mesh-layer-vertex.glsl.d.ts +0 -0
  219. /package/{typed → dist}/mesh-layer/mesh-layer-vertex.glsl.d.ts.map +0 -0
  220. /package/{typed → dist}/mesh-layer/mesh-layer.d.ts +0 -0
  221. /package/{typed → dist}/mesh-layer/mesh-layer.d.ts.map +0 -0
  222. /package/{typed → dist}/quadkey-layer/quadkey-layer.d.ts +0 -0
  223. /package/{typed → dist}/quadkey-layer/quadkey-layer.d.ts.map +0 -0
  224. /package/{typed → dist}/quadkey-layer/quadkey-utils.d.ts +0 -0
  225. /package/{typed → dist}/quadkey-layer/quadkey-utils.d.ts.map +0 -0
  226. /package/{typed → dist}/s2-layer/s2-geometry.d.ts +0 -0
  227. /package/{typed → dist}/s2-layer/s2-geometry.d.ts.map +0 -0
  228. /package/{typed → dist}/s2-layer/s2-layer.d.ts +0 -0
  229. /package/{typed → dist}/s2-layer/s2-layer.d.ts.map +0 -0
  230. /package/{typed → dist}/s2-layer/s2-utils.d.ts +0 -0
  231. /package/{typed → dist}/s2-layer/s2-utils.d.ts.map +0 -0
  232. /package/{typed → dist}/tile-3d-layer/tile-3d-layer.d.ts +0 -0
  233. /package/{typed → dist}/tile-3d-layer/tile-3d-layer.d.ts.map +0 -0
  234. /package/{typed → dist}/tileset-2d/index.d.ts +0 -0
  235. /package/{typed → dist}/tileset-2d/index.d.ts.map +0 -0
  236. /package/{typed → dist}/tileset-2d/memoize.d.ts +0 -0
  237. /package/{typed → dist}/tileset-2d/memoize.d.ts.map +0 -0
  238. /package/{typed → dist}/tileset-2d/types.d.ts +0 -0
  239. /package/{typed → dist}/tileset-2d/types.d.ts.map +0 -0
  240. /package/{typed → dist}/trips-layer/trips-layer.d.ts +0 -0
  241. /package/{typed → dist}/trips-layer/trips-layer.d.ts.map +0 -0
  242. /package/{typed → dist}/wms-layer/utils.d.ts +0 -0
  243. /package/{typed → dist}/wms-layer/utils.d.ts.map +0 -0
  244. /package/{typed → dist}/wms-layer/wms-layer.d.ts +0 -0
  245. /package/{typed → dist}/wms-layer/wms-layer.d.ts.map +0 -0
package/dist.min.js CHANGED
@@ -4,23 +4,13 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var $y=Object.create;var Mi=Object.defineProperty;var eA=Object.getOwnPropertyDescriptor;var tA=Object.getOwnPropertyNames;var rA=Object.getPrototypeOf,nA=Object.prototype.hasOwnProperty;var Wl=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var re=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),de=(t,e)=>{for(var r in e)Mi(t,r,{get:e[r],enumerable:!0})},Ci=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of tA(e))!nA.call(t,i)&&i!==r&&Mi(t,i,{get:()=>e[i],enumerable:!(n=eA(e,i))||n.enumerable});return t},St=(t,e,r)=>(Ci(t,e,"default"),r&&Ci(r,e,"default")),P=(t,e,r)=>(r=t!=null?$y(rA(t)):{},Ci(e||!t||!t.__esModule?Mi(r,"default",{value:t,enumerable:!0}):r,t)),iA=t=>Ci(Mi({},"__esModule",{value:!0}),t);var Ve=re((NO,Xl)=>{Xl.exports=globalThis.deck});var ze=re((GO,Yl)=>{Yl.exports=globalThis.deck});var Ii=re(dt=>{"use strict";var Zl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",sA=Zl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ql="["+Zl+"]["+sA+"]*",aA=new RegExp("^"+Ql+"$"),cA=function(e,r){for(var n=[],i=r.exec(e);i;){var o=[];o.startIndex=r.lastIndex-i[0].length;for(var s=i.length,a=0;a<s;a++)o.push(i[a]);n.push(o),i=r.exec(e)}return n},uA=function(e){var r=aA.exec(e);return!(r===null||typeof r>"u")};dt.isExist=function(t){return typeof t<"u"};dt.isEmptyObject=function(t){return Object.keys(t).length===0};dt.merge=function(t,e,r){if(e)for(var n=Object.keys(e),i=n.length,o=0;o<i;o++)r==="strict"?t[n[o]]=[e[n[o]]]:t[n[o]]=e[n[o]]};dt.getValue=function(t){return dt.isExist(t)?t:""};dt.isName=uA;dt.getAllMatches=cA;dt.nameRegexp=Ql});var ua=re(nf=>{"use strict";var ca=Ii(),lA={allowBooleanAttributes:!1,unpairedTags:[]};nf.validate=function(t,e){e=Object.assign({},lA,e);var r=[],n=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(var o=0;o<t.length;o++)if(t[o]==="<"&&t[o+1]==="?"){if(o+=2,o=ef(t,o),o.err)return o}else if(t[o]==="<"){var s=o;if(o++,t[o]==="!"){o=tf(t,o);continue}else{var a=!1;t[o]==="/"&&(a=!0,o++);for(var c="";o<t.length&&t[o]!==">"&&t[o]!==" "&&t[o]!==" "&&t[o]!==`
8
- `&&t[o]!=="\r";o++)c+=t[o];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),o--),!AA(c)){var u=void 0;return c.trim().length===0?u="Invalid space after '<'.":u="Tag '"+c+"' is an invalid name.",ae("InvalidTag",u,Te(t,o))}var l=dA(t,o);if(l===!1)return ae("InvalidAttr","Attributes for '"+c+"' have open quote.",Te(t,o));var f=l.value;if(o=l.index,f[f.length-1]==="/"){var h=o-f.length;f=f.substring(0,f.length-1);var d=rf(f,e);if(d===!0)n=!0;else return ae(d.err.code,d.err.msg,Te(t,h+d.err.line))}else if(a)if(l.tagClosed){if(f.trim().length>0)return ae("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",Te(t,s));var p=r.pop();if(c!==p.tagName){var g=Te(t,p.tagStartPos);return ae("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+g.line+", col "+g.col+") instead of closing tag '"+c+"'.",Te(t,s))}r.length==0&&(i=!0)}else return ae("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",Te(t,o));else{var m=rf(f,e);if(m!==!0)return ae(m.err.code,m.err.msg,Te(t,o-f.length+m.err.line));if(i===!0)return ae("InvalidXml","Multiple possible root nodes found.",Te(t,o));e.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:s}),n=!0}for(o++;o<t.length;o++)if(t[o]==="<")if(t[o+1]==="!"){o++,o=tf(t,o);continue}else if(t[o+1]==="?"){if(o=ef(t,++o),o.err)return o}else break;else if(t[o]==="&"){var A=gA(t,o);if(A==-1)return ae("InvalidChar","char '&' is not expected.",Te(t,o));o=A}else if(i===!0&&!$l(t[o]))return ae("InvalidXml","Extra text at the end",Te(t,o));t[o]==="<"&&o--}}else{if($l(t[o]))continue;return ae("InvalidChar","char '"+t[o]+"' is not expected.",Te(t,o))}if(n){if(r.length==1)return ae("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Te(t,r[0].tagStartPos));if(r.length>0)return ae("InvalidXml","Invalid '"+JSON.stringify(r.map(function(_){return _.tagName}),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ae("InvalidXml","Start tag expected.",1);return!0};function $l(t){return t===" "||t===" "||t===`
9
- `||t==="\r"}function ef(t,e){for(var r=e;e<t.length;e++)if(t[e]=="?"||t[e]==" "){var n=t.substr(r,e-r);if(e>5&&n==="xml")return ae("InvalidXml","XML declaration allowed only at the start of the document.",Te(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function tf(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){var r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var fA='"',hA="'";function dA(t,e){for(var r="",n="",i=!1;e<t.length;e++){if(t[e]===fA||t[e]===hA)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){i=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:i}}var pA=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function rf(t,e){for(var r=ca.getAllMatches(t,pA),n={},i=0;i<r.length;i++){if(r[i][1].length===0)return ae("InvalidAttr","Attribute '"+r[i][2]+"' has no space in starting.",yn(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return ae("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",yn(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return ae("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",yn(r[i]));var o=r[i][2];if(!yA(o))return ae("InvalidAttr","Attribute '"+o+"' is an invalid name.",yn(r[i]));if(!n.hasOwnProperty(o))n[o]=1;else return ae("InvalidAttr","Attribute '"+o+"' is repeated.",yn(r[i]))}return!0}function mA(t,e){var r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}function gA(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,mA(t,e);for(var r=0;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}function ae(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function yA(t){return ca.isName(t)}function AA(t){return ca.isName(t)}function Te(t,e){var r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function yn(t){return t.startIndex+t[1].length}});var sf=re(la=>{var of={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,r,n){return e}},_A=function(e){return Object.assign({},of,e)};la.buildOptions=_A;la.defaultOptions=of});var cf=re((kO,af)=>{"use strict";function Oi(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function vA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var xA=function(){function t(r){vA(this,t),this.tagname=r,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push(Oi({},n,i))},e.addChild=function(n){if(n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0){var i;this.child.push((i={},Oi(i,n.tagname,n.child),Oi(i,":@",n[":@"]),i))}else this.child.push(Oi({},n.tagname,n.child))},t}();af.exports=xA});var ff=re((JO,lf)=>{function TA(t,e){return BA(t)||SA(t,e)||EA(t,e)||bA()}function bA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function EA(t,e){if(t){if(typeof t=="string")return uf(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return uf(t,e)}}function uf(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function SA(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function BA(t){if(Array.isArray(t))return t}var CA=Ii();function MA(t,e){var r={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;for(var n=1,i=!1,o=!1,s="";e<t.length;e++)if(t[e]==="<"&&!o){if(i&&OA(t,e)){e+=7;var a=wA(t,e+1),c=TA(a,3);entityName=c[0],val=c[1],e=c[2],val.indexOf("&")===-1&&(r[FA(entityName)]={regx:RegExp("&".concat(entityName,";"),"g"),val})}else if(i&&RA(t,e))e+=8;else if(i&&LA(t,e))e+=8;else if(i&&PA(t,e))e+=9;else if(IA)o=!0;else throw new Error("Invalid DOCTYPE");n++,s=""}else if(t[e]===">"){if(o?t[e-1]==="-"&&t[e-2]==="-"&&(o=!1,n--):n--,n===0)break}else t[e]==="["?i=!0:s+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:e}}function wA(t,e){for(var r="";e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)r+=t[e];if(r=r.trim(),r.indexOf(" ")!==-1)throw new Error("External entites are not supported");for(var n=t[e++],i="";e<t.length&&t[e]!==n;e++)i+=t[e];return[r,i,e]}function IA(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function OA(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function RA(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function LA(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function PA(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function FA(t){if(CA.isName(t))return t;throw new Error("Invalid entity name ".concat(t))}lf.exports=MA});var df=re((qO,hf)=>{var DA=/^[-+]?0x[a-fA-F0-9]+$/,NA=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var UA={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function GA(t,e={}){if(e=Object.assign({},UA,e),!t||typeof t!="string")return t;let r=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(r))return t;if(e.hex&&DA.test(r))return Number.parseInt(r,16);{let n=NA.exec(r);if(n){let i=n[1],o=n[2],s=HA(n[3]),a=n[4]||n[6];if(!e.leadingZeros&&o.length>0&&i&&r[2]!==".")return t;if(!e.leadingZeros&&o.length>0&&!i&&r[1]!==".")return t;{let c=Number(r),u=""+c;return u.search(/[eE]/)!==-1||a?e.eNotation?c:t:r.indexOf(".")!==-1?u==="0"&&s===""||u===s||i&&u==="-"+s?c:t:o?s===u||i+s===u?c:t:r===u||r===i+u?c:t}}else return t}}function HA(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}hf.exports=GA});var gf=re((XO,mf)=>{"use strict";function pf(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Qt(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Qt=function(r){return typeof r}:Qt=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Qt(t)}function VA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var da=Ii(),An=cf(),zA=ff(),jA=df(),WO="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,da.nameRegexp),kA=function t(e){VA(this,t),this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=JA,this.parseXml=YA,this.parseTextData=qA,this.resolveNameSpace=WA,this.buildAttributesMap=KA,this.isItStopNode=e1,this.replaceEntitiesValue=QA,this.readStopNodeData=r1,this.saveTextToParentTag=$A,this.addChild=ZA};function JA(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function qA(t,e,r,n,i,o,s){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){s||(t=this.replaceEntitiesValue(t));var a=this.options.tagValueProcessor(e,t,r,i,o);if(a==null)return t;if(Qt(a)!==Qt(t)||a!==t)return a;if(this.options.trimValues)return ha(t,this.options.parseTagValue,this.options.numberParseOptions);var c=t.trim();return c===t?ha(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function WA(t){if(this.options.removeNSPrefix){var e=t.split(":"),r=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=r+e[1])}return t}var XA=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function KA(t,e,r){if(!this.options.ignoreAttributes&&typeof t=="string"){for(var n=da.getAllMatches(t,XA),i=n.length,o={},s=0;s<i;s++){var a=this.resolveNameSpace(n[s][1]),c=n[s][4],u=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(u=this.options.transformAttributeName(u)),u==="__proto__"&&(u="#__proto__"),c!==void 0){this.options.trimValues&&(c=c.trim()),c=this.replaceEntitiesValue(c);var l=this.options.attributeValueProcessor(a,c,e);l==null?o[u]=c:Qt(l)!==Qt(c)||l!==c?o[u]=l:o[u]=ha(c,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(o[u]=!0)}if(!Object.keys(o).length)return;if(this.options.attributesGroupName){var f={};return f[this.options.attributesGroupName]=o,f}return o}}var YA=function(e){e=e.replace(/\r\n?/g,`
11
- `);for(var r=new An("!xml"),n=r,i="",o="",s=0;s<e.length;s++){var a=e[s];if(a==="<")if(e[s+1]==="/"){var c=Zt(e,">",s,"Closing Tag is not closed."),u=e.substring(s+2,c).trim();if(this.options.removeNSPrefix){var l=u.indexOf(":");l!==-1&&(u=u.substr(l+1))}this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&(i=this.saveTextToParentTag(i,n,o));var f=o.substring(o.lastIndexOf(".")+1);if(u&&this.options.unpairedTags.indexOf(u)!==-1)throw new Error("Unpaired tag can not be used as closing tag: </".concat(u,">"));var h=0;f&&this.options.unpairedTags.indexOf(f)!==-1?(h=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):h=o.lastIndexOf("."),o=o.substring(0,h),n=this.tagsNodeStack.pop(),i="",s=c}else if(e[s+1]==="?"){var d=fa(e,s,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,n,o),!(this.options.ignoreDeclaration&&d.tagName==="?xml"||this.options.ignorePiTags)){var p=new An(d.tagName);p.add(this.options.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&(p[":@"]=this.buildAttributesMap(d.tagExp,o,d.tagName)),this.addChild(n,p,o)}s=d.closeIndex+1}else if(e.substr(s+1,3)==="!--"){var g=Zt(e,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){var m=e.substring(s+4,g-2);i=this.saveTextToParentTag(i,n,o),n.add(this.options.commentPropName,[pf({},this.options.textNodeName,m)])}s=g}else if(e.substr(s+1,2)==="!D"){var A=zA(e,s);this.docTypeEntities=A.entities,s=A.i}else if(e.substr(s+1,2)==="!["){var _=Zt(e,"]]>",s,"CDATA is not closed.")-2,v=e.substring(s+9,_);if(i=this.saveTextToParentTag(i,n,o),this.options.cdataPropName)n.add(this.options.cdataPropName,[pf({},this.options.textNodeName,v)]);else{var x=this.parseTextData(v,n.tagname,o,!0,!1,!0);x==null&&(x=""),n.add(this.options.textNodeName,x)}s=_+2}else{var B=fa(e,s,this.options.removeNSPrefix),S=B.tagName,C=B.tagExp,E=B.attrExpPresent,b=B.closeIndex;this.options.transformTagName&&(S=this.options.transformTagName(S)),n&&i&&n.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,n,o,!1));var y=n;if(y&&this.options.unpairedTags.indexOf(y.tagname)!==-1&&(n=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),S!==r.tagname&&(o+=o?"."+S:S),this.isItStopNode(this.options.stopNodes,o,S)){var M="";if(C.length>0&&C.lastIndexOf("/")===C.length-1)s=B.closeIndex;else if(this.options.unpairedTags.indexOf(S)!==-1)s=B.closeIndex;else{var I=this.readStopNodeData(e,S,b+1);if(!I)throw new Error("Unexpected end of ".concat(S));s=I.i,M=I.tagContent}var O=new An(S);S!==C&&E&&(O[":@"]=this.buildAttributesMap(C,o,S)),M&&(M=this.parseTextData(M,S,o,!0,E,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),O.add(this.options.textNodeName,M),this.addChild(n,O,o)}else{if(C.length>0&&C.lastIndexOf("/")===C.length-1){S[S.length-1]==="/"?(S=S.substr(0,S.length-1),o=o.substr(0,o.length-1),C=S):C=C.substr(0,C.length-1),this.options.transformTagName&&(S=this.options.transformTagName(S));var R=new An(S);S!==C&&E&&(R[":@"]=this.buildAttributesMap(C,o,S)),this.addChild(n,R,o),o=o.substr(0,o.lastIndexOf("."))}else{var F=new An(S);this.tagsNodeStack.push(n),S!==C&&E&&(F[":@"]=this.buildAttributesMap(C,o,S)),this.addChild(n,F,o),n=F}i="",s=b}}else i+=e[s]}return r.child};function ZA(t,e,r){var n=this.options.updateTag(e.tagname,r,e[":@"]);n===!1||(typeof n=="string"&&(e.tagname=n),t.addChild(e))}var QA=function(e){if(this.options.processEntities){for(var r in this.docTypeEntities){var n=this.docTypeEntities[r];e=e.replace(n.regx,n.val)}for(var i in this.lastEntities){var o=this.lastEntities[i];e=e.replace(o.regex,o.val)}if(this.options.htmlEntities)for(var s in this.htmlEntities){var a=this.htmlEntities[s];e=e.replace(a.regex,a.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function $A(t,e,r,n){return t&&(n===void 0&&(n=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function e1(t,e,r){var n="*."+r;for(var i in t){var o=t[i];if(n===o||e===o)return!0}return!1}function t1(t,e){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:">",n,i="",o=e;o<t.length;o++){var s=t[o];if(n)s===n&&(n="");else if(s==='"'||s==="'")n=s;else if(s===r[0])if(r[1]){if(t[o+1]===r[1])return{data:i,index:o}}else return{data:i,index:o};else s===" "&&(s=" ");i+=s}}function Zt(t,e,r,n){var i=t.indexOf(e,r);if(i===-1)throw new Error(n);return i+e.length-1}function fa(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:">",i=t1(t,e+1,n);if(i){var o=i.data,s=i.index,a=o.search(/\s/),c=o,u=!0;if(a!==-1&&(c=o.substr(0,a).replace(/\s\s*$/,""),o=o.substr(a+1)),r){var l=c.indexOf(":");l!==-1&&(c=c.substr(l+1),u=c!==i.data.substr(l+1))}return{tagName:c,tagExp:o,closeIndex:s,attrExpPresent:u}}}function r1(t,e,r){for(var n=r,i=1;r<t.length;r++)if(t[r]==="<")if(t[r+1]==="/"){var o=Zt(t,">",r,"".concat(e," is not closed")),s=t.substring(r+2,o).trim();if(s===e&&(i--,i===0))return{tagContent:t.substring(n,r),i:o};r=o}else if(t[r+1]==="?"){var a=Zt(t,"?>",r+1,"StopNode is not closed.");r=a}else if(t.substr(r+1,3)==="!--"){var c=Zt(t,"-->",r+3,"StopNode is not closed.");r=c}else if(t.substr(r+1,2)==="!["){var u=Zt(t,"]]>",r,"StopNode is not closed.")-2;r=u}else{var l=fa(t,r,">");if(l){var f=l&&l.tagName;f===e&&l.tagExp[l.tagExp.length-1]!=="/"&&i++,r=l.closeIndex}}}function ha(t,e,r){if(e&&typeof t=="string"){var n=t.trim();return n==="true"?!0:n==="false"?!1:jA(t,r)}else return da.isExist(t)?t:""}mf.exports=kA});var _f=re(Af=>{"use strict";function n1(t,e){return yf(t,e)}function yf(t,e,r){for(var n,i={},o=0;o<t.length;o++){var s=t[o],a=i1(s),c="";if(r===void 0?c=a:c=r+"."+a,a===e.textNodeName)n===void 0?n=s[a]:n+=""+s[a];else{if(a===void 0)continue;if(s[a]){var u=yf(s[a],e,c),l=s1(u,e);s[":@"]?o1(u,s[":@"],c,e):Object.keys(u).length===1&&u[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?u=u[e.textNodeName]:Object.keys(u).length===0&&(e.alwaysCreateTextNode?u[e.textNodeName]="":u=""),i[a]!==void 0&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(u)):e.isArray(a,c,l)?i[a]=[u]:i[a]=u}}}return typeof n=="string"?n.length>0&&(i[e.textNodeName]=n):n!==void 0&&(i[e.textNodeName]=n),i}function i1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function o1(t,e,r,n){if(e)for(var i=Object.keys(e),o=i.length,s=0;s<o;s++){var a=i[s];n.isArray(a,r+"."+a,!0,!0)?t[a]=[e[a]]:t[a]=e[a]}}function s1(t,e){var r=e.textNodeName,n=Object.keys(t).length;return!!(n===0||n===1&&(t[r]||typeof t[r]=="boolean"||t[r]===0))}Af.prettify=n1});var xf=re((YO,vf)=>{function a1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var c1=sf(),u1=c1.buildOptions,l1=gf(),f1=_f(),h1=f1.prettify,d1=ua(),p1=function(){function t(r){a1(this,t),this.externalEntities={},this.options=u1(r)}var e=t.prototype;return e.parse=function(n,i){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});var o=d1.validate(n,i);if(o!==!0)throw Error("".concat(o.err.msg,":").concat(o.err.line,":").concat(o.err.col))}var s=new l1(this.options);s.addExternalEntities(this.externalEntities);var a=s.parseXml(n);return this.options.preserveOrder||a===void 0?a:h1(a,this.options)},e.addEntity=function(n,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=i},t}();vf.exports=p1});var Bf=re((ZO,Sf)=>{var m1=`
12
- `;function g1(t,e){var r="";return e.format&&e.indentBy.length>0&&(r=m1),bf(t,e,"",r)}function bf(t,e,r,n){for(var i="",o=!1,s=0;s<t.length;s++){var a=t[s],c=y1(a),u="";if(r.length===0?u=c:u="".concat(r,".").concat(c),c===e.textNodeName){var l=a[c];A1(u,e)||(l=e.tagValueProcessor(c,l),l=Ef(l,e)),o&&(i+=n),i+=l,o=!1;continue}else if(c===e.cdataPropName){o&&(i+=n),i+="<![CDATA[".concat(a[c][0][e.textNodeName],"]]>"),o=!1;continue}else if(c===e.commentPropName){i+=n+"<!--".concat(a[c][0][e.textNodeName],"-->"),o=!0;continue}else if(c[0]==="?"){var f=Tf(a[":@"],e),h=c==="?xml"?"":n,d=a[c][0][e.textNodeName];d=d.length!==0?" "+d:"",i+=h+"<".concat(c).concat(d).concat(f,"?>"),o=!0;continue}var p=n;p!==""&&(p+=e.indentBy);var g=Tf(a[":@"],e),m=n+"<".concat(c).concat(g),A=bf(a[c],e,u,p);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!A||A.length===0)&&e.suppressEmptyNode?i+=m+"/>":A&&A.endsWith(">")?i+=m+">".concat(A).concat(n,"</").concat(c,">"):(i+=m+">",A&&n!==""&&(A.includes("/>")||A.includes("</"))?i+=n+e.indentBy+A+n:i+=A,i+="</".concat(c,">")),o=!0}return i}function y1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function Tf(t,e){var r="";if(t&&!e.ignoreAttributes)for(var n in t){var i=e.attributeValueProcessor(n,t[n]);i=Ef(i,e),i===!0&&e.suppressBooleanAttributes?r+=" ".concat(n.substr(e.attributeNamePrefix.length)):r+=" ".concat(n.substr(e.attributeNamePrefix.length),'="').concat(i,'"')}return r}function A1(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);var r=t.substr(t.lastIndexOf(".")+1);for(var n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+r)return!0;return!1}function Ef(t,e){if(t&&t.length>0&&e.processEntities)for(var r=0;r<e.entities.length;r++){var n=e.entities[r];t=t.replace(n.regex,n.val)}return t}Sf.exports=g1});var Mf=re((QO,Cf)=>{"use strict";function _n(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_n=function(r){return typeof r}:_n=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_n(t)}function _1(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var v1=Bf(),x1={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Bt(t){this.options=Object.assign({},x1,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=E1),this.processTextOrObjNode=T1,this.options.format?(this.indentate=b1,this.tagEndChar=`>
7
+ "use strict";var __exports__=(()=>{var c0=Object.create;var ss=Object.defineProperty;var l0=Object.getOwnPropertyDescriptor;var h0=Object.getOwnPropertyNames;var f0=Object.getPrototypeOf,u0=Object.prototype.hasOwnProperty;var Ml=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var et=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ht=(t,e)=>{for(var r in e)ss(t,r,{get:e[r],enumerable:!0})},ns=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of h0(e))!u0.call(t,s)&&s!==r&&ss(t,s,{get:()=>e[s],enumerable:!(n=l0(e,s))||n.enumerable});return t},pe=(t,e,r)=>(ns(t,e,"default"),r&&ns(r,e,"default")),v=(t,e,r)=>(r=t!=null?c0(f0(t)):{},ns(e||!t||!t.__esModule?ss(r,"default",{value:t,enumerable:!0}):r,t)),d0=t=>ns(ss({},"__esModule",{value:!0}),t);var Ut=et((oM,yl)=>{yl.exports=globalThis.deck});var Lt=et((cM,Fl)=>{Fl.exports=globalThis.deck});var os=et(ie=>{"use strict";var Nl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",g0=Nl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ol="["+Nl+"]["+g0+"]*",A0=new RegExp("^"+Ol+"$"),_0=function(t,e){let r=[],n=e.exec(t);for(;n;){let s=[];s.startIndex=e.lastIndex-n[0].length;let i=n.length;for(let o=0;o<i;o++)s.push(n[o]);r.push(s),n=e.exec(t)}return r},m0=function(t){let e=A0.exec(t);return!(e===null||typeof e>"u")};ie.isExist=function(t){return typeof t<"u"};ie.isEmptyObject=function(t){return Object.keys(t).length===0};ie.merge=function(t,e,r){if(e){let n=Object.keys(e),s=n.length;for(let i=0;i<s;i++)r==="strict"?t[n[i]]=[e[n[i]]]:t[n[i]]=e[n[i]]}};ie.getValue=function(t){return ie.isExist(t)?t:""};ie.isName=m0;ie.getAllMatches=_0;ie.nameRegexp=Ol});var ho=et(vl=>{"use strict";var lo=os(),T0={allowBooleanAttributes:!1,unpairedTags:[]};vl.validate=function(t,e){e=Object.assign({},T0,e);let r=[],n=!1,s=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let i=0;i<t.length;i++)if(t[i]==="<"&&t[i+1]==="?"){if(i+=2,i=Pl(t,i),i.err)return i}else if(t[i]==="<"){let o=i;if(i++,t[i]==="!"){i=Dl(t,i);continue}else{let a=!1;t[i]==="/"&&(a=!0,i++);let c="";for(;i<t.length&&t[i]!==">"&&t[i]!==" "&&t[i]!==" "&&t[i]!==`
8
+ `&&t[i]!=="\r";i++)c+=t[i];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),i--),!y0(c)){let f;return c.trim().length===0?f="Invalid space after '<'.":f="Tag '"+c+"' is an invalid name.",it("InvalidTag",f,Tt(t,i))}let l=x0(t,i);if(l===!1)return it("InvalidAttr","Attributes for '"+c+"' have open quote.",Tt(t,i));let h=l.value;if(i=l.index,h[h.length-1]==="/"){let f=i-h.length;h=h.substring(0,h.length-1);let u=wl(h,e);if(u===!0)n=!0;else return it(u.err.code,u.err.msg,Tt(t,f+u.err.line))}else if(a)if(l.tagClosed){if(h.trim().length>0)return it("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",Tt(t,o));{let f=r.pop();if(c!==f.tagName){let u=Tt(t,f.tagStartPos);return it("InvalidTag","Expected closing tag '"+f.tagName+"' (opened in line "+u.line+", col "+u.col+") instead of closing tag '"+c+"'.",Tt(t,o))}r.length==0&&(s=!0)}}else return it("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",Tt(t,i));else{let f=wl(h,e);if(f!==!0)return it(f.err.code,f.err.msg,Tt(t,i-h.length+f.err.line));if(s===!0)return it("InvalidXml","Multiple possible root nodes found.",Tt(t,i));e.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:o}),n=!0}for(i++;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="!"){i++,i=Dl(t,i);continue}else if(t[i+1]==="?"){if(i=Pl(t,++i),i.err)return i}else break;else if(t[i]==="&"){let f=B0(t,i);if(f==-1)return it("InvalidChar","char '&' is not expected.",Tt(t,i));i=f}else if(s===!0&&!bl(t[i]))return it("InvalidXml","Extra text at the end",Tt(t,i));t[i]==="<"&&i--}}else{if(bl(t[i]))continue;return it("InvalidChar","char '"+t[i]+"' is not expected.",Tt(t,i))}if(n){if(r.length==1)return it("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Tt(t,r[0].tagStartPos));if(r.length>0)return it("InvalidXml","Invalid '"+JSON.stringify(r.map(i=>i.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return it("InvalidXml","Start tag expected.",1);return!0};function bl(t){return t===" "||t===" "||t===`
9
+ `||t==="\r"}function Pl(t,e){let r=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(r,e-r);if(e>5&&n==="xml")return it("InvalidXml","XML declaration allowed only at the start of the document.",Tt(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Dl(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var E0='"',R0="'";function x0(t,e){let r="",n="",s=!1;for(;e<t.length;e++){if(t[e]===E0||t[e]===R0)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){s=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:s}}var S0=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function wl(t,e){let r=lo.getAllMatches(t,S0),n={};for(let s=0;s<r.length;s++){if(r[s][1].length===0)return it("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",Jr(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return it("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",Jr(r[s]));if(r[s][3]===void 0&&!e.allowBooleanAttributes)return it("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",Jr(r[s]));let i=r[s][2];if(!M0(i))return it("InvalidAttr","Attribute '"+i+"' is an invalid name.",Jr(r[s]));if(!n.hasOwnProperty(i))n[i]=1;else return it("InvalidAttr","Attribute '"+i+"' is repeated.",Jr(r[s]))}return!0}function C0(t,e){let r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}function B0(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,C0(t,e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}function it(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function M0(t){return lo.isName(t)}function y0(t){return lo.isName(t)}function Tt(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function Jr(t){return t.startIndex+t[1].length}});var Ll=et(fo=>{var Ul={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,r){return t}},I0=function(t){return Object.assign({},Ul,t)};fo.buildOptions=I0;fo.defaultOptions=Ul});var Vl=et((dM,Hl)=>{"use strict";var uo=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,r){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:r})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,[":@"]:e[":@"]}):this.child.push({[e.tagname]:e.child})}};Hl.exports=uo});var Wl=et((pM,Xl)=>{var F0=os();function N0(t,e){let r={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let n=1,s=!1,i=!1,o="";for(;e<t.length;e++)if(t[e]==="<"&&!i){if(s&&P0(t,e))e+=7,[entityName,val,e]=O0(t,e+1),val.indexOf("&")===-1&&(r[U0(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(s&&D0(t,e))e+=8;else if(s&&w0(t,e))e+=8;else if(s&&v0(t,e))e+=9;else if(b0)i=!0;else throw new Error("Invalid DOCTYPE");n++,o=""}else if(t[e]===">"){if(i?t[e-1]==="-"&&t[e-2]==="-"&&(i=!1,n--):n--,n===0)break}else t[e]==="["?s=!0:o+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:e}}function O0(t,e){let r="";for(;e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)r+=t[e];if(r=r.trim(),r.indexOf(" ")!==-1)throw new Error("External entites are not supported");let n=t[e++],s="";for(;e<t.length&&t[e]!==n;e++)s+=t[e];return[r,s,e]}function b0(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function P0(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function D0(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function w0(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function v0(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function U0(t){if(F0.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}Xl.exports=N0});var kl=et((gM,zl)=>{var L0=/^[-+]?0x[a-fA-F0-9]+$/,H0=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var V0={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function X0(t,e={}){if(e=Object.assign({},V0,e),!t||typeof t!="string")return t;let r=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(r))return t;if(e.hex&&L0.test(r))return Number.parseInt(r,16);{let n=H0.exec(r);if(n){let s=n[1],i=n[2],o=W0(n[3]),a=n[4]||n[6];if(!e.leadingZeros&&i.length>0&&s&&r[2]!==".")return t;if(!e.leadingZeros&&i.length>0&&!s&&r[1]!==".")return t;{let c=Number(r),l=""+c;return l.search(/[eE]/)!==-1||a?e.eNotation?c:t:r.indexOf(".")!==-1?l==="0"&&o===""||l===o||s&&l==="-"+o?c:t:i?o===l||s+o===l?c:t:r===l||r===s+l?c:t}}else return t}}function W0(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}zl.exports=X0});var Kl=et((_M,Gl)=>{"use strict";var _o=os(),Yr=Vl(),z0=Wl(),k0=kl(),AM="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,_o.nameRegexp),po=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=G0,this.parseXml=j0,this.parseTextData=K0,this.resolveNameSpace=J0,this.buildAttributesMap=q0,this.isItStopNode=tA,this.replaceEntitiesValue=Q0,this.readStopNodeData=rA,this.saveTextToParentTag=$0,this.addChild=Z0}};function G0(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function K0(t,e,r,n,s,i,o){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t));let a=this.options.tagValueProcessor(e,t,r,s,i);return a==null?t:typeof a!=typeof t||a!==t?a:this.options.trimValues?Ao(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Ao(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function J0(t){if(this.options.removeNSPrefix){let e=t.split(":"),r=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=r+e[1])}return t}var Y0=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function q0(t,e,r){if(!this.options.ignoreAttributes&&typeof t=="string"){let n=_o.getAllMatches(t,Y0),s=n.length,i={};for(let o=0;o<s;o++){let a=this.resolveNameSpace(n[o][1]),c=n[o][4],l=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(l=this.options.transformAttributeName(l)),l==="__proto__"&&(l="#__proto__"),c!==void 0){this.options.trimValues&&(c=c.trim()),c=this.replaceEntitiesValue(c);let h=this.options.attributeValueProcessor(a,c,e);h==null?i[l]=c:typeof h!=typeof c||h!==c?i[l]=h:i[l]=Ao(c,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(i[l]=!0)}if(!Object.keys(i).length)return;if(this.options.attributesGroupName){let o={};return o[this.options.attributesGroupName]=i,o}return i}}var j0=function(t){t=t.replace(/\r\n?/g,`
10
+ `);let e=new Yr("!xml"),r=e,n="",s="";for(let i=0;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="/"){let a=Pe(t,">",i,"Closing Tag is not closed."),c=t.substring(i+2,a).trim();if(this.options.removeNSPrefix){let f=c.indexOf(":");f!==-1&&(c=c.substr(f+1))}this.options.transformTagName&&(c=this.options.transformTagName(c)),r&&(n=this.saveTextToParentTag(n,r,s));let l=s.substring(s.lastIndexOf(".")+1);if(c&&this.options.unpairedTags.indexOf(c)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${c}>`);let h=0;l&&this.options.unpairedTags.indexOf(l)!==-1?(h=s.lastIndexOf(".",s.lastIndexOf(".")-1),this.tagsNodeStack.pop()):h=s.lastIndexOf("."),s=s.substring(0,h),r=this.tagsNodeStack.pop(),n="",i=a}else if(t[i+1]==="?"){let a=go(t,i,!1,"?>");if(!a)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,r,s),!(this.options.ignoreDeclaration&&a.tagName==="?xml"||this.options.ignorePiTags)){let c=new Yr(a.tagName);c.add(this.options.textNodeName,""),a.tagName!==a.tagExp&&a.attrExpPresent&&(c[":@"]=this.buildAttributesMap(a.tagExp,s,a.tagName)),this.addChild(r,c,s)}i=a.closeIndex+1}else if(t.substr(i+1,3)==="!--"){let a=Pe(t,"-->",i+4,"Comment is not closed.");if(this.options.commentPropName){let c=t.substring(i+4,a-2);n=this.saveTextToParentTag(n,r,s),r.add(this.options.commentPropName,[{[this.options.textNodeName]:c}])}i=a}else if(t.substr(i+1,2)==="!D"){let a=z0(t,i);this.docTypeEntities=a.entities,i=a.i}else if(t.substr(i+1,2)==="!["){let a=Pe(t,"]]>",i,"CDATA is not closed.")-2,c=t.substring(i+9,a);if(n=this.saveTextToParentTag(n,r,s),this.options.cdataPropName)r.add(this.options.cdataPropName,[{[this.options.textNodeName]:c}]);else{let l=this.parseTextData(c,r.tagname,s,!0,!1,!0);l==null&&(l=""),r.add(this.options.textNodeName,l)}i=a+2}else{let a=go(t,i,this.options.removeNSPrefix),c=a.tagName,l=a.tagExp,h=a.attrExpPresent,f=a.closeIndex;this.options.transformTagName&&(c=this.options.transformTagName(c)),r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,s,!1));let u=r;if(u&&this.options.unpairedTags.indexOf(u.tagname)!==-1&&(r=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf("."))),c!==e.tagname&&(s+=s?"."+c:c),this.isItStopNode(this.options.stopNodes,s,c)){let d="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)i=a.closeIndex;else if(this.options.unpairedTags.indexOf(c)!==-1)i=a.closeIndex;else{let _=this.readStopNodeData(t,c,f+1);if(!_)throw new Error(`Unexpected end of ${c}`);i=_.i,d=_.tagContent}let p=new Yr(c);c!==l&&h&&(p[":@"]=this.buildAttributesMap(l,s,c)),d&&(d=this.parseTextData(d,c,s,!0,h,!0,!0)),s=s.substr(0,s.lastIndexOf(".")),p.add(this.options.textNodeName,d),this.addChild(r,p,s)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){c[c.length-1]==="/"?(c=c.substr(0,c.length-1),s=s.substr(0,s.length-1),l=c):l=l.substr(0,l.length-1),this.options.transformTagName&&(c=this.options.transformTagName(c));let d=new Yr(c);c!==l&&h&&(d[":@"]=this.buildAttributesMap(l,s,c)),this.addChild(r,d,s),s=s.substr(0,s.lastIndexOf("."))}else{let d=new Yr(c);this.tagsNodeStack.push(r),c!==l&&h&&(d[":@"]=this.buildAttributesMap(l,s,c)),this.addChild(r,d,s),r=d}n="",i=f}}else n+=t[i];return e.child};function Z0(t,e,r){let n=this.options.updateTag(e.tagname,r,e[":@"]);n===!1||(typeof n=="string"&&(e.tagname=n),t.addChild(e))}var Q0=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){let r=this.docTypeEntities[e];t=t.replace(r.regx,r.val)}for(let e in this.lastEntities){let r=this.lastEntities[e];t=t.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let r=this.htmlEntities[e];t=t.replace(r.regex,r.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function $0(t,e,r,n){return t&&(n===void 0&&(n=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function tA(t,e,r){let n="*."+r;for(let s in t){let i=t[s];if(n===i||e===i)return!0}return!1}function eA(t,e,r=">"){let n,s="";for(let i=e;i<t.length;i++){let o=t[i];if(n)o===n&&(n="");else if(o==='"'||o==="'")n=o;else if(o===r[0])if(r[1]){if(t[i+1]===r[1])return{data:s,index:i}}else return{data:s,index:i};else o===" "&&(o=" ");s+=o}}function Pe(t,e,r,n){let s=t.indexOf(e,r);if(s===-1)throw new Error(n);return s+e.length-1}function go(t,e,r,n=">"){let s=eA(t,e+1,n);if(!s)return;let i=s.data,o=s.index,a=i.search(/\s/),c=i,l=!0;if(a!==-1&&(c=i.substr(0,a).replace(/\s\s*$/,""),i=i.substr(a+1)),r){let h=c.indexOf(":");h!==-1&&(c=c.substr(h+1),l=c!==s.data.substr(h+1))}return{tagName:c,tagExp:i,closeIndex:o,attrExpPresent:l}}function rA(t,e,r){let n=r,s=1;for(;r<t.length;r++)if(t[r]==="<")if(t[r+1]==="/"){let i=Pe(t,">",r,`${e} is not closed`);if(t.substring(r+2,i).trim()===e&&(s--,s===0))return{tagContent:t.substring(n,r),i};r=i}else if(t[r+1]==="?")r=Pe(t,"?>",r+1,"StopNode is not closed.");else if(t.substr(r+1,3)==="!--")r=Pe(t,"-->",r+3,"StopNode is not closed.");else if(t.substr(r+1,2)==="![")r=Pe(t,"]]>",r,"StopNode is not closed.")-2;else{let i=go(t,r,">");i&&((i&&i.tagName)===e&&i.tagExp[i.tagExp.length-1]!=="/"&&s++,r=i.closeIndex)}}function Ao(t,e,r){if(e&&typeof t=="string"){let n=t.trim();return n==="true"?!0:n==="false"?!1:k0(t,r)}else return _o.isExist(t)?t:""}Gl.exports=po});var ql=et(Yl=>{"use strict";function nA(t,e){return Jl(t,e)}function Jl(t,e,r){let n,s={};for(let i=0;i<t.length;i++){let o=t[i],a=sA(o),c="";if(r===void 0?c=a:c=r+"."+a,a===e.textNodeName)n===void 0?n=o[a]:n+=""+o[a];else{if(a===void 0)continue;if(o[a]){let l=Jl(o[a],e,c),h=oA(l,e);o[":@"]?iA(l,o[":@"],c,e):Object.keys(l).length===1&&l[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?l=l[e.textNodeName]:Object.keys(l).length===0&&(e.alwaysCreateTextNode?l[e.textNodeName]="":l=""),s[a]!==void 0&&s.hasOwnProperty(a)?(Array.isArray(s[a])||(s[a]=[s[a]]),s[a].push(l)):e.isArray(a,c,h)?s[a]=[l]:s[a]=l}}}return typeof n=="string"?n.length>0&&(s[e.textNodeName]=n):n!==void 0&&(s[e.textNodeName]=n),s}function sA(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];if(n!==":@")return n}}function iA(t,e,r,n){if(e){let s=Object.keys(e),i=s.length;for(let o=0;o<i;o++){let a=s[o];n.isArray(a,r+"."+a,!0,!0)?t[a]=[e[a]]:t[a]=e[a]}}}function oA(t,e){let{textNodeName:r}=e,n=Object.keys(t).length;return!!(n===0||n===1&&(t[r]||typeof t[r]=="boolean"||t[r]===0))}Yl.prettify=nA});var Zl=et((TM,jl)=>{var{buildOptions:aA}=Ll(),cA=Kl(),{prettify:lA}=ql(),hA=ho(),mo=class{constructor(e){this.externalEntities={},this.options=aA(e)}parse(e,r){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(r){r===!0&&(r={});let i=hA.validate(e,r);if(i!==!0)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let n=new cA(this.options);n.addExternalEntities(this.externalEntities);let s=n.parseXml(e);return this.options.preserveOrder||s===void 0?s:lA(s,this.options)}addEntity(e,r){if(r.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(r==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=r}};jl.exports=mo});var rh=et((EM,eh)=>{var fA=`
11
+ `;function uA(t,e){let r="";return e.format&&e.indentBy.length>0&&(r=fA),$l(t,e,"",r)}function $l(t,e,r,n){let s="",i=!1;for(let o=0;o<t.length;o++){let a=t[o],c=dA(a),l="";if(r.length===0?l=c:l=`${r}.${c}`,c===e.textNodeName){let p=a[c];pA(l,e)||(p=e.tagValueProcessor(c,p),p=th(p,e)),i&&(s+=n),s+=p,i=!1;continue}else if(c===e.cdataPropName){i&&(s+=n),s+=`<![CDATA[${a[c][0][e.textNodeName]}]]>`,i=!1;continue}else if(c===e.commentPropName){s+=n+`<!--${a[c][0][e.textNodeName]}-->`,i=!0;continue}else if(c[0]==="?"){let p=Ql(a[":@"],e),_=c==="?xml"?"":n,A=a[c][0][e.textNodeName];A=A.length!==0?" "+A:"",s+=_+`<${c}${A}${p}?>`,i=!0;continue}let h=n;h!==""&&(h+=e.indentBy);let f=Ql(a[":@"],e),u=n+`<${c}${f}`,d=$l(a[c],e,l,h);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?s+=u+">":s+=u+"/>":(!d||d.length===0)&&e.suppressEmptyNode?s+=u+"/>":d&&d.endsWith(">")?s+=u+`>${d}${n}</${c}>`:(s+=u+">",d&&n!==""&&(d.includes("/>")||d.includes("</"))?s+=n+e.indentBy+d+n:s+=d,s+=`</${c}>`),i=!0}return s}function dA(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];if(n!==":@")return n}}function Ql(t,e){let r="";if(t&&!e.ignoreAttributes)for(let n in t){let s=e.attributeValueProcessor(n,t[n]);s=th(s,e),s===!0&&e.suppressBooleanAttributes?r+=` ${n.substr(e.attributeNamePrefix.length)}`:r+=` ${n.substr(e.attributeNamePrefix.length)}="${s}"`}return r}function pA(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);let r=t.substr(t.lastIndexOf(".")+1);for(let n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+r)return!0;return!1}function th(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){let n=e.entities[r];t=t.replace(n.regex,n.val)}return t}eh.exports=uA});var sh=et((RM,nh)=>{"use strict";var gA=rh(),AA={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function ge(t){this.options=Object.assign({},AA,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=TA),this.processTextOrObjNode=_A,this.options.format?(this.indentate=mA,this.tagEndChar=`>
13
12
  `,this.newLine=`
14
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Bt.prototype.build=function(t){return this.options.preserveOrder?v1(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t=_1({},this.options.arrayNodeName,t)),this.j2x(t,0).val)};Bt.prototype.j2x=function(t,e){var r="",n="";for(var i in t)if(typeof t[i]>"u")this.isAttribute(i)&&(n+="");else if(t[i]===null)this.isAttribute(i)?n+="":i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)n+=this.buildTextValNode(t[i],i,"",e);else if(_n(t[i])!=="object"){var o=this.isAttribute(i);if(o)r+=this.buildAttrPairStr(o,""+t[i]);else if(i===this.options.textNodeName){var s=this.options.tagValueProcessor(i,""+t[i]);n+=this.replaceEntitiesValue(s)}else n+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){for(var a=t[i].length,c="",u=0;u<a;u++){var l=t[i][u];typeof l>"u"||(l===null?i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:_n(l)==="object"?this.options.oneListGroup?c+=this.j2x(l,e+1).val:c+=this.processTextOrObjNode(l,i,e):c+=this.buildTextValNode(l,i,"",e))}this.options.oneListGroup&&(c=this.buildObjectNode(c,i,"",e)),n+=c}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName)for(var f=Object.keys(t[i]),h=f.length,d=0;d<h;d++)r+=this.buildAttrPairStr(f[d],""+t[i][f[d]]);else n+=this.processTextOrObjNode(t[i],i,e);return{attrStr:r,val:n}};Bt.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function T1(t,e,r){var n=this.j2x(t,r+1);return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}Bt.prototype.buildObjectNode=function(t,e,r,n){if(t==="")return e[0]==="?"?this.indentate(n)+"<"+e+r+"?"+this.tagEndChar:this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar;var i="</"+e+this.tagEndChar,o="";return e[0]==="?"&&(o="?",i=""),(r||r==="")&&t.indexOf("<")===-1?this.indentate(n)+"<"+e+r+o+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&o.length===0?this.indentate(n)+"<!--".concat(t,"-->")+this.newLine:this.indentate(n)+"<"+e+r+o+this.tagEndChar+t+this.indentate(n)+i};Bt.prototype.closeTag=function(t){var e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e="></".concat(t),e};Bt.prototype.buildTextValNode=function(t,e,r,n){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(n)+"<![CDATA[".concat(t,"]]>")+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(n)+"<!--".concat(t,"-->")+this.newLine;if(e[0]==="?")return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;var i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+i+"</"+e+this.tagEndChar};Bt.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e<this.options.entities.length;e++){var r=this.options.entities[e];t=t.replace(r.regex,r.val)}return t};function b1(t){return this.options.indentBy.repeat(t)}function E1(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}Cf.exports=Bt});var If=re(($O,wf)=>{"use strict";var S1=ua(),B1=xf(),C1=Mf();wf.exports={XMLParser:B1,XMLValidator:S1,XMLBuilder:C1}});var xc=re((md,Fn)=>{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof Wl=="function"&&typeof Fn=="object"&&Fn&&Fn.exports?Fn.exports=e():(t.dcodeIO=t.dcodeIO||{}).Long=e()})(md,function(){"use strict";function t(b,y,M){this.low=b|0,this.high=y|0,this.unsigned=!!M}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function e(b){return(b&&b.__isLong__)===!0}t.isLong=e;var r={},n={};function i(b,y){var M,I,O;return y?(b>>>=0,(O=0<=b&&b<256)&&(I=n[b],I)?I:(M=s(b,(b|0)<0?-1:0,!0),O&&(n[b]=M),M)):(b|=0,(O=-128<=b&&b<128)&&(I=r[b],I)?I:(M=s(b,b<0?-1:0,!1),O&&(r[b]=M),M))}t.fromInt=i;function o(b,y){if(isNaN(b)||!isFinite(b))return y?A:m;if(y){if(b<0)return A;if(b>=d)return S}else{if(b<=-p)return C;if(b+1>=p)return B}return b<0?o(-b,y).neg():s(b%h|0,b/h|0,y)}t.fromNumber=o;function s(b,y,M){return new t(b,y,M)}t.fromBits=s;var a=Math.pow;function c(b,y,M){if(b.length===0)throw Error("empty string");if(b==="NaN"||b==="Infinity"||b==="+Infinity"||b==="-Infinity")return m;if(typeof y=="number"?(M=y,y=!1):y=!!y,M=M||10,M<2||36<M)throw RangeError("radix");var I;if((I=b.indexOf("-"))>0)throw Error("interior hyphen");if(I===0)return c(b.substring(1),y,M).neg();for(var O=o(a(M,8)),R=m,F=0;F<b.length;F+=8){var X=Math.min(8,b.length-F),z=parseInt(b.substring(F,F+X),M);if(X<8){var Q=o(a(M,X));R=R.mul(Q).add(o(z))}else R=R.mul(O),R=R.add(o(z))}return R.unsigned=y,R}t.fromString=c;function u(b){return b instanceof t?b:typeof b=="number"?o(b):typeof b=="string"?c(b):s(b.low,b.high,b.unsigned)}t.fromValue=u;var l=1<<16,f=1<<24,h=l*l,d=h*h,p=d/2,g=i(f),m=i(0);t.ZERO=m;var A=i(0,!0);t.UZERO=A;var _=i(1);t.ONE=_;var v=i(1,!0);t.UONE=v;var x=i(-1);t.NEG_ONE=x;var B=s(-1,2147483647,!1);t.MAX_VALUE=B;var S=s(-1,-1,!0);t.MAX_UNSIGNED_VALUE=S;var C=s(0,-2147483648,!1);t.MIN_VALUE=C;var E=t.prototype;return E.toInt=function(){return this.unsigned?this.low>>>0:this.low},E.toNumber=function(){return this.unsigned?(this.high>>>0)*h+(this.low>>>0):this.high*h+(this.low>>>0)},E.toString=function(y){if(y=y||10,y<2||36<y)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(C)){var M=o(y),I=this.div(M),O=I.mul(M).sub(this);return I.toString(y)+O.toInt().toString(y)}else return"-"+this.neg().toString(y);for(var R=o(a(y,6),this.unsigned),F=this,X="";;){var z=F.div(R),Q=F.sub(z.mul(R)).toInt()>>>0,W=Q.toString(y);if(F=z,F.isZero())return W+X;for(;W.length<6;)W="0"+W;X=""+W+X}},E.getHighBits=function(){return this.high},E.getHighBitsUnsigned=function(){return this.high>>>0},E.getLowBits=function(){return this.low},E.getLowBitsUnsigned=function(){return this.low>>>0},E.getNumBitsAbs=function(){if(this.isNegative())return this.eq(C)?64:this.neg().getNumBitsAbs();for(var y=this.high!=0?this.high:this.low,M=31;M>0&&!(y&1<<M);M--);return this.high!=0?M+33:M+1},E.isZero=function(){return this.high===0&&this.low===0},E.isNegative=function(){return!this.unsigned&&this.high<0},E.isPositive=function(){return this.unsigned||this.high>=0},E.isOdd=function(){return(this.low&1)===1},E.isEven=function(){return(this.low&1)===0},E.equals=function(y){return e(y)||(y=u(y)),this.unsigned!==y.unsigned&&this.high>>>31===1&&y.high>>>31===1?!1:this.high===y.high&&this.low===y.low},E.eq=E.equals,E.notEquals=function(y){return!this.eq(y)},E.neq=E.notEquals,E.lessThan=function(y){return this.comp(y)<0},E.lt=E.lessThan,E.lessThanOrEqual=function(y){return this.comp(y)<=0},E.lte=E.lessThanOrEqual,E.greaterThan=function(y){return this.comp(y)>0},E.gt=E.greaterThan,E.greaterThanOrEqual=function(y){return this.comp(y)>=0},E.gte=E.greaterThanOrEqual,E.compare=function(y){if(e(y)||(y=u(y)),this.eq(y))return 0;var M=this.isNegative(),I=y.isNegative();return M&&!I?-1:!M&&I?1:this.unsigned?y.high>>>0>this.high>>>0||y.high===this.high&&y.low>>>0>this.low>>>0?-1:1:this.sub(y).isNegative()?-1:1},E.comp=E.compare,E.negate=function(){return!this.unsigned&&this.eq(C)?C:this.not().add(_)},E.neg=E.negate,E.add=function(y){e(y)||(y=u(y));var M=this.high>>>16,I=this.high&65535,O=this.low>>>16,R=this.low&65535,F=y.high>>>16,X=y.high&65535,z=y.low>>>16,Q=y.low&65535,W=0,K=0,ee=0,xe=0;return xe+=R+Q,ee+=xe>>>16,xe&=65535,ee+=O+z,K+=ee>>>16,ee&=65535,K+=I+X,W+=K>>>16,K&=65535,W+=M+F,W&=65535,s(ee<<16|xe,W<<16|K,this.unsigned)},E.subtract=function(y){return e(y)||(y=u(y)),this.add(y.neg())},E.sub=E.subtract,E.multiply=function(y){if(this.isZero()||(e(y)||(y=u(y)),y.isZero()))return m;if(this.eq(C))return y.isOdd()?C:m;if(y.eq(C))return this.isOdd()?C:m;if(this.isNegative())return y.isNegative()?this.neg().mul(y.neg()):this.neg().mul(y).neg();if(y.isNegative())return this.mul(y.neg()).neg();if(this.lt(g)&&y.lt(g))return o(this.toNumber()*y.toNumber(),this.unsigned);var M=this.high>>>16,I=this.high&65535,O=this.low>>>16,R=this.low&65535,F=y.high>>>16,X=y.high&65535,z=y.low>>>16,Q=y.low&65535,W=0,K=0,ee=0,xe=0;return xe+=R*Q,ee+=xe>>>16,xe&=65535,ee+=O*Q,K+=ee>>>16,ee&=65535,ee+=R*z,K+=ee>>>16,ee&=65535,K+=I*Q,W+=K>>>16,K&=65535,K+=O*z,W+=K>>>16,K&=65535,K+=R*X,W+=K>>>16,K&=65535,W+=M*Q+I*z+O*X+R*F,W&=65535,s(ee<<16|xe,W<<16|K,this.unsigned)},E.mul=E.multiply,E.divide=function(y){if(e(y)||(y=u(y)),y.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?A:m;var M,I,O;if(this.unsigned){if(y.unsigned||(y=y.toUnsigned()),y.gt(this))return A;if(y.gt(this.shru(1)))return v;O=A}else{if(this.eq(C)){if(y.eq(_)||y.eq(x))return C;if(y.eq(C))return _;var R=this.shr(1);return M=R.div(y).shl(1),M.eq(m)?y.isNegative()?_:x:(I=this.sub(y.mul(M)),O=M.add(I.div(y)),O)}else if(y.eq(C))return this.unsigned?A:m;if(this.isNegative())return y.isNegative()?this.neg().div(y.neg()):this.neg().div(y).neg();if(y.isNegative())return this.div(y.neg()).neg();O=m}for(I=this;I.gte(y);){M=Math.max(1,Math.floor(I.toNumber()/y.toNumber()));for(var F=Math.ceil(Math.log(M)/Math.LN2),X=F<=48?1:a(2,F-48),z=o(M),Q=z.mul(y);Q.isNegative()||Q.gt(I);)M-=X,z=o(M,this.unsigned),Q=z.mul(y);z.isZero()&&(z=_),O=O.add(z),I=I.sub(Q)}return O},E.div=E.divide,E.modulo=function(y){return e(y)||(y=u(y)),this.sub(this.div(y).mul(y))},E.mod=E.modulo,E.not=function(){return s(~this.low,~this.high,this.unsigned)},E.and=function(y){return e(y)||(y=u(y)),s(this.low&y.low,this.high&y.high,this.unsigned)},E.or=function(y){return e(y)||(y=u(y)),s(this.low|y.low,this.high|y.high,this.unsigned)},E.xor=function(y){return e(y)||(y=u(y)),s(this.low^y.low,this.high^y.high,this.unsigned)},E.shiftLeft=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low<<y,this.high<<y|this.low>>>32-y,this.unsigned):s(0,this.low<<y-32,this.unsigned)},E.shl=E.shiftLeft,E.shiftRight=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low>>>y|this.high<<32-y,this.high>>y,this.unsigned):s(this.high>>y-32,this.high>=0?0:-1,this.unsigned)},E.shr=E.shiftRight,E.shiftRightUnsigned=function(y){if(e(y)&&(y=y.toInt()),y&=63,y===0)return this;var M=this.high;if(y<32){var I=this.low;return s(I>>>y|M<<32-y,M>>>y,this.unsigned)}else return y===32?s(M,0,this.unsigned):s(M>>>y-32,0,this.unsigned)},E.shru=E.shiftRightUnsigned,E.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},E.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},E.toBytes=function(b){return b?this.toBytesLE():this.toBytesBE()},E.toBytesLE=function(){var b=this.high,y=this.low;return[y&255,y>>>8&255,y>>>16&255,y>>>24&255,b&255,b>>>8&255,b>>>16&255,b>>>24&255]},E.toBytesBE=function(){var b=this.high,y=this.low;return[b>>>24&255,b>>>16&255,b>>>8&255,b&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255]},t})});var Oo=re((iU,dp)=>{dp.exports=globalThis.h3||{}});var _t=re((dU,Cp)=>{Cp.exports=globalThis.luma});var Vo=re((EG,cm)=>{cm.exports=globalThis.deck});var Jr=re((y4,wm)=>{wm.exports=globalThis.loaders});var oy=re((Uj,iy)=>{iy.exports=globalThis.deck});var my=re(Rl=>{Rl.read=function(t,e,r,n,i){var o,s,a=i*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=o*256+t[e+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=n;l>0;s=s*256+t[e+f],f+=h,l-=8);if(o===0)o=1-u;else{if(o===c)return s?NaN:(d?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-u}return(d?-1:1)*s*Math.pow(2,o-n)};Rl.write=function(t,e,r,n,i,o){var s,a,c,u=o*8-i-1,l=(1<<u)-1,f=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+f>=1?e+=h/c:e+=h*Math.pow(2,1-f),e*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(e*c-1)*Math.pow(2,i),s=s+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;t[r+d]=a&255,d+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;t[r+d]=s&255,d+=p,s/=256,u-=8);t[r+d-p]|=g*128}});var xy=re((Ck,vy)=>{"use strict";vy.exports=k;var Zs=my();function k(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}k.Varint=0;k.Fixed64=1;k.Bytes=2;k.Fixed32=5;var Ll=(1<<16)*(1<<16),gy=1/Ll,a2=12,_y=typeof TextDecoder>"u"?null:new TextDecoder("utf8");k.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,o=this.pos;this.type=n&7,t(i,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Qs(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ay(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Qs(this.buf,this.pos)+Qs(this.buf,this.pos+4)*Ll;return this.pos+=8,t},readSFixed64:function(){var t=Qs(this.buf,this.pos)+Ay(this.buf,this.pos+4)*Ll;return this.pos+=8,t},readFloat:function(){var t=Zs.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Zs.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,c2(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=a2&&_y?T2(this.buf,e,t):x2(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==k.Bytes)return t.push(this.readVarint(e));var r=Et(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==k.Bytes)return t.push(this.readSVarint());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==k.Bytes)return t.push(this.readBoolean());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==k.Bytes)return t.push(this.readFloat());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==k.Bytes)return t.push(this.readDouble());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed32());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed32());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed64());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed64());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===k.Varint)for(;this.buf[this.pos++]>127;);else if(e===k.Bytes)this.pos=this.readVarint()+this.pos;else if(e===k.Fixed32)this.pos+=4;else if(e===k.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),gn(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),gn(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),gn(this.buf,t&-1,this.pos),gn(this.buf,Math.floor(t*gy),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),gn(this.buf,t&-1,this.pos),gn(this.buf,Math.floor(t*gy),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){u2(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=b2(this.buf,t,this.pos);var r=this.pos-e;r>=128&&yy(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Zs.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Zs.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&yy(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,k.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,h2,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,d2,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,g2,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,p2,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,m2,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,y2,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,A2,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,_2,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,v2,e)},writeBytesField:function(t,e){this.writeTag(t,k.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,k.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,k.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,k.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function c2(t,e,r){var n=r.buf,i,o;if(o=n[r.pos++],i=(o&112)>>4,o<128||(o=n[r.pos++],i|=(o&127)<<3,o<128)||(o=n[r.pos++],i|=(o&127)<<10,o<128)||(o=n[r.pos++],i|=(o&127)<<17,o<128)||(o=n[r.pos++],i|=(o&127)<<24,o<128)||(o=n[r.pos++],i|=(o&1)<<31,o<128))return mn(t,i,e);throw new Error("Expected varint not more than 10 bytes")}function Et(t){return t.type===k.Bytes?t.readVarint()+t.pos:t.pos+1}function mn(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function u2(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),l2(r,n,e),f2(n,e)}function l2(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function f2(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function yy(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function h2(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function d2(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function p2(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function m2(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function g2(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function y2(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function A2(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function _2(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function v2(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function Qs(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function gn(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Ay(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function x2(t,e,r){for(var n="",i=e;i<r;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a>r)break;var c,u,l;a===1?o<128&&(s=o):a===2?(c=t[i+1],(c&192)===128&&(s=(o&31)<<6|c&63,s<=127&&(s=null))):a===3?(c=t[i+1],u=t[i+2],(c&192)===128&&(u&192)===128&&(s=(o&15)<<12|(c&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):a===4&&(c=t[i+1],u=t[i+2],l=t[i+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(s=(o&15)<<18|(c&63)<<12|(u&63)<<6|l&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,a=1):s>65535&&(s-=65536,n+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),n+=String.fromCharCode(s),i+=a}return n}function T2(t,e,r){return _y.decode(t.subarray(e,r))}function b2(t,e,r){for(var n=0,i,o;n<e.length;n++){if(i=e.charCodeAt(n),i>55295&&i<57344)if(o)if(i<56320){t[r++]=239,t[r++]=191,t[r++]=189,o=i;continue}else i=o-55296<<10|i-56320|65536,o=null;else{i>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):o=i;continue}else o&&(t[r++]=239,t[r++]=191,t[r++]=189,o=null);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:(i<65536?t[r++]=i>>12|224:(t[r++]=i>>18|240,t[r++]=i>>12&63|128),t[r++]=i>>6&63|128),t[r++]=i&63|128)}return r}});var Bi={};de(Bi,{GeohashLayer:()=>aa,GreatCircleLayer:()=>so,H3ClusterLayer:()=>Uo,H3HexagonLayer:()=>ur,MVTLayer:()=>ia,QuadkeyLayer:()=>go,S2Layer:()=>ho,TerrainLayer:()=>ks,Tile3DLayer:()=>Ds,TileLayer:()=>At,TripsLayer:()=>Io,_GeoCellLayer:()=>Le,_Tile2DHeader:()=>Dn,_Tileset2D:()=>zn,_WMSLayer:()=>no,_getURLFromTemplate:()=>ot});var Qe={},Kl=P(Ve());St(Qe,P(Ve()));if(!Kl.GeoJsonLayer)throw new Error("@deck.gl/layers is not found");St(Bi,Qe);var cr=P(ze()),fd=P(Ve());function oA(t){return typeof t=="string"?t.charAt(0).toLowerCase()+t.slice(1):t}function wi(t){if(Array.isArray(t))return t.map(e=>wi(e));if(t&&typeof t=="object"){let e={};for(let[r,n]of Object.entries(t))e[oA(r)]=wi(n);return e}return t}var Of=P(If(),1);function pa(t,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e?._parser);let r={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e?.removeNSPrefix,textNodeName:e?.textNodeName,isArray:(i,o,s,a)=>{var c;return Boolean(e==null||(c=e.arrayPaths)===null||c===void 0?void 0:c.some(l=>o===l))},...e?._fastXML},n=M1(t,r);return e!=null&&e.uncapitalizeKeys?wi(n):n}function M1(t,e){return new Of.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(t)}var w1="4.1.0-alpha.9",Ae={name:"XML",id:"xml",module:"xml",version:w1,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:I1,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(t,e)=>pa(new TextDecoder().decode(t),{...Ae.options.xml,...e?.xml}),parseTextSync:(t,e)=>pa(t,{...Ae.options.xml,...e?.xml})};function I1(t){return t.startsWith("<?xml")}async function Ce(t,e,r,n){return n._parse(t,e,r,n)}function H(t,e){if(!t)throw new Error(e||"loader assertion failed.")}var $e={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},O1=$e.self||$e.window||$e.global||{},R1=$e.window||$e.self||$e.global||{},L1=$e.global||$e.self||$e.window||{},P1=$e.document||{};var vn=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Rf=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),F1=Rf&&parseFloat(Rf[1])||0;function ma(t,e){return Lf(t||{},e)}function Lf(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(r>3)return e;let n={...t};for(let[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=Lf(n[i]||{},e[i],r+1):n[i]=e[i];return n}function D1(){var t;return(t=globalThis._loadersgl_)!==null&&t!==void 0&&t.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.1.0-alpha.9"),globalThis._loadersgl_.version}var Pf=D1();function Ff(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var et={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},lR=et.self||et.window||et.global||{},fR=et.window||et.self||et.global||{},hR=et.global||et.self||et.window||{},dR=et.document||{};var wr=typeof process!="object"||String(process)!=="[object process]"||process.browser,Ri=typeof importScripts=="function",pR=typeof window<"u"&&typeof window.orientation<"u",Df=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),mR=Df&&parseFloat(Df[1])||0;var ga={};async function tt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return e&&(t=Nf(t,e,r,n)),ga[t]=ga[t]||N1(t),await ga[t]}function Nf(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(!r.useLocalLibraries&&t.startsWith("http"))return t;n=n||t;let i=r.modules||{};return i[n]?i[n]:wr?r.CDN?(Ff(r.CDN.startsWith("http")),`${r.CDN}/${e}@${Pf}/dist/libs/${n}`):Ri?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function N1(t){if(t.endsWith("wasm"))return await G1(t);if(!wr)try{return Me&&Me.requireFromFile&&await Me.requireFromFile(t)}catch(r){return console.error(r),null}if(Ri)return importScripts(t);let e=await H1(t);return U1(e,t)}function U1(t,e){if(!wr)return Me.requireFromString&&Me.requireFromString(t,e);if(Ri)return eval.call(globalThis,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}async function G1(t){return wr||!Me.readFileAsArrayBuffer||t.startsWith("http")?await(await fetch(t)).arrayBuffer():await Me.readFileAsArrayBuffer(t)}async function H1(t){return wr||!Me.readFileAsText||t.startsWith("http")?await(await fetch(t)).text():await Me.readFileAsText(t)}function Gf(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof t=="string"?t.slice(0,e):ArrayBuffer.isView(t)?Uf(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?Uf(t,0,e):""}function Uf(t,e,r){if(t.byteLength<=e+r)return"";let n=new DataView(t),i="";for(let o=0;o<r;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}function ya(t){try{return JSON.parse(t)}catch{throw new Error(`Failed to parse JSON from data starting with "${Gf(t)}"`)}}function xn(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n=e,i=n&&n.length>1&&n[0].constructor||null;if(!i)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let o=n.reduce((c,u)=>c+u.length,0),s=new i(o),a=0;for(let c of n)s.set(c,a),a+=c.length;return s}function $t(t,e,r){let n=r!==void 0?new Uint8Array(t).subarray(e,e+r):new Uint8Array(t).subarray(e);return new Uint8Array(n).buffer}function Ct(t,e){return H(t>=0),H(e>0),t+(e-1)&~(e-1)}function Aa(t,e,r){let n;if(t instanceof ArrayBuffer)n=new Uint8Array(t);else{let i=t.byteOffset,o=t.byteLength;n=new Uint8Array(t.buffer||t.arrayBuffer,i,o)}return e.set(n,r),r+Ct(n.byteLength,4)}function Tn(){let t;if(typeof window<"u"&&window.performance)t=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var er=class{constructor(e,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=e,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Tn(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Tn()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Mt=class{constructor(e){this.id=void 0,this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:e,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let r of Object.values(this.stats))e(r)}getTable(){let e={};return this.forEach(r=>{e[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(e){let{name:r,type:n}=e,i=this.stats[r];return i||(e instanceof er?i=e:i=new er(r,n),this.stats[r]=i),i}};var V1="Queued Requests",z1="Active Requests",j1="Cancelled Requests",k1="Queued Requests Ever",J1="Active Requests Ever",q1={id:"request-scheduler",throttleRequests:!0,maxRequests:6},wt=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.props=void 0,this.stats=void 0,this.activeRequestCount=0,this.requestQueue=[],this.requestMap=new Map,this.deferredUpdate=null,this.props={...q1,...e},this.stats=new Mt({id:this.props.id}),this.stats.get(V1),this.stats.get(z1),this.stats.get(j1),this.stats.get(k1),this.stats.get(J1)}scheduleRequest(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);let n={handle:e,priority:0,getPriority:r},i=new Promise(o=>(n.resolve=o,n));return this.requestQueue.push(n),this.requestMap.set(e,i),this._issueNewRequests(),i}_issueRequest(e){let{handle:r,resolve:n}=e,i=!1,o=()=>{i||(i=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:o}):Promise.resolve({done:o})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let r=0;r<e;++r){let n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){let e=this.requestQueue;for(let r=0;r<e.length;++r){let n=e[r];this._updateRequest(n)||(e.splice(r,1),this.requestMap.delete(n.handle),r--)}e.sort((r,n)=>r.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}};var It={};de(It,{dirname:()=>X1,filename:()=>W1,join:()=>K1,resolve:()=>Y1});function Hf(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)===null||t===void 0?void 0:t.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function W1(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(e+1):""}function X1(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(0,e):""}function K1(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n="/";return e=e.map((i,o)=>(o&&(i=i.replace(new RegExp(`^${n}`),"")),o!==e.length-1&&(i=i.replace(new RegExp(`${n}$`),"")),i)),e.join(n)}function Y1(){let t=[];for(let i=0;i<arguments.length;i++)t[i]=i<0||arguments.length<=i?void 0:arguments[i];let e="",r=!1,n;for(let i=t.length-1;i>=-1&&!r;i--){let o;i>=0?o=t[i]:(n===void 0&&(n=Hf()),o=n),o.length!==0&&(e=`${o}/${e}`,r=o.charCodeAt(0)===bn)}return e=Z1(e,!r),r?`/${e}`:e.length>0?e:"."}var bn=47,_a=46;function Z1(t,e){let r="",n=-1,i=0,o,s=!1;for(let a=0;a<=t.length;++a){if(a<t.length)o=t.charCodeAt(a);else{if(o===bn)break;o=bn}if(o===bn){if(!(n===a-1||i===1))if(n!==a-1&&i===2){if(r.length<2||!s||r.charCodeAt(r.length-1)!==_a||r.charCodeAt(r.length-2)!==_a){if(r.length>2){let c=r.length-1,u=c;for(;u>=0&&r.charCodeAt(u)!==bn;--u);if(u!==c){r=u===-1?"":r.slice(0,u),n=a,i=0,s=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,i=0,s=!1;continue}}e&&(r.length>0?r+="/..":r="..",s=!0)}else{let c=t.slice(n+1,a);r.length>0?r+=`/${c}`:r=c,s=!1}n=a,i=0}else o===_a&&i!==-1?++i:i=-1}return r}var Li=class{constructor(e){this.data=void 0,this.fetch=void 0,this.loadOptions=void 0,this._needsRefresh=!0,this.props=void 0,this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=Q1(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=this._needsRefresh;return e&&(this._needsRefresh=!1),r}};function Q1(t){let e=t?.fetch;if(e&&typeof e=="function")return(n,i)=>e(n,i);let r=t?.fetch;return r&&typeof r!="function"?n=>fetch(n,r):n=>fetch(n)}var Re=class extends Li{};Re.type="template";Re.testURL=t=>!1;function Vf(t,e){var r,n,i;let o=(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e),s=(o==null||(n=o.ServiceExceptionReport)===null||n===void 0?void 0:n.ServiceException)||(o==null||(i=o["ogc:ServiceExceptionReport"])===null||i===void 0?void 0:i["ogc:ServiceException"]);return typeof s=="string"?s:s.value||s.code||"Unknown error"}var $1="4.1.0-alpha.9",tr={id:"wms-error",name:"WMS Error",module:"wms",version:$1,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:e_,options:{wms:{throwOnError:!1}},parse:async(t,e)=>va(new TextDecoder().decode(t),e),parseSync:(t,e)=>va(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>va(t,e)};function e_(t){return t.startsWith("<?xml")}function va(t,e){let r={...tr.options.wms,...e?.wms},n=Vf(t,r),i=r.minimalErrors?n:`WMS Service error: ${n}`;if(r.throwOnError)throw new Error(i);return i}function rr(t){return Array.isArray(t)?t:t?[t]:[]}function En(t){let e=rr(t);return e.length>0&&e.every(r=>typeof r=="string")?e:[]}function Sn(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseFloat(t);default:return}}function Pi(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseInt(t,10);default:return}}function nr(t){switch(t){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function xa(t,e){var r;let n=(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e),i=n.WMT_MS_Capabilities||n.WMS_Capabilities||n,o=t_(i);if(e!=null&&e.inheritedLayerProps)for(let s of o.layers)jf(s,null);return e!=null&&e.includeRawJSON&&(o.json=i),e!=null&&e.includeXMLText&&(o.xml=t),o}function t_(t){var e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m;let A={version:String(t.version||""),name:String(((e=t.Service)===null||e===void 0?void 0:e.Name)||"unnamed"),title:(r=t.Service)!==null&&r!==void 0&&r.Title?String((n=t.Service)===null||n===void 0?void 0:n.Title):void 0,abstract:(i=t.Service)!==null&&i!==void 0&&i.Abstract?String((o=t.Service)===null||o===void 0?void 0:o.Abstract):void 0,keywords:En((s=t.Service)===null||s===void 0||(a=s.KeywordList)===null||a===void 0?void 0:a.Keyword),fees:(c=t.Service)!==null&&c!==void 0&&c.Fees?JSON.stringify((u=t.Service)===null||u===void 0?void 0:u.Fees):void 0,accessConstraints:(l=t.Service)!==null&&l!==void 0&&l.AccessConstraints?JSON.stringify((f=t.Service)===null||f===void 0?void 0:f.AccessConstraints):void 0,layerLimit:Pi((h=t.Service)===null||h===void 0?void 0:h.LayerLimit),maxWidth:Pi((d=t.Service)===null||d===void 0?void 0:d.maxWidth),maxHeight:Pi((p=t.Service)===null||p===void 0?void 0:p.maxHeight),layers:[],requests:r_((g=t.Capability)===null||g===void 0?void 0:g.Request),exceptions:n_(t.Exception)},_=rr((m=t.Capability)===null||m===void 0?void 0:m.Layer);for(let v of _)A.layers.push(zf(v));for(let[v,x]of Object.entries(A))x===void 0&&delete A[v];return A}function r_(t){let e={};for(let[r,n]of Object.entries(t||{})){let i=En(n?.Format);e[r]={mimeTypes:i}}return e}function n_(t){if(rr(t?.Format).length>0)return{mimeTypes:En(t)}}function zf(t){var e;let r={title:String(t?.Title||""),name:t?.Name&&String(t?.Name),abstract:t?.Name&&String(t?.Abstract),keywords:En((e=t.KeywordList)===null||e===void 0?void 0:e.Keyword)},n=t?.CRS||t?.SRS;n&&Array.isArray(n)&&n.every(l=>typeof l=="string")&&(r.crs=n);let i=t?.EX_GeographicBoundingBox&&i_(t?.EX_GeographicBoundingBox);i&&(r.geographicBoundingBox=i),i=t?.LatLonBoundingBox&&o_(t?.LatLonBoundingBox),i&&(r.geographicBoundingBox=i);let o=t?.BoundingBox&&s_(t?.BoundingBox);o&&o.length>0&&(r.boundingBoxes=o);let a=rr(t?.Dimension).map(l=>c_(l));a.length&&(r.dimensions=a),t!=null&&t.opaque&&(r.opaque=nr(t?.opaque)),t!=null&&t.cascaded&&(r.cascaded=nr(t?.cascaded)),t!=null&&t.queryable&&(r.queryable=nr(t?.queryable));let c=rr(t?.Layer),u=[];for(let l of c)u.push(zf(l));u.length>0&&(r.layers=u);for(let[l,f]of Object.entries(r))f===void 0&&delete r[l];return r}function i_(t){let{westBoundLongitude:e,northBoundLatitude:r,eastBoundLongitude:n,southBoundLatitude:i}=t;return[[e,i],[n,r]]}function o_(t){let{minx:e,miny:r,maxx:n,maxy:i}=t;return[[e,r],[n,i]]}function s_(t){return rr(t).map(r=>a_(r))}function a_(t){let{CRS:e,SRS:r,minx:n,miny:i,maxx:o,maxy:s,resx:a,resy:c}=t,u={crs:e||r,boundingBox:[[Sn(n),Sn(i)],[Sn(o),Sn(s)]]};return a&&(u.xResolution=a),c&&(u.yResolution=c),u}function c_(t){let{name:e,units:r,value:n}=t,i={name:e,units:r,extent:n};return t.unitSymbol&&(i.unitSymbol=t.unitSymbol),t.default&&(i.defaultValue=t.default),t.multipleValues&&(i.multipleValues=nr(t.multipleValues)),t.nearestValue&&(i.nearestValue=nr(t.nearestValue)),t.current&&(i.current=nr(t.current)),i}function jf(t,e){e!=null&&e.geographicBoundingBox&&!t.geographicBoundingBox&&(t.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!t.crs&&(t.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!t.boundingBoxes&&(t.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!t.dimensions&&(t.dimensions=[...e.dimensions]);for(let r of t.layers||[])jf(r,t)}var u_="4.1.0-alpha.9",Ir={id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:u_,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:l_,options:{wms:{}},parse:async(t,e)=>xa(new TextDecoder().decode(t),e?.wms),parseTextSync:(t,e)=>xa(t,e?.wms)};function l_(t){return t.startsWith("<?xml")}function Ta(t,e){var r,n;let o=((n=((r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e)).FeatureInfoResponse)===null||n===void 0?void 0:n.FIELDS)||[];return{features:(Array.isArray(o)?o:[o]).map(a=>f_(a))}}function f_(t){return{attributes:t||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}var kf={...Ir,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(t,e)=>Ta(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Ta(t,e)};function ba(t,e){var r;return(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e)}var Jf={...Ir,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(t,e)=>ba(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>ba(t,e)};function qf(t,e){let{type:r="auto"}=t,n=r==="auto"?d_(t.url,e):h_(r,e);if(!n)throw new Error("Not a valid image source type");return n.create(t)}function h_(t,e){for(let r of e)if(r.type===t)return r;return null}function d_(t,e){for(let r of e)if(r.testURL&&r.testURL(t))return r;return null}var Wf="4.1.0-alpha.9";var Ea,p_=(Ea=globalThis.loaders)===null||Ea===void 0?void 0:Ea.parseImageNode,Sa=typeof Image<"u",Ba=typeof ImageBitmap<"u",m_=Boolean(p_),Ca=vn?!0:m_;function Xf(t){switch(t){case"auto":return Ba||Sa||Ca;case"imagebitmap":return Ba;case"image":return Sa;case"data":return Ca;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function Kf(){if(Ba)return"imagebitmap";if(Sa)return"image";if(Ca)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Yf(t){let e=g_(t);if(!e)throw new Error("Not an image");return e}function Bn(t){switch(Yf(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("getImageData");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0),r.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function g_(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&t instanceof Image?"image":t&&typeof t=="object"&&t.data&&t.width&&t.height?"data":null}var y_=/^data:image\/svg\+xml/,A_=/\.svg((\?|#).*)?$/;function Fi(t){return t&&(y_.test(t)||A_.test(t))}function Zf(t,e){if(Fi(e)){let n=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return Ma(t,e)}function Ma(t,e){if(Fi(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function Di(t,e,r){let n=Zf(t,r),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await __(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function __(t,e){let r=new Image;return r.src=t,e.image&&e.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=o=>{let s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}var v_={},Qf=!0;async function $f(t,e,r){let n;Fi(r)?n=await Di(t,e,r):n=Ma(t,r);let i=e&&e.imagebitmap;return await x_(n,i)}async function x_(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((T_(e)||!Qf)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(r){console.warn(r),Qf=!1}return await createImageBitmap(t)}function T_(t){for(let e in t||v_)return!1;return!0}function eh(t){return!B_(t,"ftyp",4)||!(t[8]&96)?null:b_(t)}function b_(t){switch(E_(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function E_(t,e,r){return String.fromCharCode(...t.slice(e,r))}function S_(t){return[...t].map(e=>e.charCodeAt(0))}function B_(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=S_(e);for(let i=0;i<n.length;++i)if(n[i]!==t[i+r])return!1;return!0}var rt=!1,Cn=!0;function ir(t){let e=Mn(t);return M_(e)||O_(e)||w_(e)||I_(e)||C_(e)}function C_(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),r=eh(e);return r?{mimeType:r.mimeType,width:0,height:0}:null}function M_(t){let e=Mn(t);return e.byteLength>=24&&e.getUint32(0,rt)===2303741511?{mimeType:"image/png",width:e.getUint32(16,rt),height:e.getUint32(20,rt)}:null}function w_(t){let e=Mn(t);return e.byteLength>=10&&e.getUint32(0,rt)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Cn),height:e.getUint16(8,Cn)}:null}function I_(t){let e=Mn(t);return e.byteLength>=14&&e.getUint16(0,rt)===16973&&e.getUint32(2,Cn)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Cn),height:e.getUint32(22,Cn)}:null}function O_(t){let e=Mn(t);if(!(e.byteLength>=3&&e.getUint16(0,rt)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=R_(),o=2;for(;o+9<e.byteLength;){let s=e.getUint16(o,rt);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,rt),width:e.getUint16(o+7,rt)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,rt)}return null}function R_(){let t=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)t.add(r);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Mn(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}async function th(t,e){var r;let{mimeType:n}=ir(t)||{},i=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return H(i),await i(t,n)}async function rh(t,e,r){e=e||{};let i=(e.image||{}).type||"auto",{url:o}=r||{},s=L_(i),a;switch(s){case"imagebitmap":a=await $f(t,e,o);break;case"image":a=await Di(t,e,o);break;case"data":a=await th(t,e);break;default:H(!1)}return i==="data"&&(a=Bn(a)),a}function L_(t){switch(t){case"auto":case"data":return Kf();default:return Xf(t),t}}var P_=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],F_=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],D_={image:{type:"auto",decode:!0}},Ot={id:"image",module:"images",name:"Images",version:Wf,mimeTypes:F_,extensions:P_,parse:rh,tests:[t=>Boolean(ir(new DataView(t)))],options:D_};var wa={};function Ia(t){if(wa[t]===void 0){let e=vn?U_(t):N_(t);wa[t]=e}return wa[t]}function N_(t){var e,r;let n=["image/png","image/jpeg","image/gif"],i=((e=globalThis.loaders)===null||e===void 0?void 0:e.imageFormatsNode)||n,o=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return Boolean(o)&&i.includes(t)}function U_(t){switch(t){case"image/avif":case"image/webp":return G_(t);default:return!0}}function G_(t){try{return document.createElement("canvas").toDataURL(t).indexOf(`data:${t}`)===0}catch{return!1}}var nh={type:"wms",testURL:t=>t.toLowerCase().includes("wms"),create:t=>new Oa(t)},Oa=class extends Re{constructor(e){var r;super(e),this.url=void 0,this.data=void 0,this.substituteCRS84=void 0,this.flipCRS=void 0,this.wmsParameters=void 0,this.vendorParameters=void 0,this.capabilities=null,this.url=e.url,this.data=e.url,this.substituteCRS84=(r=e.substituteCRS84)!==null&&r!==void 0?r:!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...e.wmsParameters},this.vendorParameters=e.vendorParameters||{}}async getMetadata(){let e=await this.getCapabilities();return this.normalizeMetadata(e)}async getImage(e){let{boundingBox:r,bbox:n,...i}=e,o={bbox:r?[...r[0],...r[1]]:n,...i};return await this.getMap(o)}normalizeMetadata(e){return e}async getCapabilities(e,r){let n=this.getCapabilitiesURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);let s=await Ir.parse(o,this.loadOptions);return this.capabilities=s,s}async getMap(e,r){let n=this.getMapURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await Ot.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}async getFeatureInfo(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await kf.parse(o,this.loadOptions)}async getFeatureInfoText(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),new TextDecoder().decode(o)}async describeLayer(e,r){let n=this.describeLayerURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await Jf.parse(o,this.loadOptions)}async getLegendGraphic(e,r){let n=this.getLegendGraphicURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await Ot.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}getCapabilitiesURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetCapabilities",n,r)}getMapURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetMap",n,r)}getFeatureInfoURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetFeatureInfo",n,r)}describeLayerURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("DescribeLayer",n,r)}getLegendGraphicURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetLegendGraphic",n,r)}_parseWMSUrl(e){let[r,n]=e.split("?"),i=n.split("&"),o={};for(let s of i){let[a,c]=s.split("=");o[a]=c}return{url:r,parameters:o}}_getWMSUrl(e,r,n){let i=this.url,o=!0,s={service:"WMS",version:r.version,request:e,...r,...this.vendorParameters,...n},a=["transparent","time","elevation"];for(let[c,u]of Object.entries(s))(!a.includes(c)||u)&&(i+=o?"?":"&",o=!1,i+=this._getURLParameter(c,u,r));return encodeURI(i)}_getWMS130Parameters(e){let r={...e};return r.srs&&(r.crs=r.crs||r.srs,delete r.srs),r}_getURLParameter(e,r,n){switch(e){case"crs":n.version!=="1.3.0"?e="srs":this.substituteCRS84&&r==="EPSG:4326"&&(r="CRS:84");break;case"srs":n.version==="1.3.0"&&(e="crs");break;case"bbox":let i=this._flipBoundingBox(r,n);i&&(r=i);break;default:}return e=e.toUpperCase(),Array.isArray(r)?`${e}=${r.join(",")}`:`${e}=${r?String(r):""}`}_flipBoundingBox(e,r){if(!Array.isArray(e)||e.length!==4)return null;let n=r.version==="1.3.0"&&this.flipCRS.includes(r.crs||"")&&!(this.substituteCRS84&&r.crs==="EPSG:4326"),i=e;return n?[i[1],i[0],i[3],i[2]]:i}async _fetchArrayBuffer(e){let r=await this.fetch(e),n=await r.arrayBuffer();return this._checkResponse(r,n),n}_checkResponse(e,r){let n=e.headers["content-type"];if(!e.ok||tr.mimeTypes.includes(n)){var i;let o=ma(this.loadOptions,{wms:{throwOnError:!0}}),s=(i=tr.parseSync)===null||i===void 0?void 0:i.call(tr,r,o);throw new Error(s)}}_parseError(e){var r;let n=(r=tr.parseSync)===null||r===void 0?void 0:r.call(tr,e,this.loadOptions);return new Error(n)}};var Or=class extends Re{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){let r=this.getGranularParameters(e),n=this.getURLFromTemplate(r),o=await(await this.fetch(n)).arrayBuffer();return await Ot.parse(o)}getGranularParameters(e){let[[r,n],[i,o]]=e.boundingBox;return{...e,east:r,north:n,south:o,west:i}}getURLFromTemplate(e){let r=this.props.url;for(let[n,i]of Object.entries(e))r=r.replace(`\${${n}}`,String(i)),r=r.replace(`{${n}}`,String(i));return r}};Or.type="template";Or.testURL=t=>t.toLowerCase().includes("{");var Ra=class extends Or{constructor(e){super(e),this.data=void 0,this.data=e.url}async getMetadata(){return await this.metadata()}async getImage(e){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(e){throw new Error("not implemented")}metadataURL(e){return`${this.props.url}?f=pjson`}exportImageURL(e){let r=`bbox=${e.bbox[0]},${e.bbox[1]},${e.bbox[2]},${e.bbox[3]}`,n=`size=${e.width},${e.height}`,i={...e,bbox:r,size:n};return delete i.width,delete i.height,this.getUrl("exportImage",i)}getUrl(e,r,n){let i=`${this.props.url}/${e}`,o=!0;for(let[s,a]of Object.entries(r))i+=o?"?":"&",o=!1,Array.isArray(a)?i+=`${s.toUpperCase()}=${a.join(",")}`:i+=`${s.toUpperCase()}=${a?String(a):""}`;return i}async checkResponse(e){if(!e.ok)throw new Error("error")}},ih={type:"arcgis-image-server",testURL:t=>t.toLowerCase().includes("ImageServer"),create:t=>new Ra(t)};var H_=[nh,ih];function La(t){return qf(t,H_)}function L(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var V_=1/Math.PI*180,z_=1/180*Math.PI,j_={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...j_}};var Y=globalThis.mathgl.config;function Pa(t,{precision:e=Y.precision}={}){return t=k_(t),"".concat(parseFloat(t.toPrecision(e)))}function we(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Fa(t){return oh(t)}function Da(t){return Ie(t)}function oh(t,e){return Na(t,r=>r*z_,e)}function Ie(t,e){return Na(t,r=>r*V_,e)}function Ni(t,e,r){return Na(t,n=>Math.max(e,Math.min(r,n)))}function Rt(t,e,r){return we(t)?t.map((n,i)=>Rt(n,e[i],r)):r*e+(1-r)*t}function _e(t,e,r){let n=Y.EPSILON;r&&(Y.EPSILON=r);try{if(t===e)return!0;if(we(t)&&we(e)){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!_e(t[i],e[i]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=Y.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{Y.EPSILON=n}}function k_(t){return Math.round(t/Y.EPSILON)*Y.EPSILON}function J_(t){return t.clone?t.clone():new Array(t.length)}function Na(t,e,r){if(we(t)){let n=t;r=r||J_(n);for(let i=0;i<r.length&&i<n.length;++i){let o=typeof t=="number"?t:t[i];r[i]=e(o,i,r)}return r}return e(t)}function q_(t){function e(){var r=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var Lt=class extends q_(Array){clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:we(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Y)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Pa(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!_e(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let i=0;i<this.ELEMENTS;++i){let o=e[i],s=typeof r=="number"?r:r[i];this[i]=o+n*(s-o)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(Y.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function W_(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function G(t){if(!Number.isFinite(t))throw new Error("Invalid number ".concat(JSON.stringify(t)));return t}function Pt(t,e,r=""){if(Y.debug&&!W_(t,e))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return t}function le(t,e){if(!t)throw new Error("math.gl assertion ".concat(e))}var Ft=class extends Lt{get x(){return this[0]}set x(e){this[0]=G(e)}get y(){return this[1]}set y(e){this[1]=G(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-e[n];r+=i*i}return G(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return G(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return le(e>=0&&e<this.ELEMENTS,"index is out of range"),G(this[e])}setComponent(e,r){return le(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var $=typeof Float32Array<"u"?Float32Array:Array,wn=Math.random;function Rr(t){return t>=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}var kP=Math.PI/180;function X_(){let t=new $(2);return $!=Float32Array&&(t[0]=0,t[1]=0),t}function sh(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t}function ah(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t}function Ui(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Gi(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t}var JP=function(){let t=X_();return function(e,r,n,i,o,s){let a,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],o(t,t,s),e[a]=t[0],e[a+1]=t[1];return e}}();function Hi(t,e,r){let n=e[0],i=e[1],o=r[3]*n+r[7]*i||1;return t[0]=(r[0]*n+r[4]*i)/o,t[1]=(r[1]*n+r[5]*i)/o,t}function Vi(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o||1;return t[0]=(r[0]*n+r[4]*i+r[8]*o)/s,t[1]=(r[1]*n+r[5]*i+r[9]*o)/s,t[2]=(r[2]*n+r[6]*i+r[10]*o)/s,t}function ch(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t}function uh(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t[3]=e[3],t}function zi(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=r[0]*n+r[3]*i+r[6]*o,t[1]=r[1]*n+r[4]*i+r[7]*o,t[2]=r[2]*n+r[5]*i+r[8]*o,t[3]=e[3],t}var or=class extends Ft{constructor(e=0,r=0){super(2),we(e)&&arguments.length===1?this.copy(e):(Y.debug&&(G(e),G(r)),this[0]=e,this[1]=r)}set(e,r){return this[0]=e,this[1]=r,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y)),this[0]=e.x,this[1]=e.y,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return Gi(this,this,e),this.check()}transformAsVector(e){return Hi(this,this,e),this.check()}transformByMatrix3(e){return Ui(this,this,e),this.check()}transformByMatrix2x3(e){return ah(this,this,e),this.check()}transformByMatrix2(e){return sh(this,this,e),this.check()}};var Pr={};de(Pr,{add:()=>Q_,angle:()=>za,bezier:()=>fv,ceil:()=>$_,clone:()=>K_,copy:()=>Y_,create:()=>ji,cross:()=>sr,dist:()=>vv,distance:()=>ph,div:()=>_v,divide:()=>dh,dot:()=>In,equals:()=>gv,exactEquals:()=>mv,floor:()=>ev,forEach:()=>bv,fromValues:()=>ki,hermite:()=>lv,inverse:()=>av,len:()=>ja,length:()=>lh,lerp:()=>cv,max:()=>rv,min:()=>tv,mul:()=>Av,multiply:()=>hh,negate:()=>sv,normalize:()=>Ua,random:()=>hv,rotateX:()=>Ga,rotateY:()=>Ha,rotateZ:()=>Va,round:()=>nv,scale:()=>iv,scaleAndAdd:()=>ov,set:()=>Z_,slerp:()=>uv,sqrDist:()=>xv,sqrLen:()=>Tv,squaredDistance:()=>mh,squaredLength:()=>gh,str:()=>pv,sub:()=>yv,subtract:()=>fh,transformMat3:()=>On,transformMat4:()=>ar,transformQuat:()=>Rn,zero:()=>dv});function ji(){let t=new $(3);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function K_(t){let e=new $(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function lh(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function ki(t,e,r){let n=new $(3);return n[0]=t,n[1]=e,n[2]=r,n}function Y_(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Z_(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function Q_(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function fh(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function hh(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function dh(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function $_(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function ev(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function tv(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function rv(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function nv(t,e){return t[0]=Rr(e[0]),t[1]=Rr(e[1]),t[2]=Rr(e[2]),t}function iv(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function ov(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function ph(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}function mh(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function gh(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function sv(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function av(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function Ua(t,e){let r=e[0],n=e[1],i=e[2],o=r*r+n*n+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function In(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function sr(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2];return t[0]=i*c-o*a,t[1]=o*s-n*c,t[2]=n*a-i*s,t}function cv(t,e,r,n){let i=e[0],o=e[1],s=e[2];return t[0]=i+n*(r[0]-i),t[1]=o+n*(r[1]-o),t[2]=s+n*(r[2]-s),t}function uv(t,e,r,n){let i=Math.acos(Math.min(Math.max(In(e,r),-1),1)),o=Math.sin(i),s=Math.sin((1-n)*i)/o,a=Math.sin(n*i)/o;return t[0]=s*e[0]+a*r[0],t[1]=s*e[1]+a*r[1],t[2]=s*e[2]+a*r[2],t}function lv(t,e,r,n,i,o){let s=o*o,a=s*(2*o-3)+1,c=s*(o-2)+o,u=s*(o-1),l=s*(3-2*o);return t[0]=e[0]*a+r[0]*c+n[0]*u+i[0]*l,t[1]=e[1]*a+r[1]*c+n[1]*u+i[1]*l,t[2]=e[2]*a+r[2]*c+n[2]*u+i[2]*l,t}function fv(t,e,r,n,i,o){let s=1-o,a=s*s,c=o*o,u=a*s,l=3*o*a,f=3*c*s,h=c*o;return t[0]=e[0]*u+r[0]*l+n[0]*f+i[0]*h,t[1]=e[1]*u+r[1]*l+n[1]*f+i[1]*h,t[2]=e[2]*u+r[2]*l+n[2]*f+i[2]*h,t}function hv(t,e){e=e===void 0?1:e;let r=wn()*2*Math.PI,n=wn()*2-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}function ar(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*i+r[8]*o+r[12])/s,t[1]=(r[1]*n+r[5]*i+r[9]*o+r[13])/s,t[2]=(r[2]*n+r[6]*i+r[10]*o+r[14])/s,t}function On(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=n*r[0]+i*r[3]+o*r[6],t[1]=n*r[1]+i*r[4]+o*r[7],t[2]=n*r[2]+i*r[5]+o*r[8],t}function Rn(t,e,r){let n=r[0],i=r[1],o=r[2],s=r[3],a=e[0],c=e[1],u=e[2],l=i*u-o*c,f=o*a-n*u,h=n*c-i*a,d=i*h-o*f,p=o*l-n*h,g=n*f-i*l,m=s*2;return l*=m,f*=m,h*=m,d*=2,p*=2,g*=2,t[0]=a+l+d,t[1]=c+f+p,t[2]=u+h+g,t}function Ga(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0],o[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),o[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function Ha(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),o[1]=i[1],o[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function Va(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),o[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),o[2]=i[2],t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function za(t,e){let r=t[0],n=t[1],i=t[2],o=e[0],s=e[1],a=e[2],c=Math.sqrt((r*r+n*n+i*i)*(o*o+s*s+a*a)),u=c&&In(t,e)/c;return Math.acos(Math.min(Math.max(u,-1),1))}function dv(t){return t[0]=0,t[1]=0,t[2]=0,t}function pv(t){return"vec3(".concat(t[0],", ").concat(t[1],", ").concat(t[2],")")}function mv(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function gv(t,e){let r=t[0],n=t[1],i=t[2],o=e[0],s=e[1],a=e[2];return Math.abs(r-o)<=1e-6*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=1e-6*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-a)<=1e-6*Math.max(1,Math.abs(i),Math.abs(a))}var yv=fh,Av=hh,_v=dh,vv=ph,xv=mh,ja=lh,Tv=gh,bv=function(){let t=ji();return function(e,r,n,i,o,s){let a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var ka=[0,0,0],Ji,T=class extends Ft{static get ZERO(){return Ji||(Ji=new T(0,0,0),Object.freeze(Ji)),Ji}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&we(e)?this.copy(e):(Y.debug&&(G(e),G(r),G(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y),G(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=G(e)}angle(e){return za(this,e)}cross(e){return sr(this,this,e),this.check()}rotateX({radians:e,origin:r=ka}){return Ga(this,this,r,e),this.check()}rotateY({radians:e,origin:r=ka}){return Ha(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=ka}){return Va(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return ar(this,this,e),this.check()}transformAsVector(e){return Vi(this,this,e),this.check()}transformByMatrix3(e){return On(this,this,e),this.check()}transformByMatrix2(e){return ch(this,this,e),this.check()}transformByQuaternion(e){return Rn(this,this,e),this.check()}};var qi,Fr=class extends Ft{static get ZERO(){return qi||(qi=new Fr(0,0,0,0),Object.freeze(qi)),qi}constructor(e=0,r=0,n=0,i=0){super(-0,-0,-0,-0),we(e)&&arguments.length===1?this.copy(e):(Y.debug&&(G(e),G(r),G(n),G(i)),this[0]=e,this[1]=r,this[2]=n,this[3]=i)}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y),G(e.z),G(e.w)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e.w=this[3],e}get ELEMENTS(){return 4}get z(){return this[2]}set z(e){this[2]=G(e)}get w(){return this[3]}set w(e){this[3]=G(e)}transform(e){return ar(this,this,e),this.check()}transformByMatrix3(e){return zi(this,this,e),this.check()}transformByMatrix2(e){return uh(this,this,e),this.check()}transformByQuaternion(e){return Rn(this,this,e),this.check()}applyMatrix4(e){return e.transform(this,this),this}};var Dr=class extends Lt{toString(){let e="[";if(Y.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=" ".concat(this[n*this.RANK+r])}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=" ".concat(this[r])}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=G(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(e,r){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function yh(){let t=new $(9);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Ah(t,e){if(t===e){let r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function _h(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=l*s-a*u,h=-l*o+a*c,d=u*o-s*c,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-l*n+i*u)*p,t[2]=(a*n-i*s)*p,t[3]=h*p,t[4]=(l*r-i*c)*p,t[5]=(-a*r+i*o)*p,t[6]=d*p,t[7]=(-u*r+n*c)*p,t[8]=(s*r-n*o)*p,t):null}function vh(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],u=t[8];return e*(u*o-s*c)+r*(-u*i+s*a)+n*(c*i-o*a)}function Ja(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1],p=r[2],g=r[3],m=r[4],A=r[5],_=r[6],v=r[7],x=r[8];return t[0]=h*n+d*s+p*u,t[1]=h*i+d*a+p*l,t[2]=h*o+d*c+p*f,t[3]=g*n+m*s+A*u,t[4]=g*i+m*a+A*l,t[5]=g*o+m*c+A*f,t[6]=_*n+v*s+x*u,t[7]=_*i+v*a+x*l,t[8]=_*o+v*c+x*f,t}function xh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=o,t[3]=s,t[4]=a,t[5]=c,t[6]=h*n+d*s+u,t[7]=h*i+d*a+l,t[8]=h*o+d*c+f,t}function Th(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*s,t[1]=d*i+h*a,t[2]=d*o+h*c,t[3]=d*s-h*n,t[4]=d*a-h*i,t[5]=d*c-h*o,t[6]=u,t[7]=l,t[8]=f,t}function qa(t,e,r){let n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function bh(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,u=r*s,l=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,A=o*c;return t[0]=1-f-p,t[3]=l-A,t[6]=h+m,t[1]=l+A,t[4]=1-u-p,t[7]=d-g,t[2]=h-m,t[5]=d+g,t[8]=1-u-f,t}var Wa;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL1ROW0=3]="COL1ROW0",t[t.COL1ROW1=4]="COL1ROW1",t[t.COL1ROW2=5]="COL1ROW2",t[t.COL2ROW0=6]="COL2ROW0",t[t.COL2ROW1=7]="COL2ROW1",t[t.COL2ROW2=8]="COL2ROW2"})(Wa||(Wa={}));var Sv=Object.freeze([1,0,0,0,1,0,0,0,1]),j=class extends Dr{static get IDENTITY(){return Cv()}static get ZERO(){return Bv()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Wa}constructor(e,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):r.length>0?this.copy([e,...r]):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}identity(){return this.copy(Sv)}fromObject(e){return this.check()}fromQuaternion(e){return bh(this,e),this.check()}set(e,r,n,i,o,s,a,c,u){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=u,this.check()}setRowMajor(e,r,n,i,o,s,a,c,u){return this[0]=e,this[1]=i,this[2]=a,this[3]=r,this[4]=o,this[5]=c,this[6]=n,this[7]=s,this[8]=u,this.check()}determinant(){return vh(this)}transpose(){return Ah(this,this),this.check()}invert(){return _h(this,this),this.check()}multiplyLeft(e){return Ja(this,e,this),this.check()}multiplyRight(e){return Ja(this,this,e),this.check()}rotate(e){return Th(this,this,e),this.check()}scale(e){return Array.isArray(e)?qa(this,this,e):qa(this,this,[e,e]),this.check()}translate(e){return xh(this,this,e),this.check()}transform(e,r){let n;switch(e.length){case 2:n=Ui(r||[-0,-0],e,this);break;case 3:n=On(r||[-0,-0,-0],e,this);break;case 4:n=zi(r||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(n,e.length),n}transformVector(e,r){return this.transform(e,r)}transformVector2(e,r){return this.transform(e,r)}transformVector3(e,r){return this.transform(e,r)}},Wi,Xi=null;function Bv(){return Wi||(Wi=new j([0,0,0,0,0,0,0,0,0]),Object.freeze(Wi)),Wi}function Cv(){return Xi||(Xi=new j,Object.freeze(Xi)),Xi}var Ki={};de(Ki,{add:()=>Qv,adjoint:()=>Lv,clone:()=>wv,copy:()=>Iv,create:()=>Mv,decompose:()=>jv,determinant:()=>Ya,equals:()=>rx,exactEquals:()=>tx,frob:()=>Zv,fromQuat:()=>nc,fromQuat2:()=>Hv,fromRotation:()=>Dv,fromRotationTranslation:()=>Sh,fromRotationTranslationScale:()=>kv,fromRotationTranslationScaleOrigin:()=>Jv,fromScaling:()=>Fv,fromTranslation:()=>Pv,fromValues:()=>Ov,fromXRotation:()=>Nv,fromYRotation:()=>Uv,fromZRotation:()=>Gv,frustum:()=>ic,getRotation:()=>zv,getScaling:()=>Bh,getTranslation:()=>Vv,identity:()=>Eh,invert:()=>Ka,lookAt:()=>ac,mul:()=>nx,multiply:()=>Ln,multiplyScalar:()=>$v,multiplyScalarAndAdd:()=>ex,ortho:()=>sc,orthoNO:()=>Mh,orthoZO:()=>Xv,perspective:()=>oc,perspectiveFromFieldOfView:()=>Wv,perspectiveNO:()=>Ch,perspectiveZO:()=>qv,rotate:()=>$a,rotateX:()=>ec,rotateY:()=>tc,rotateZ:()=>rc,scale:()=>Qa,set:()=>Rv,str:()=>Yv,sub:()=>ix,subtract:()=>wh,targetTo:()=>Kv,translate:()=>Za,transpose:()=>Xa});function Mv(){let t=new $(16);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function wv(t){let e=new $(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Iv(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ov(t,e,r,n,i,o,s,a,c,u,l,f,h,d,p,g){let m=new $(16);return m[0]=t,m[1]=e,m[2]=r,m[3]=n,m[4]=i,m[5]=o,m[6]=s,m[7]=a,m[8]=c,m[9]=u,m[10]=l,m[11]=f,m[12]=h,m[13]=d,m[14]=p,m[15]=g,m}function Rv(t,e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=s,t[6]=a,t[7]=c,t[8]=u,t[9]=l,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=g,t[15]=m,t}function Eh(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Xa(t,e){if(t===e){let r=e[1],n=e[2],i=e[3],o=e[6],s=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=o,t[11]=e[14],t[12]=i,t[13]=s,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function Ka(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],_=r*a-n*s,v=r*c-i*s,x=r*u-o*s,B=n*c-i*a,S=n*u-o*a,C=i*u-o*c,E=l*g-f*p,b=l*m-h*p,y=l*A-d*p,M=f*m-h*g,I=f*A-d*g,O=h*A-d*m,R=_*O-v*I+x*M+B*y-S*b+C*E;return R?(R=1/R,t[0]=(a*O-c*I+u*M)*R,t[1]=(i*I-n*O-o*M)*R,t[2]=(g*C-m*S+A*B)*R,t[3]=(h*S-f*C-d*B)*R,t[4]=(c*y-s*O-u*b)*R,t[5]=(r*O-i*y+o*b)*R,t[6]=(m*x-p*C-A*v)*R,t[7]=(l*C-h*x+d*v)*R,t[8]=(s*I-a*y+u*E)*R,t[9]=(n*y-r*I-o*E)*R,t[10]=(p*S-g*x+A*_)*R,t[11]=(f*x-l*S-d*_)*R,t[12]=(a*b-s*M-c*E)*R,t[13]=(r*M-n*b+i*E)*R,t[14]=(g*v-p*B-m*_)*R,t[15]=(l*B-f*v+h*_)*R,t):null}function Lv(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],_=r*a-n*s,v=r*c-i*s,x=r*u-o*s,B=n*c-i*a,S=n*u-o*a,C=i*u-o*c,E=l*g-f*p,b=l*m-h*p,y=l*A-d*p,M=f*m-h*g,I=f*A-d*g,O=h*A-d*m;return t[0]=a*O-c*I+u*M,t[1]=i*I-n*O-o*M,t[2]=g*C-m*S+A*B,t[3]=h*S-f*C-d*B,t[4]=c*y-s*O-u*b,t[5]=r*O-i*y+o*b,t[6]=m*x-p*C-A*v,t[7]=l*C-h*x+d*v,t[8]=s*I-a*y+u*E,t[9]=n*y-r*I-o*E,t[10]=p*S-g*x+A*_,t[11]=f*x-l*S-d*_,t[12]=a*b-s*M-c*E,t[13]=r*M-n*b+i*E,t[14]=g*v-p*B-m*_,t[15]=l*B-f*v+h*_,t}function Ya(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],u=t[8],l=t[9],f=t[10],h=t[11],d=t[12],p=t[13],g=t[14],m=t[15],A=e*s-r*o,_=e*a-n*o,v=r*a-n*s,x=u*p-l*d,B=u*g-f*d,S=l*g-f*p,C=e*S-r*B+n*x,E=o*S-s*B+a*x,b=u*v-l*_+f*A,y=d*v-p*_+g*A;return c*C-i*E+m*b-h*y}function Ln(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=e[9],d=e[10],p=e[11],g=e[12],m=e[13],A=e[14],_=e[15],v=r[0],x=r[1],B=r[2],S=r[3];return t[0]=v*n+x*a+B*f+S*g,t[1]=v*i+x*c+B*h+S*m,t[2]=v*o+x*u+B*d+S*A,t[3]=v*s+x*l+B*p+S*_,v=r[4],x=r[5],B=r[6],S=r[7],t[4]=v*n+x*a+B*f+S*g,t[5]=v*i+x*c+B*h+S*m,t[6]=v*o+x*u+B*d+S*A,t[7]=v*s+x*l+B*p+S*_,v=r[8],x=r[9],B=r[10],S=r[11],t[8]=v*n+x*a+B*f+S*g,t[9]=v*i+x*c+B*h+S*m,t[10]=v*o+x*u+B*d+S*A,t[11]=v*s+x*l+B*p+S*_,v=r[12],x=r[13],B=r[14],S=r[15],t[12]=v*n+x*a+B*f+S*g,t[13]=v*i+x*c+B*h+S*m,t[14]=v*o+x*u+B*d+S*A,t[15]=v*s+x*l+B*p+S*_,t}function Za(t,e,r){let n=r[0],i=r[1],o=r[2],s,a,c,u,l,f,h,d,p,g,m,A;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*o+e[12],t[13]=e[1]*n+e[5]*i+e[9]*o+e[13],t[14]=e[2]*n+e[6]*i+e[10]*o+e[14],t[15]=e[3]*n+e[7]*i+e[11]*o+e[15]):(s=e[0],a=e[1],c=e[2],u=e[3],l=e[4],f=e[5],h=e[6],d=e[7],p=e[8],g=e[9],m=e[10],A=e[11],t[0]=s,t[1]=a,t[2]=c,t[3]=u,t[4]=l,t[5]=f,t[6]=h,t[7]=d,t[8]=p,t[9]=g,t[10]=m,t[11]=A,t[12]=s*n+l*i+p*o+e[12],t[13]=a*n+f*i+g*o+e[13],t[14]=c*n+h*i+m*o+e[14],t[15]=u*n+d*i+A*o+e[15]),t}function Qa(t,e,r){let n=r[0],i=r[1],o=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function $a(t,e,r,n){let i=n[0],o=n[1],s=n[2],a=Math.sqrt(i*i+o*o+s*s),c,u,l,f,h,d,p,g,m,A,_,v,x,B,S,C,E,b,y,M,I,O,R,F;return a<1e-6?null:(a=1/a,i*=a,o*=a,s*=a,u=Math.sin(r),c=Math.cos(r),l=1-c,f=e[0],h=e[1],d=e[2],p=e[3],g=e[4],m=e[5],A=e[6],_=e[7],v=e[8],x=e[9],B=e[10],S=e[11],C=i*i*l+c,E=o*i*l+s*u,b=s*i*l-o*u,y=i*o*l-s*u,M=o*o*l+c,I=s*o*l+i*u,O=i*s*l+o*u,R=o*s*l-i*u,F=s*s*l+c,t[0]=f*C+g*E+v*b,t[1]=h*C+m*E+x*b,t[2]=d*C+A*E+B*b,t[3]=p*C+_*E+S*b,t[4]=f*y+g*M+v*I,t[5]=h*y+m*M+x*I,t[6]=d*y+A*M+B*I,t[7]=p*y+_*M+S*I,t[8]=f*O+g*R+v*F,t[9]=h*O+m*R+x*F,t[10]=d*O+A*R+B*F,t[11]=p*O+_*R+S*F,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function ec(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[4],s=e[5],a=e[6],c=e[7],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*i+u*n,t[5]=s*i+l*n,t[6]=a*i+f*n,t[7]=c*i+h*n,t[8]=u*i-o*n,t[9]=l*i-s*n,t[10]=f*i-a*n,t[11]=h*i-c*n,t}function tc(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i-u*n,t[1]=s*i-l*n,t[2]=a*i-f*n,t[3]=c*i-h*n,t[8]=o*n+u*i,t[9]=s*n+l*i,t[10]=a*n+f*i,t[11]=c*n+h*i,t}function rc(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],u=e[4],l=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i+u*n,t[1]=s*i+l*n,t[2]=a*i+f*n,t[3]=c*i+h*n,t[4]=u*i-o*n,t[5]=l*i-s*n,t[6]=f*i-a*n,t[7]=h*i-c*n,t}function Pv(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function Fv(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Dv(t,e,r){let n=r[0],i=r[1],o=r[2],s=Math.sqrt(n*n+i*i+o*o),a,c,u;return s<1e-6?null:(s=1/s,n*=s,i*=s,o*=s,c=Math.sin(e),a=Math.cos(e),u=1-a,t[0]=n*n*u+a,t[1]=i*n*u+o*c,t[2]=o*n*u-i*c,t[3]=0,t[4]=n*i*u-o*c,t[5]=i*i*u+a,t[6]=o*i*u+n*c,t[7]=0,t[8]=n*o*u+i*c,t[9]=i*o*u-n*c,t[10]=o*o*u+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function Nv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Uv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Gv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Sh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=n+n,c=i+i,u=o+o,l=n*a,f=n*c,h=n*u,d=i*c,p=i*u,g=o*u,m=s*a,A=s*c,_=s*u;return t[0]=1-(d+g),t[1]=f+_,t[2]=h-A,t[3]=0,t[4]=f-_,t[5]=1-(l+g),t[6]=p+m,t[7]=0,t[8]=h+A,t[9]=p-m,t[10]=1-(l+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Hv(t,e){let r=new $(3),n=-e[0],i=-e[1],o=-e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=n*n+i*i+o*o+s*s;return f>0?(r[0]=(a*s+l*n+c*o-u*i)*2/f,r[1]=(c*s+l*i+u*n-a*o)*2/f,r[2]=(u*s+l*o+a*i-c*n)*2/f):(r[0]=(a*s+l*n+c*o-u*i)*2,r[1]=(c*s+l*i+u*n-a*o)*2,r[2]=(u*s+l*o+a*i-c*n)*2),Sh(t,e,r),t}function Vv(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function Bh(t,e){let r=e[0],n=e[1],i=e[2],o=e[4],s=e[5],a=e[6],c=e[8],u=e[9],l=e[10];return t[0]=Math.sqrt(r*r+n*n+i*i),t[1]=Math.sqrt(o*o+s*s+a*a),t[2]=Math.sqrt(c*c+u*u+l*l),t}function zv(t,e){let r=new $(3);Bh(r,e);let n=1/r[0],i=1/r[1],o=1/r[2],s=e[0]*n,a=e[1]*i,c=e[2]*o,u=e[4]*n,l=e[5]*i,f=e[6]*o,h=e[8]*n,d=e[9]*i,p=e[10]*o,g=s+l+p,m=0;return g>0?(m=Math.sqrt(g+1)*2,t[3]=.25*m,t[0]=(f-d)/m,t[1]=(h-c)/m,t[2]=(a-u)/m):s>l&&s>p?(m=Math.sqrt(1+s-l-p)*2,t[3]=(f-d)/m,t[0]=.25*m,t[1]=(a+u)/m,t[2]=(h+c)/m):l>p?(m=Math.sqrt(1+l-s-p)*2,t[3]=(h-c)/m,t[0]=(a+u)/m,t[1]=.25*m,t[2]=(f+d)/m):(m=Math.sqrt(1+p-s-l)*2,t[3]=(a-u)/m,t[0]=(h+c)/m,t[1]=(f+d)/m,t[2]=.25*m),t}function jv(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let i=n[0],o=n[1],s=n[2],a=n[4],c=n[5],u=n[6],l=n[8],f=n[9],h=n[10];r[0]=Math.sqrt(i*i+o*o+s*s),r[1]=Math.sqrt(a*a+c*c+u*u),r[2]=Math.sqrt(l*l+f*f+h*h);let d=1/r[0],p=1/r[1],g=1/r[2],m=i*d,A=o*p,_=s*g,v=a*d,x=c*p,B=u*g,S=l*d,C=f*p,E=h*g,b=m+x+E,y=0;return b>0?(y=Math.sqrt(b+1)*2,t[3]=.25*y,t[0]=(B-C)/y,t[1]=(S-_)/y,t[2]=(A-v)/y):m>x&&m>E?(y=Math.sqrt(1+m-x-E)*2,t[3]=(B-C)/y,t[0]=.25*y,t[1]=(A+v)/y,t[2]=(S+_)/y):x>E?(y=Math.sqrt(1+x-m-E)*2,t[3]=(S-_)/y,t[0]=(A+v)/y,t[1]=.25*y,t[2]=(B+C)/y):(y=Math.sqrt(1+E-m-x)*2,t[3]=(A-v)/y,t[0]=(S+_)/y,t[1]=(B+C)/y,t[2]=.25*y),t}function kv(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=i+i,u=o+o,l=s+s,f=i*c,h=i*u,d=i*l,p=o*u,g=o*l,m=s*l,A=a*c,_=a*u,v=a*l,x=n[0],B=n[1],S=n[2];return t[0]=(1-(p+m))*x,t[1]=(h+v)*x,t[2]=(d-_)*x,t[3]=0,t[4]=(h-v)*B,t[5]=(1-(f+m))*B,t[6]=(g+A)*B,t[7]=0,t[8]=(d+_)*S,t[9]=(g-A)*S,t[10]=(1-(f+p))*S,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Jv(t,e,r,n,i){let o=e[0],s=e[1],a=e[2],c=e[3],u=o+o,l=s+s,f=a+a,h=o*u,d=o*l,p=o*f,g=s*l,m=s*f,A=a*f,_=c*u,v=c*l,x=c*f,B=n[0],S=n[1],C=n[2],E=i[0],b=i[1],y=i[2],M=(1-(g+A))*B,I=(d+x)*B,O=(p-v)*B,R=(d-x)*S,F=(1-(h+A))*S,X=(m+_)*S,z=(p+v)*C,Q=(m-_)*C,W=(1-(h+g))*C;return t[0]=M,t[1]=I,t[2]=O,t[3]=0,t[4]=R,t[5]=F,t[6]=X,t[7]=0,t[8]=z,t[9]=Q,t[10]=W,t[11]=0,t[12]=r[0]+E-(M*E+R*b+z*y),t[13]=r[1]+b-(I*E+F*b+Q*y),t[14]=r[2]+y-(O*E+X*b+W*y),t[15]=1,t}function nc(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,u=r*s,l=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,A=o*c;return t[0]=1-f-p,t[1]=l+A,t[2]=h-m,t[3]=0,t[4]=l-A,t[5]=1-u-p,t[6]=d+g,t[7]=0,t[8]=h+m,t[9]=d-g,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ic(t,e,r,n,i,o,s){let a=1/(r-e),c=1/(i-n),u=1/(o-s);return t[0]=o*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(i+n)*c,t[10]=(s+o)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*o*2*u,t[15]=0,t}function Ch(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=(i+n)*s,t[14]=2*i*n*s}else t[10]=-1,t[14]=-2*n;return t}var oc=Ch;function qv(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=i*s,t[14]=i*n*s}else t[10]=-1,t[14]=-n;return t}function Wv(t,e,r,n){let i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(s+a),u=2/(i+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((s-a)*c*.5),t[9]=(i-o)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function Mh(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),u=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=(s+o)*u,t[15]=1,t}var sc=Mh;function Xv(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),u=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=u,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=o*u,t[15]=1,t}function ac(t,e,r,n){let i,o,s,a,c,u,l,f,h,d,p=e[0],g=e[1],m=e[2],A=n[0],_=n[1],v=n[2],x=r[0],B=r[1],S=r[2];return Math.abs(p-x)<1e-6&&Math.abs(g-B)<1e-6&&Math.abs(m-S)<1e-6?Eh(t):(f=p-x,h=g-B,d=m-S,i=1/Math.sqrt(f*f+h*h+d*d),f*=i,h*=i,d*=i,o=_*d-v*h,s=v*f-A*d,a=A*h-_*f,i=Math.sqrt(o*o+s*s+a*a),i?(i=1/i,o*=i,s*=i,a*=i):(o=0,s=0,a=0),c=h*a-d*s,u=d*o-f*a,l=f*s-h*o,i=Math.sqrt(c*c+u*u+l*l),i?(i=1/i,c*=i,u*=i,l*=i):(c=0,u=0,l=0),t[0]=o,t[1]=c,t[2]=f,t[3]=0,t[4]=s,t[5]=u,t[6]=h,t[7]=0,t[8]=a,t[9]=l,t[10]=d,t[11]=0,t[12]=-(o*p+s*g+a*m),t[13]=-(c*p+u*g+l*m),t[14]=-(f*p+h*g+d*m),t[15]=1,t)}function Kv(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=n[0],c=n[1],u=n[2],l=i-r[0],f=o-r[1],h=s-r[2],d=l*l+f*f+h*h;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,h*=d);let p=c*h-u*f,g=u*l-a*h,m=a*f-c*l;return d=p*p+g*g+m*m,d>0&&(d=1/Math.sqrt(d),p*=d,g*=d,m*=d),t[0]=p,t[1]=g,t[2]=m,t[3]=0,t[4]=f*m-h*g,t[5]=h*p-l*m,t[6]=l*g-f*p,t[7]=0,t[8]=l,t[9]=f,t[10]=h,t[11]=0,t[12]=i,t[13]=o,t[14]=s,t[15]=1,t}function Yv(t){return"mat4(".concat(t[0],", ").concat(t[1],", ").concat(t[2],", ").concat(t[3],", ").concat(t[4],", ").concat(t[5],", ").concat(t[6],", ").concat(t[7],", ").concat(t[8],", ").concat(t[9],", ").concat(t[10],", ").concat(t[11],", ").concat(t[12],", ").concat(t[13],", ").concat(t[14],", ").concat(t[15],")")}function Zv(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function Qv(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function wh(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function $v(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function ex(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function tx(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function rx(t,e){let r=t[0],n=t[1],i=t[2],o=t[3],s=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],p=t[12],g=t[13],m=t[14],A=t[15],_=e[0],v=e[1],x=e[2],B=e[3],S=e[4],C=e[5],E=e[6],b=e[7],y=e[8],M=e[9],I=e[10],O=e[11],R=e[12],F=e[13],X=e[14],z=e[15];return Math.abs(r-_)<=1e-6*Math.max(1,Math.abs(r),Math.abs(_))&&Math.abs(n-v)<=1e-6*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(i-x)<=1e-6*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(o-B)<=1e-6*Math.max(1,Math.abs(o),Math.abs(B))&&Math.abs(s-S)<=1e-6*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(a-C)<=1e-6*Math.max(1,Math.abs(a),Math.abs(C))&&Math.abs(c-E)<=1e-6*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(u-b)<=1e-6*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(l-y)<=1e-6*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(f-M)<=1e-6*Math.max(1,Math.abs(f),Math.abs(M))&&Math.abs(h-I)<=1e-6*Math.max(1,Math.abs(h),Math.abs(I))&&Math.abs(d-O)<=1e-6*Math.max(1,Math.abs(d),Math.abs(O))&&Math.abs(p-R)<=1e-6*Math.max(1,Math.abs(p),Math.abs(R))&&Math.abs(g-F)<=1e-6*Math.max(1,Math.abs(g),Math.abs(F))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(A-z)<=1e-6*Math.max(1,Math.abs(A),Math.abs(z))}var nx=Ln,ix=wh;function ox(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function Ih(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function Oh(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function Rh(t){let e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}function Lh(t){let e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}function Ph(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o;return s>0&&(s=1/Math.sqrt(s)),t[0]=r*s,t[1]=n*s,t[2]=i*s,t[3]=o*s,t}function Fh(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Dh(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3];return t[0]=i+n*(r[0]-i),t[1]=o+n*(r[1]-o),t[2]=s+n*(r[2]-s),t[3]=a+n*(r[3]-a),t}function Nh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*o+r[12]*s,t[1]=r[1]*n+r[5]*i+r[9]*o+r[13]*s,t[2]=r[2]*n+r[6]*i+r[10]*o+r[14]*s,t[3]=r[3]*n+r[7]*i+r[11]*o+r[15]*s,t}function Uh(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2],u=r[3],l=u*n+a*o-c*i,f=u*i+c*n-s*o,h=u*o+s*i-a*n,d=-s*n-a*i-c*o;return t[0]=l*u+d*-s+f*-c-h*-a,t[1]=f*u+d*-a+h*-s-l*-c,t[2]=h*u+d*-c+l*-a-f*-s,t[3]=e[3],t}var bF=function(){let t=ox();return function(e,r,n,i,o,s){let a,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var lc;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(lc||(lc={}));var ax=45*Math.PI/180,cx=1,cc=.1,uc=500,ux=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),D=class extends Dr{static get IDENTITY(){return fx()}static get ZERO(){return lx()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return lc}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=u,this[9]=l,this[10]=f,this[11]=h,this[12]=d,this[13]=p,this[14]=g,this[15]=m,this.check()}setRowMajor(e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=o,this[2]=u,this[3]=d,this[4]=r,this[5]=s,this[6]=l,this[7]=p,this[8]=n,this[9]=a,this[10]=f,this[11]=g,this[12]=i,this[13]=c,this[14]=h,this[15]=m,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(ux)}fromObject(e){return this.check()}fromQuaternion(e){return nc(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:i,top:o,near:s=cc,far:a=uc}=e;return a===1/0?hx(this,r,n,i,o,s):ic(this,r,n,i,o,s,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=e;return ac(this,r,n,i),this.check()}ortho(e){let{left:r,right:n,bottom:i,top:o,near:s=cc,far:a=uc}=e;return sc(this,r,n,i,o,s,a),this.check()}orthographic(e){let{fovy:r=ax,aspect:n=cx,focalDistance:i=1,near:o=cc,far:s=uc}=e;Gh(r);let a=r/2,c=i*Math.tan(a),u=c*n;return this.ortho({left:-u,right:u,bottom:-c,top:c,near:o,far:s})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:o=500}=e;return Gh(r),oc(this,r,n,i,o),this.check()}determinant(){return Ya(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*o,e[6]=this[6]*s,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*o,e[10]=this[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=this[4]*i,e[4]=this[5]*o,e[5]=this[6]*s,e[6]=this[8]*i,e[7]=this[9]*o,e[8]=this[10]*s,e}transpose(){return Xa(this,this),this.check()}invert(){return Ka(this,this),this.check()}multiplyLeft(e){return Ln(this,e,this),this.check()}multiplyRight(e){return Ln(this,this,e),this.check()}rotateX(e){return ec(this,this,e),this.check()}rotateY(e){return tc(this,this,e),this.check()}rotateZ(e){return rc(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return $a(this,this,e,r),this.check()}scale(e){return Qa(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return Za(this,this,e),this.check()}transform(e,r){return e.length===4?(r=Nh(r||[-0,-0,-0,-0],e,this),Pt(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,i;switch(n){case 2:i=Gi(r||[-0,-0],e,this);break;case 3:i=ar(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(i,e.length),i}transformAsVector(e,r){let n;switch(e.length){case 2:n=Hi(r||[-0,-0],e,this);break;case 3:n=Vi(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},Yi,Zi;function lx(){return Yi||(Yi=new D([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Yi)),Yi}function fx(){return Zi||(Zi=new D,Object.freeze(Zi)),Zi}function Gh(t){if(t>Math.PI*2)throw Error("expected radians")}function hx(t,e,r,n,i,o){let s=2*o/(r-e),a=2*o/(i-n),c=(r+e)/(r-e),u=(i+n)/(i-n),l=-1,f=-1,h=-2*o;return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=u,t[10]=l,t[11]=f,t[12]=0,t[13]=0,t[14]=h,t[15]=0,t}function Hh(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Vh(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function fc(t,e,r){r=r*.5;let n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function hc(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=r[0],c=r[1],u=r[2],l=r[3];return t[0]=n*l+s*a+i*u-o*c,t[1]=i*l+s*c+o*a-n*u,t[2]=o*l+s*u+n*c-i*a,t[3]=s*l-n*a-i*c-o*u,t}function zh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*a,t[1]=i*c+o*a,t[2]=o*c-i*a,t[3]=s*c-n*a,t}function jh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c-o*a,t[1]=i*c+s*a,t[2]=o*c+n*a,t[3]=s*c-i*a,t}function kh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+i*a,t[1]=i*c-n*a,t[2]=o*c+s*a,t[3]=s*c-o*a,t}function Jh(t,e){let r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t}function Pn(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=r[0],u=r[1],l=r[2],f=r[3],h,d,p,g,m;return h=i*c+o*u+s*l+a*f,h<0&&(h=-h,c=-c,u=-u,l=-l,f=-f),1-h>1e-6?(d=Math.acos(h),m=Math.sin(d),p=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(p=1-n,g=n),t[0]=p*i+g*c,t[1]=p*o+g*u,t[2]=p*s+g*l,t[3]=p*a+g*f,t}function qh(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o,a=s?1/s:0;return t[0]=-r*a,t[1]=-n*a,t[2]=-i*a,t[3]=o*a,t}function Wh(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function dc(t,e){let r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{let i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);let o=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[o*3+o]-e[s*3+s]+1),t[i]=.5*n,n=.5/n,t[3]=(e[o*3+s]-e[s*3+o])*n,t[o]=(e[o*3+i]+e[i*3+o])*n,t[s]=(e[s*3+i]+e[i*3+s])*n}return t}var Xh=Ih;var Kh=Oh,Yh=Fh,Zh=Dh,Qh=Rh;var $h=Lh;var ed=Ph;var td=function(){let t=ji(),e=ki(1,0,0),r=ki(0,1,0);return function(n,i,o){let s=In(i,o);return s<-.999999?(sr(t,e,i),ja(t)<1e-6&&sr(t,r,i),Ua(t,t),fc(n,t,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(sr(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,ed(n,n))}}(),NF=function(){let t=Hh(),e=Hh();return function(r,n,i,o,s,a){return Pn(t,n,s,a),Pn(e,i,o,a),Pn(r,t,e,2*a*(1-a)),r}}(),UF=function(){let t=yh();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],ed(e,dc(e,t))}}();var dx=[0,0,0,1],nt=class extends Lt{constructor(e=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(e)&&arguments.length===1?this.copy(e):this.set(e,r,n,i)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(e){return this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this.check()}fromMatrix3(e){return dc(this,e),this.check()}fromAxisRotation(e,r){return fc(this,e,r),this.check()}identity(){return Vh(this),this.check()}setAxisAngle(e,r){return this.fromAxisRotation(e,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=G(e)}get y(){return this[1]}set y(e){this[1]=G(e)}get z(){return this[2]}set z(e){this[2]=G(e)}get w(){return this[3]}set w(e){this[3]=G(e)}len(){return Qh(this)}lengthSquared(){return $h(this)}dot(e){return Yh(this,e)}rotationTo(e,r){return td(this,e,r),this.check()}add(e){return Xh(this,this,e),this.check()}calculateW(){return Jh(this,this),this.check()}conjugate(){return Wh(this,this),this.check()}invert(){return qh(this,this),this.check()}lerp(e,r,n){return n===void 0?this.lerp(this,e,r):(Zh(this,e,r,n),this.check())}multiplyRight(e){return hc(this,this,e),this.check()}multiplyLeft(e){return hc(this,e,this),this.check()}normalize(){let e=this.len(),r=e>0?1/e:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,e===0&&(this[3]=1),this.check()}rotateX(e){return zh(this,this,e),this.check()}rotateY(e){return jh(this,this,e),this.check()}rotateZ(e){return kh(this,this,e),this.check()}scale(e){return Kh(this,this,e),this.check()}slerp(e,r,n){let i,o,s;switch(arguments.length){case 1:({start:i=dx,target:o,ratio:s}=e);break;case 2:i=this,o=e,s=r;break;default:i=e,o=r,s=n}return Pn(this,i,o,s),this.check()}transformVector4(e,r=new Fr){return Uh(r,e,this),Pt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,r){return this.setAxisAngle(e,r)}premultiply(e){return this.multiplyLeft(e)}multiply(e){return this.multiplyRight(e)}};var je={};de(je,{EPSILON1:()=>px,EPSILON10:()=>bx,EPSILON11:()=>Ex,EPSILON12:()=>Sx,EPSILON13:()=>Bx,EPSILON14:()=>Cx,EPSILON15:()=>Mx,EPSILON16:()=>wx,EPSILON17:()=>Ix,EPSILON18:()=>Ox,EPSILON19:()=>Rx,EPSILON2:()=>mx,EPSILON20:()=>Lx,EPSILON3:()=>gx,EPSILON4:()=>yx,EPSILON5:()=>Ax,EPSILON6:()=>_x,EPSILON7:()=>vx,EPSILON8:()=>xx,EPSILON9:()=>Tx,PI_OVER_FOUR:()=>Fx,PI_OVER_SIX:()=>Dx,PI_OVER_TWO:()=>Px,TWO_PI:()=>Nx});var px=.1,mx=.01,gx=.001,yx=1e-4,Ax=1e-5,_x=1e-6,vx=1e-7,xx=1e-8,Tx=1e-9,bx=1e-10,Ex=1e-11,Sx=1e-12,Bx=1e-13,Cx=1e-14,Mx=1e-15,wx=1e-16,Ix=1e-17,Ox=1e-18,Rx=1e-19,Lx=1e-20,Px=Math.PI/2,Fx=Math.PI/4,Dx=Math.PI/6,Nx=Math.PI*2;function Qi(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var ke=Math.PI,od=ke/4,rd=ke/180,nd=180/ke,$i=512;function pt(t){let[e,r]=t;Qi(Number.isFinite(e)),Qi(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*rd,i=r*rd,o=$i*(n+ke)/(2*ke),s=$i*(ke+Math.log(Math.tan(od+i*.5)))/(2*ke);return[o,s]}function mt(t){let[e,r]=t,n=e/$i*(2*ke)-ke,i=2*(Math.atan(Math.exp(r/$i*(2*ke)-ke))-od);return[n*nd,i*nd]}var x3=Math.PI/180;var ad=6378137*Math.PI;function pc(t){var e=pt(t);return e[0]=(e[0]/256-1)*ad,e[1]=(e[1]/256-1)*ad,e}function to(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?to=function(r){return typeof r}:to=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},to(t)}function cd(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function mc(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){cd(o,n,i,s,a,"next",c)}function a(c){cd(o,n,i,s,a,"throw",c)}s(void 0)})}}function ud(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function eo(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ud(Object(r),!0).forEach(function(n){$x(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ud(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function $x(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function eT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ld(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function tT(t,e,r){return e&&ld(t.prototype,e),r&&ld(t,r),t}function ro(t,e,r){return typeof Reflect<"u"&&Reflect.get?ro=Reflect.get:ro=function(i,o,s){var a=rT(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},ro(t,e,r||t)}function rT(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Nr(t),t!==null););return t}function nT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&gc(t,e)}function gc(t,e){return gc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},gc(t,e)}function iT(t){var e=aT();return function(){var n=Nr(t),i;if(e){var o=Nr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return oT(this,i)}}function oT(t,e){if(e&&(to(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return sT(t)}function sT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function aT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Nr(t){return Nr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Nr(t)}var cT={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:function(){}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:function(){}},onImageLoad:{type:"function",value:function(){}},onImageLoadError:{type:"function",compare:!1,value:function(e,r){return console.error(r,e)}}},no=function(t){nT(r,t);var e=iT(r);function r(){var i;eT(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.shouldUpdateState=function(){return!0},n.initializeState=function(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0},n.updateState=function(o){var s=this,a=o.changeFlags,c=o.props,u=o.oldProps,l=this.context.viewport;a.dataChanged||c.serviceType!==u.serviceType?(this.state.imageSource=this._createImageSource(c),this._loadMetadata(),this.debounce(function(){return s.loadImage(l,"image source changed")},0)):(0,cr._deepEqual)(c.layers,u.layers,1)?a.viewportChanged&&this.debounce(function(){return s.loadImage(l,"viewport changed")}):this.debounce(function(){return s.loadImage(l,"layers changed")},0)},n.finalizeState=function(){},n.renderLayers=function(){var o=this.state,s=o.bounds,a=o.image,c=o.lastRequestParameters;return a&&new fd.BitmapLayer(eo(eo({},this.getSubLayerProps({id:"bitmap"})),{},{_imageCoordinateSystem:c.srs==="EPSG:4326"?cr.COORDINATE_SYSTEM.LNGLAT:cr.COORDINATE_SYSTEM.CARTESIAN,bounds:s,image:a}))},n.getFeatureInfoText=function(){var i=mc(regeneratorRuntime.mark(function s(a,c){var u,l,f,h;return regeneratorRuntime.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(u=this.state.lastRequestParameters,!u){p.next=6;break}return p.next=4,(l=(f=this.state.imageSource).getFeatureInfoText)===null||l===void 0?void 0:l.call(f,eo(eo({},u),{},{query_layers:u.layers,x:a,y:c,info_format:"application/vnd.ogc.gml"}));case 4:return h=p.sent,p.abrupt("return",h);case 6:return p.abrupt("return","");case 7:case"end":return p.stop()}},s,this)}));function o(s,a){return i.apply(this,arguments)}return o}(),n._createImageSource=function(o){if(o.data instanceof Re)return o.data;if(typeof o.data=="string")return La({url:o.data,loadOptions:o.loadOptions,type:o.serviceType});throw new Error("invalid image source in props.data")},n._loadMetadata=function(){var i=mc(regeneratorRuntime.mark(function s(){var a,c,u,l;return regeneratorRuntime.wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return a=this.state.imageSource,h.prev=1,this.state.loadCounter++,h.next=5,a.getMetadata();case 5:c=h.sent,this.state.imageSource===a&&((u=this.getCurrentLayer())===null||u===void 0||u.props.onMetadataLoad(c)),h.next=12;break;case 9:h.prev=9,h.t0=h.catch(1),(l=this.getCurrentLayer())===null||l===void 0||l.props.onMetadataLoadError(h.t0);case 12:return h.prev=12,this.state.loadCounter--,h.finish(12);case 15:case"end":return h.stop()}},s,this,[[1,9,12,15]])}));function o(){return i.apply(this,arguments)}return o}(),n.loadImage=function(){var i=mc(regeneratorRuntime.mark(function s(a,c){var u,l,f,h,d,p,g,m,A,_,v,x,B,S;return regeneratorRuntime.wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(u=this.props,l=u.layers,f=u.serviceType,!(f==="wms"&&l.length===0)){E.next=3;break}return E.abrupt("return");case 3:return h=a.getBounds(),d=a.width,p=a.height,g=this.getRequestId(),m=this.props.srs,m==="auto"&&(m=a.resolution?"EPSG:4326":"EPSG:3857"),A={width:d,height:p,boundingBox:[[h[0],h[1]],[h[2],h[3]]],layers:l,crs:m},m==="EPSG:3857"&&(_=pc([h[0],h[1]]),v=pc([h[2],h[3]]),A.boundingBox=[_,v]),E.prev=10,this.state.loadCounter++,this.props.onImageLoadStart(g),E.next=15,this.state.imageSource.getImage(A);case 15:x=E.sent,this.state.lastRequestId<g&&((B=this.getCurrentLayer())===null||B===void 0||B.props.onImageLoad(g),this.setState({image:x,bounds:h,lastRequestParameters:A,lastRequestId:g})),E.next=23;break;case 19:E.prev=19,E.t0=E.catch(10),this.raiseError(E.t0,"Load image"),(S=this.getCurrentLayer())===null||S===void 0||S.props.onImageLoadError(g,E.t0);case 23:return E.prev=23,this.state.loadCounter--,E.finish(23);case 26:case"end":return E.stop()}},s,this,[[10,19,23,26]])}));function o(s,a){return i.apply(this,arguments)}return o}(),n.getRequestId=function(){return this.state._nextRequestId++},n.debounce=function(o){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:500;clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(function(){return o()},s)},tT(r,[{key:"isLoaded",get:function(){return Boolean(this.state)&&this.state.loadCounter===0&&ro(Nr(r.prototype),"isLoaded",this)}}]),r}(cr.CompositeLayer);no.layerName="WMSLayer";no.defaultProps=cT;var hd=P(Ve());function io(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?io=function(r){return typeof r}:io=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},io(t)}function uT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&yc(t,e)}function yc(t,e){return yc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},yc(t,e)}function fT(t){var e=pT();return function(){var n=oo(t),i;if(e){var o=oo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hT(this,i)}}function hT(t,e){if(e&&(io(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dT(t)}function dT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function pT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function oo(t){return oo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},oo(t)}var mT={getHeight:{type:"accessor",value:0},greatCircle:!0},so=function(t){lT(r,t);var e=fT(r);function r(){return uT(this,r),e.apply(this,arguments)}return r}(hd.ArcLayer);so.layerName="GreatCircleLayer";so.defaultProps=mT;var pd=P(ze()),vc=P(Ve());function ao(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ao=function(r){return typeof r}:ao=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ao(t)}var gT=["updateTriggers"];function yT(t,e){if(t==null)return{};var r=AT(t,e),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i<o.length;i++)n=o[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function AT(t,e){if(t==null)return{};var r={},n=Object.keys(t),i,o;for(o=0;o<n.length;o++)i=n[o],!(e.indexOf(i)>=0)&&(r[i]=t[i]);return r}function _T(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function vT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ac(t,e)}function Ac(t,e){return Ac=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Ac(t,e)}function xT(t){var e=ET();return function(){var n=co(t),i;if(e){var o=co(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return TT(this,i)}}function TT(t,e){if(e&&(ao(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return bT(t)}function bT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ET(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function co(t){return co=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},co(t)}function dd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function _c(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?dd(Object(r),!0).forEach(function(n){ST(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):dd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ST(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var BT=_c({},vc.PolygonLayer.defaultProps),Le=function(t){vT(r,t);var e=xT(r);function r(){return _T(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){return null},n.renderLayers=function(){var o=this.props,s=o.elevationScale,a=o.extruded,c=o.wireframe,u=o.filled,l=o.stroked,f=o.lineWidthUnits,h=o.lineWidthScale,d=o.lineWidthMinPixels,p=o.lineWidthMaxPixels,g=o.lineJointRounded,m=o.lineMiterLimit,A=o.lineDashJustified,_=o.getElevation,v=o.getFillColor,x=o.getLineColor,B=o.getLineWidth,S=this.props,C=S.updateTriggers,E=S.material,b=S.transitions,y=this.getSubLayerClass("cell",vc.PolygonLayer),M=this.indexToBounds()||{},I=M.updateTriggers,O=yT(M,gT);return new y({filled:u,wireframe:c,extruded:a,elevationScale:s,stroked:l,lineWidthUnits:f,lineWidthScale:h,lineWidthMinPixels:d,lineWidthMaxPixels:p,lineJointRounded:g,lineMiterLimit:m,lineDashJustified:A,material:E,transitions:b,getElevation:_,getFillColor:v,getLineColor:x,getLineWidth:B},this.getSubLayerProps({id:"cell",updateTriggers:C&&_c(_c({},I),{},{getElevation:C.getElevation,getFillColor:C.getFillColor,getLineColor:C.getLineColor,getLineWidth:C.getLineWidth})}),O)},r}(pd.CompositeLayer);Le.layerName="GeoCellLayer";Le.defaultProps=BT;var uo=P(xc());function _d(t,e){return IT(t)||wT(t,e)||MT(t,e)||CT()}function CT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
15
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MT(t,e){if(t){if(typeof t=="string")return gd(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gd(t,e)}}function gd(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function wT(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function IT(t){if(Array.isArray(t))return t}var OT=3,RT=30,LT=2*RT+1,yd=180/Math.PI;function vd(t,e,r){var n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function Ad(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function xd(t){return[Ad(t[0]),Ad(t[1])]}function Td(t,e){var r=_d(e,2),n=r[0],i=r[1];switch(t){case 0:return[1,n,i];case 1:return[-n,1,i];case 2:return[-n,-i,1];case 3:return[-1,-i,-n];case 4:return[i,-1,-n];case 5:return[i,n,-1];default:throw new Error("Invalid face")}}function bd(t){var e=_d(t,3),r=e[0],n=e[1],i=e[2],o=Math.atan2(i,Math.sqrt(r*r+n*n)),s=Math.atan2(n,r);return[s*yd,o*yd]}function Ed(t){for(var e=uo.default.fromString(t,!0,10).toString(2);e.length<OT+LT;)e="0"+e;for(var r=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,r),o=i.length/2,s=uo.default.fromString(n,!0,2).toString(10),a=uo.default.fromString(i,!0,2).toString(4);a.length<o;)a="0"+a;return"".concat(s,"/").concat(a)}function PT(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);var i=e[0];e[0]=e[1],e[1]=i}}function Sd(t){for(var e=t.split("/"),r=parseInt(e[0],10),n=e[1],i=n.length,o=[0,0],s,a=i-1;a>=0;a--){s=i-a;var c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);var f=Math.pow(2,s-1);PT(f,o,u,l),o[0]+=f*u,o[1]+=f*l}if(r%2===1){var h=o[0];o[0]=o[1],o[1]=h}return{face:r,ij:o,level:s}}var Bd=P(xc());function FT(t){var e=t.padEnd(16,"0");return Bd.default.fromString(e,16)}var DT=100;function NT(t){for(var e=t.face,r=t.ij,n=t.level,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(DT*Math.pow(2,-n))),s=new Float64Array(4*o*2+2),a=0,c=0,u=0;u<4;u++)for(var l=i[u].slice(0),f=i[u+1],h=(f[0]-l[0])/o,d=(f[1]-l[1])/o,p=0;p<o;p++){l[0]+=h,l[1]+=d;var g=vd(r,n,l),m=xd(g),A=Td(e,m),_=bd(A);Math.abs(_[1])>89.999&&(_[0]=c);var v=_[0]-c;_[0]+=v>180?-360:v<-180?360:0,s[a++]=_[0],s[a++]=_[1],c=_[0]}return s[a++]=s[0],s[a++]=s[1],s}function UT(t){if(typeof t=="string"){if(t.indexOf("/")>0)return t;t=FT(t)}return Ed(t.toString())}function Cd(t){var e=UT(t),r=Sd(e);return NT(r)}function lo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?lo=function(r){return typeof r}:lo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},lo(t)}function GT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function HT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Tc(t,e)}function Tc(t,e){return Tc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Tc(t,e)}function VT(t){var e=kT();return function(){var n=fo(t),i;if(e){var o=fo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return zT(this,i)}}function zT(t,e){if(e&&(lo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jT(t)}function jT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function kT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function fo(t){return fo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},fo(t)}var JT={getS2Token:{type:"accessor",value:function(e){return e.token}}},ho=function(t){HT(r,t);var e=VT(r);function r(){return GT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getS2Token;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return Cd(a(u,l))}}},r}(Le);ho.layerName="S2Layer";ho.defaultProps=JT;function bc(t,e){return KT(t)||XT(t,e)||WT(t,e)||qT()}function qT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function WT(t,e){if(t){if(typeof t=="string")return Md(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Md(t,e)}}function Md(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function XT(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function KT(t){if(Array.isArray(t))return t}var Ec=512;function YT(t,e){for(var r=0,n=0,i=1<<t.length,o=i/Ec,s=0;s<t.length;s++){i>>=1;var a=parseInt(t[s]);a%2&&(r|=i),a>1&&(n|=i)}return[[r/o,Ec-n/o],[(r+e)/o,Ec-(n+e)/o]]}function wd(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=YT(t,e),n=bc(r,2),i=n[0],o=n[1],s=mt(i),a=bc(s,2),c=a[0],u=a[1],l=mt(o),f=bc(l,2),h=f[0],d=f[1];return[h,u,h,d,c,d,c,u,h,u]}function po(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?po=function(r){return typeof r}:po=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},po(t)}function ZT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function QT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Sc(t,e)}function Sc(t,e){return Sc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Sc(t,e)}function $T(t){var e=rb();return function(){var n=mo(t),i;if(e){var o=mo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return eb(this,i)}}function eb(t,e){if(e&&(po(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return tb(t)}function tb(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function rb(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function mo(t){return mo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},mo(t)}var nb={getQuadkey:{type:"accessor",value:function(e){return e.quadkey}}},go=function(t){QT(r,t);var e=$T(r);function r(){return ZT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.extruded,c=o.getQuadkey,u=a?.99:1;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(f,h){return wd(c(f,h),u)},updateTriggers:{getPolygon:u}}},r}(Le);go.layerName="QuadkeyLayer";go.defaultProps=nb;var Mo=P(ze()),up=P(Ve());function Id(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function ib(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){Id(o,n,i,s,a,"next",c)}function a(c){Id(o,n,i,s,a,"throw",c)}s(void 0)})}}function ob(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Od(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function sb(t,e,r){return e&&Od(t.prototype,e),r&&Od(t,r),t}var Dn=function(){function t(r){ob(this,t),this.index=void 0,this.isVisible=void 0,this.isSelected=void 0,this.parent=void 0,this.children=void 0,this.content=void 0,this.state=void 0,this.layers=void 0,this.id=void 0,this.zoom=void 0,this.userData=void 0,this.boundingBox=void 0,this._abortController=void 0,this._loader=void 0,this._loaderId=void 0,this._isLoaded=void 0,this._isCancelled=void 0,this._needsReload=void 0,this._bbox=void 0,this.index=r,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}var e=t.prototype;return e._loadData=function(){var r=ib(regeneratorRuntime.mark(function i(o){var s,a,c,u,l,f,h,d,p,g,m,A,_,v;return regeneratorRuntime.wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return s=o.getData,a=o.requestScheduler,c=o.onLoad,u=o.onError,l=this.index,f=this.id,h=this.bbox,d=this.userData,p=this.zoom,g=this._loaderId,this._abortController=new AbortController,m=this._abortController.signal,B.next=7,a.scheduleRequest(this,function(S){return S.isSelected?1:-1});case 7:if(A=B.sent,A){B.next=11;break}return this._isCancelled=!0,B.abrupt("return");case 11:if(!this._isCancelled){B.next=14;break}return A.done(),B.abrupt("return");case 14:return _=null,B.prev=15,B.next=18,s({index:l,id:f,bbox:h,userData:d,zoom:p,signal:m});case 18:_=B.sent,B.next=24;break;case 21:B.prev=21,B.t0=B.catch(15),v=B.t0||!0;case 24:return B.prev=24,A.done(),B.finish(24);case 27:if(g===this._loaderId){B.next=29;break}return B.abrupt("return");case 29:if(this._loader=void 0,this.content=_,!(this._isCancelled&&!_)){B.next=34;break}return this._isLoaded=!1,B.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,v?u(v,this):c(this);case 37:case"end":return B.stop()}},i,this,[[15,21,24,27]])}));function n(i){return r.apply(this,arguments)}return n}(),e.loadData=function(n){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(n),this._loader},e.setNeedsReload=function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0},e.abort=function(){var n;this.isLoaded||(this._isCancelled=!0,(n=this._abortController)===null||n===void 0||n.abort())},sb(t,[{key:"bbox",get:function(){return this._bbox},set:function(n){this._bbox||(this._bbox=n,"west"in n?this.boundingBox=[[n.west,n.south],[n.east,n.north]]:this.boundingBox=[[n.left,n.top],[n.right,n.bottom]])}},{key:"data",get:function(){var n=this;return this.isLoading&&this._loader?this._loader.then(function(){return n.data}):this.content}},{key:"isLoaded",get:function(){return this._isLoaded&&!this._needsReload}},{key:"isLoading",get:function(){return Boolean(this._loader)&&!this._isCancelled}},{key:"needsReload",get:function(){return this._needsReload||this._isCancelled}},{key:"byteLength",get:function(){var n=this.content?this.content.byteLength:0;return Number.isFinite(n)||console.error("byteLength not defined in tile data"),n}}]),t}();var Gn=P(ze());var oe={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Rd=new T,ab=new T,Dt=class{constructor(e=[0,0,0],r=[0,0,0],n){L(this,"center",void 0),L(this,"halfDiagonal",void 0),L(this,"minimum",void 0),L(this,"maximum",void 0),n=n||Rd.copy(e).add(r).scale(.5),this.center=new T(n),this.halfDiagonal=new T(r).subtract(this.center),this.minimum=new T(e),this.maximum=new T(r)}clone(){return new Dt(this.minimum,this.maximum,this.center)}equals(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){let{halfDiagonal:r}=this,n=ab.from(e.normal),i=r.x*Math.abs(n.x)+r.y*Math.abs(n.y)+r.z*Math.abs(n.z),o=this.center.dot(n)+e.distance;return o-i>0?oe.INSIDE:o+i<0?oe.OUTSIDE:oe.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=Rd.from(e).subtract(this.center),{halfDiagonal:n}=this,i=0,o;return o=Math.abs(r.x)-n.x,o>0&&(i+=o*o),o=Math.abs(r.y)-n.y,o>0&&(i+=o*o),o=Math.abs(r.z)-n.z,o>0&&(i+=o*o),i}};var Nn=new T,Ld=new T,Pe=class{constructor(e=[0,0,0],r=0){L(this,"center",void 0),L(this,"radius",void 0),this.radius=-0,this.center=new T,this.fromCenterRadius(e,r)}fromCenterRadius(e,r){return this.center.from(e),this.radius=r,this}fromCornerPoints(e,r){return r=Nn.from(r),this.center=new T().from(e).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new Pe(this.center,this.radius)}union(e){let r=this.center,n=this.radius,i=e.center,o=e.radius,s=Nn.copy(i).subtract(r),a=s.magnitude();if(n>=a+o)return this.clone();if(o>=a+n)return e.clone();let c=(n+a+o)*.5;return Ld.copy(s).scale((-n+c)/a).add(r),this.center.copy(Ld),this.radius=c,this}expand(e){let n=Nn.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);let r=Ki.getScaling(Nn,e);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(e){let r=this.distanceTo(e);return r*r}distanceTo(e){let n=Nn.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){let r=this.center,n=this.radius,o=e.normal.dot(r)+e.distance;return o<-n?oe.OUTSIDE:o<n?oe.INTERSECTING:oe.INSIDE}};var cb=new T,ub=new T,yo=new T,Ao=new T,_o=new T,lb=new T,fb=new T,gt={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Je=class{constructor(e=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){L(this,"center",void 0),L(this,"halfAxes",void 0),this.center=new T().from(e),this.halfAxes=new j(r)}get halfSize(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new T(e).len(),new T(r).len(),new T(n).len()]}get quaternion(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new T(e).normalize(),o=new T(r).normalize(),s=new T(n).normalize();return new nt().fromMatrix3(new j([...i,...o,...s]))}fromCenterHalfSizeQuaternion(e,r,n){let i=new nt(n),o=new j().fromQuaternion(i);return o[0]=o[0]*r[0],o[1]=o[1]*r[0],o[2]=o[2]*r[0],o[3]=o[3]*r[1],o[4]=o[4]*r[1],o[5]=o[5]*r[1],o[6]=o[6]*r[2],o[7]=o[7]*r[2],o[8]=o[8]*r[2],this.center=new T().from(e),this.halfAxes=o,this}clone(){return new Je(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Pe){let r=this.halfAxes,n=r.getColumn(0,yo),i=r.getColumn(1,Ao),o=r.getColumn(2,_o),s=cb.copy(n).add(i).add(o);return e.center.copy(this.center),e.radius=s.magnitude(),e}intersectPlane(e){let r=this.center,n=e.normal,i=this.halfAxes,o=n.x,s=n.y,a=n.z,c=Math.abs(o*i[gt.COLUMN0ROW0]+s*i[gt.COLUMN0ROW1]+a*i[gt.COLUMN0ROW2])+Math.abs(o*i[gt.COLUMN1ROW0]+s*i[gt.COLUMN1ROW1]+a*i[gt.COLUMN1ROW2])+Math.abs(o*i[gt.COLUMN2ROW0]+s*i[gt.COLUMN2ROW1]+a*i[gt.COLUMN2ROW2]),u=n.dot(r)+e.distance;return u<=-c?oe.OUTSIDE:u>=c?oe.INSIDE:oe.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=ub.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,yo),o=n.getColumn(1,Ao),s=n.getColumn(2,_o),a=i.magnitude(),c=o.magnitude(),u=s.magnitude();i.normalize(),o.normalize(),s.normalize();let l=0,f;return f=Math.abs(r.dot(i))-a,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),f=Math.abs(r.dot(s))-u,f>0&&(l+=f*f),l}computePlaneDistances(e,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=this.center,a=this.halfAxes,c=a.getColumn(0,yo),u=a.getColumn(1,Ao),l=a.getColumn(2,_o),f=lb.copy(c).add(u).add(l).add(s),h=fb.copy(f).subtract(e),d=r.dot(h);return i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),n[0]=i,n[1]=o,n}transform(e){this.center.transformAsPoint(e);let r=this.halfAxes.getColumn(0,yo);r.transformAsPoint(e);let n=this.halfAxes.getColumn(1,Ao);n.transformAsPoint(e);let i=this.halfAxes.getColumn(2,_o);return i.transformAsPoint(e),this.halfAxes=new j([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Pd=new T,Fd=new T,fe=class{constructor(e=[0,0,1],r=0){L(this,"normal",void 0),L(this,"distance",void 0),this.normal=new T,this.distance=-0,this.fromNormalDistance(e,r)}fromNormalDistance(e,r){return le(Number.isFinite(r)),this.normal.from(e).normalize(),this.distance=r,this}fromPointNormal(e,r){e=Pd.from(e),this.normal.from(r).normalize();let n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,r,n,i){return this.normal.set(e,r,n),le(_e(this.normal.len(),1)),this.distance=i,this}clone(){return new fe(this.normal,this.distance)}equals(e){return _e(this.distance,e.distance)&&_e(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){let r=Fd.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,r)}projectPointOntoPlane(e,r=[0,0,0]){let n=Pd.from(e),i=this.getPointDistance(n),o=Fd.copy(this.normal).scale(i);return n.subtract(o).to(r)}};var Dd=[new T([1,0,0]),new T([0,1,0]),new T([0,0,1])],Nd=new T,hb=new T,ce=class{constructor(e=[]){L(this,"planes",void 0),this.planes=e}fromBoundingSphere(e){this.planes.length=2*Dd.length;let r=e.center,n=e.radius,i=0;for(let o of Dd){let s=this.planes[i],a=this.planes[i+1];s||(s=this.planes[i]=new fe),a||(a=this.planes[i+1]=new fe);let c=Nd.copy(o).scale(-n).add(r);s.fromPointNormal(c,o);let u=Nd.copy(o).scale(n).add(r),l=hb.copy(o).negate();a.fromPointNormal(u,l),i+=2}return this}computeVisibility(e){let r=oe.INSIDE;for(let n of this.planes)switch(e.intersectPlane(n)){case oe.OUTSIDE:return oe.OUTSIDE;case oe.INTERSECTING:r=oe.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(e,r){if(le(Number.isFinite(r),"parentPlaneMask is required."),r===ce.MASK_OUTSIDE||r===ce.MASK_INSIDE)return r;let n=ce.MASK_INSIDE,i=this.planes;for(let o=0;o<this.planes.length;++o){let s=o<31?1<<o:0;if(o<31&&!(r&s))continue;let a=i[o],c=e.intersectPlane(a);if(c===oe.OUTSIDE)return ce.MASK_OUTSIDE;c===oe.INTERSECTING&&(n|=s)}return n}};L(ce,"MASK_OUTSIDE",4294967295);L(ce,"MASK_INSIDE",0);L(ce,"MASK_INDETERMINATE",2147483647);var JD=new T,qD=new T,WD=new T,XD=new T,KD=new T;var rN=new T,nN=new T,iN=new T,oN=new T,sN=new T,aN=new T,cN=new T,uN=new T,lN=new T,fN=new T,hN=new T,dN=new T;var it=new j,pb=new j,mb=new j,vo=new j,Ud=new j;function Mc(t,e={}){let r=je.EPSILON20,n=10,i=0,o=0,s=pb,a=mb;s.identity(),a.copy(t);let c=r*gb(a);for(;o<n&&yb(a)>c;)Ab(a,vo),Ud.copy(vo).transpose(),a.multiplyRight(vo),a.multiplyLeft(Ud),s.multiplyRight(vo),++i>2&&(++o,i=0);return e.unitary=s.toTarget(e.unitary),e.diagonal=a.toTarget(e.diagonal),e}function gb(t){let e=0;for(let r=0;r<9;++r){let n=t[r];e+=n*n}return Math.sqrt(e)}var Bc=[1,0,0],Cc=[2,2,1];function yb(t){let e=0;for(let r=0;r<3;++r){let n=t[it.getElementIndex(Cc[r],Bc[r])];e+=2*n*n}return Math.sqrt(e)}function Ab(t,e){let r=je.EPSILON15,n=0,i=1;for(let u=0;u<3;++u){let l=Math.abs(t[it.getElementIndex(Cc[u],Bc[u])]);l>n&&(i=u,n=l)}let o=Bc[i],s=Cc[i],a=1,c=0;if(Math.abs(t[it.getElementIndex(s,o)])>r){let u=t[it.getElementIndex(s,s)],l=t[it.getElementIndex(o,o)],f=t[it.getElementIndex(s,o)],h=(u-l)/2/f,d;h<0?d=-1/(-h+Math.sqrt(1+h*h)):d=1/(h+Math.sqrt(1+h*h)),a=1/Math.sqrt(1+d*d),c=d*a}return j.IDENTITY.to(e),e[it.getElementIndex(o,o)]=e[it.getElementIndex(s,s)]=a,e[it.getElementIndex(s,o)]=c,e[it.getElementIndex(o,s)]=-c,e}var Nt=new T,_b=new T,vb=new T,xb=new T,Tb=new T,bb=new j,Eb={diagonal:new j,unitary:new j};function Un(t,e=new Je){if(!t||t.length===0)return e.halfAxes=new j([0,0,0,0,0,0,0,0,0]),e.center=new T,e;let r=t.length,n=new T(0,0,0);for(let b of t)n.add(b);let i=1/r;n.multiplyByScalar(i);let o=0,s=0,a=0,c=0,u=0,l=0;for(let b of t){let y=Nt.copy(b).subtract(n);o+=y.x*y.x,s+=y.x*y.y,a+=y.x*y.z,c+=y.y*y.y,u+=y.y*y.z,l+=y.z*y.z}o*=i,s*=i,a*=i,c*=i,u*=i,l*=i;let f=bb;f[0]=o,f[1]=s,f[2]=a,f[3]=s,f[4]=c,f[5]=u,f[6]=a,f[7]=u,f[8]=l;let{unitary:h}=Mc(f,Eb),d=e.halfAxes.copy(h),p=d.getColumn(0,vb),g=d.getColumn(1,xb),m=d.getColumn(2,Tb),A=-Number.MAX_VALUE,_=-Number.MAX_VALUE,v=-Number.MAX_VALUE,x=Number.MAX_VALUE,B=Number.MAX_VALUE,S=Number.MAX_VALUE;for(let b of t)Nt.copy(b),A=Math.max(Nt.dot(p),A),_=Math.max(Nt.dot(g),_),v=Math.max(Nt.dot(m),v),x=Math.min(Nt.dot(p),x),B=Math.min(Nt.dot(g),B),S=Math.min(Nt.dot(m),S);p=p.multiplyByScalar(.5*(x+A)),g=g.multiplyByScalar(.5*(B+_)),m=m.multiplyByScalar(.5*(S+v)),e.center.copy(p).add(g).add(m);let C=_b.set(A-x,_-B,v-S).multiplyByScalar(.5),E=new j([C[0],0,0,0,C[1],0,0,0,C[2]]);return e.halfAxes.multiplyRight(E),e}function zd(t,e){return Cb(t)||Bb(t,e)||jd(t,e)||Sb()}function Sb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
17
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Cb(t){if(Array.isArray(t))return t}function wc(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=jd(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
18
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function jd(t,e){if(t){if(typeof t=="string")return Gd(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gd(t,e)}}function Gd(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Mb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hd(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function wb(t,e,r){return e&&Hd(t.prototype,e),r&&Hd(t,r),t}var Ur=512,Vd=3,kd=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],Jd=kd.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),Ib=Jd.concat([[.25,.5],[.75,.5]]),Ob=function(){function t(r,n,i){Mb(this,t),this.x=void 0,this.y=void 0,this.z=void 0,this.childVisible=void 0,this.selected=void 0,this._children=void 0,this.x=r,this.y=n,this.z=i}var e=t.prototype;return e.update=function(n){var i=n.viewport,o=n.cullingVolume,s=n.elevationBounds,a=n.minZ,c=n.maxZ,u=n.bounds,l=n.offset,f=n.project,h=this.getBoundingVolume(s,l,f);if(u&&!this.insideBounds(u))return!1;var d=o.computeVisibility(h);if(d<0)return!1;if(!this.childVisible){var p=this.z;if(p<c&&p>=a){var g=h.distanceTo(i.cameraPosition)*i.scale/i.height;p+=Math.floor(Math.log2(g))}if(p>=c)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var m=wc(this.children),A;try{for(m.s();!(A=m.n()).done;){var _=A.value;_.update(n)}}catch(v){m.e(v)}finally{m.f()}return!0},e.getSelected=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(this.selected&&n.push(this),this._children){var i=wc(this._children),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.getSelected(n)}}catch(a){i.e(a)}finally{i.f()}}return n},e.insideBounds=function(n){var i=zd(n,4),o=i[0],s=i[1],a=i[2],c=i[3],u=Math.pow(2,this.z),l=Ur/u;return this.x*l<a&&this.y*l<c&&(this.x+1)*l>o&&(this.y+1)*l>s},e.getBoundingVolume=function(n,i,o){if(o){var s=this.z<1?Ib:this.z<2?Jd:kd,a=[],c=wc(s),u;try{for(c.s();!(u=c.n()).done;){var l=u.value,f=xo(this.x+l[0],this.y+l[1],this.z);f[2]=n[0],a.push(o(f)),n[0]!==n[1]&&(f[2]=n[1],a.push(o(f)))}}catch(m){c.e(m)}finally{c.f()}return Un(a)}var h=Math.pow(2,this.z),d=Ur/h,p=this.x*d+i*Ur,g=Ur-(this.y+1)*d;return new Dt([p,g,n[0]],[p+d,g+d,n[1]])},wb(t,[{key:"children",get:function(){if(!this._children){var n=this.x*2,i=this.y*2,o=this.z+1;this._children=[new t(n,i,o),new t(n,i+1,o),new t(n+1,i,o),new t(n+1,i+1,o)]}return this._children}}]),t}();function qd(t,e,r,n){var i=t instanceof Gn._GlobeViewport&&t.resolution?t.projectPosition:null,o=Object.values(t.getFrustumPlanes()).map(function(B){var S=B.normal,C=B.distance;return new fe(S.clone().negate(),C)}),s=new ce(o),a=t.distanceScales.unitsPerMeter[2],c=r&&r[0]*a||0,u=r&&r[1]*a||0,l=t instanceof Gn.WebMercatorViewport&&t.pitch<=60?e:0;if(n){var f=n,h=zd(f,4),d=h[0],p=h[1],g=h[2],m=h[3],A=pt([d,m]),_=pt([g,p]);n=[A[0],Ur-A[1],_[0],Ur-_[1]]}var v=new Ob(0,0,0),x={viewport:t,project:i,cullingVolume:s,elevationBounds:[c,u],minZ:l,maxZ:e,bounds:n,offset:0};if(v.update(x),t instanceof Gn.WebMercatorViewport&&t.subViewports&&t.subViewports.length>1){for(x.offset=-1;v.update(x)&&!(--x.offset<-Vd););for(x.offset=1;v.update(x)&&!(++x.offset>Vd););}return v.getSelected()}function Gr(t,e){return Pb(t)||Lb(t,e)||Xd(t,e)||Rb()}function Rb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
19
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Pb(t){if(Array.isArray(t))return t}function To(t){return Nb(t)||Db(t)||Xd(t)||Fb()}function Fb(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
20
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xd(t,e){if(t){if(typeof t=="string")return Ic(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ic(t,e)}}function Db(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Nb(t){if(Array.isArray(t))return Ic(t)}function Ic(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var yt=512,Ub=[-1/0,-1/0,1/0,1/0],Ut={type:"object",value:null,validate:function(e,r){return r.optional&&e===null||typeof e=="string"||Array.isArray(e)&&e.every(function(n){return typeof n=="string"})},equal:function(e,r){if(e===r)return!0;if(!Array.isArray(e)||!Array.isArray(r))return!1;var n=e.length;if(n!==r.length)return!1;for(var i=0;i<n;i++)if(e[i]!==r[i])return!1;return!0}};function Kd(t,e){var r=[e.transformAsPoint([t[0],t[1]]),e.transformAsPoint([t[2],t[1]]),e.transformAsPoint([t[0],t[3]]),e.transformAsPoint([t[2],t[3]])],n=[Math.min.apply(Math,To(r.map(function(i){return i[0]}))),Math.min.apply(Math,To(r.map(function(i){return i[1]}))),Math.max.apply(Math,To(r.map(function(i){return i[0]}))),Math.max.apply(Math,To(r.map(function(i){return i[1]})))];return n}function Gb(t){return Math.abs(t.split("").reduce(function(e,r){return(e<<5)-e+r.charCodeAt(0)|0},0))}function ot(t,e){if(!t||!t.length)return null;var r=e.index,n=e.id;if(Array.isArray(t)){var i=Gb(n)%t.length;t=t[i]}for(var o=t,s=0,a=Object.keys(r);s<a.length;s++){var c=a[s],u=new RegExp("{".concat(c,"}"),"g");o=o.replace(u,String(r[c]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(o=o.replace(/\{-y\}/g,String(Math.pow(2,r.z)-r.y-1))),o}function Hb(t,e,r){var n;if(e&&e.length===2){var i=Gr(e,2),o=i[0],s=i[1],a=t.getBounds({z:o}),c=t.getBounds({z:s});n=[Math.min(a[0],c[0]),Math.min(a[1],c[1]),Math.max(a[2],c[2]),Math.max(a[3],c[3])]}else n=t.getBounds();return t.isGeospatial?[Math.max(n[0],r[0]),Math.max(n[1],r[1]),Math.min(n[2],r[2]),Math.min(n[3],r[3])]:[Math.max(Math.min(n[0],r[2]),r[0]),Math.max(Math.min(n[1],r[3]),r[1]),Math.min(Math.max(n[2],r[0]),r[2]),Math.min(Math.max(n[3],r[1]),r[3])]}function Yd(t){var e=t.viewport,r=t.z,n=t.cullRect,i=e.subViewports||[e];return i.map(function(o){return Oc(o,r||0,n)})}function Oc(t,e,r){if(!Array.isArray(e)){var n=r.x-t.x,i=r.y-t.y,o=r.width,s=r.height,a={targetZ:e},c=t.unproject([n,i],a),u=t.unproject([n+o,i],a),l=t.unproject([n,i+s],a),f=t.unproject([n+o,i+s],a);return[Math.min(c[0],u[0],l[0],f[0]),Math.min(c[1],u[1],l[1],f[1]),Math.max(c[0],u[0],l[0],f[0]),Math.max(c[1],u[1],l[1],f[1])]}var h=Oc(t,e[0],r),d=Oc(t,e[1],r);return[Math.min(h[0],d[0]),Math.min(h[1],d[1]),Math.max(h[2],d[2]),Math.max(h[3],d[3])]}function Vb(t,e,r){if(r){var n=Kd(t,r).map(function(i){return i*e/yt});return n}return t.map(function(i){return i*e/yt})}function Rc(t,e){return Math.pow(2,t)*yt/e}function xo(t,e,r){var n=Rc(r,yt),i=t/n*360-180,o=Math.PI-2*Math.PI*e/n,s=180/Math.PI*Math.atan(.5*(Math.exp(o)-Math.exp(-o)));return[i,s]}function Wd(t,e,r,n){var i=Rc(r,n);return[t/i*yt,e/i*yt]}function Lc(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:yt;if(t.isGeospatial){var o=xo(e,r,n),s=Gr(o,2),a=s[0],c=s[1],u=xo(e+1,r+1,n),l=Gr(u,2),f=l[0],h=l[1];return{west:a,north:c,east:f,south:h}}var d=Wd(e,r,n,i),p=Gr(d,2),g=p[0],m=p[1],A=Wd(e+1,r+1,n,i),_=Gr(A,2),v=_[0],x=_[1];return{left:g,top:m,right:v,bottom:x}}function zb(t,e,r,n,i){for(var o=Hb(t,null,n),s=Rc(e,r),a=Vb(o,s,i),c=Gr(a,4),u=c[0],l=c[1],f=c[2],h=c[3],d=[],p=Math.floor(u);p<f;p++)for(var g=Math.floor(l);g<h;g++)d.push({x:p,y:g,z:e});return d}function Pc(t){var e=t.viewport,r=t.maxZoom,n=t.minZoom,i=t.zRange,o=t.extent,s=t.tileSize,a=s===void 0?yt:s,c=t.modelMatrix,u=t.modelMatrixInverse,l=t.zoomOffset,f=l===void 0?0:l,h=e.isGeospatial?Math.round(e.zoom+Math.log2(yt/a))+f:Math.ceil(e.zoom)+f;if(typeof n=="number"&&Number.isFinite(n)&&h<n){if(!o)return[];h=n}typeof r=="number"&&Number.isFinite(r)&&h>r&&(h=r);var d=o;return c&&u&&o&&!e.isGeospatial&&(d=Kd(o,c)),e.isGeospatial?qd(e,h,i,o):zb(e,h,a,d||Ub,u)}function Fc(t){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(t)}function Dc(t){return Number.isFinite(t.west)&&Number.isFinite(t.north)&&Number.isFinite(t.east)&&Number.isFinite(t.south)}function Zd(t){var e={},r;return function(n){for(var i in n)if(!jb(n[i],e[i])){r=t(n),e=n;break}return r}}function jb(t,e){if(t===e)return!0;if(Array.isArray(t)){var r=t.length;if(!e||e.length!==r)return!1;for(var n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}return!1}var Hn;function Qd(t,e){return qb(t)||Jb(t,e)||ip(t,e)||kb()}function kb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function qb(t){if(Array.isArray(t))return t}function he(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=ip(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function ip(t,e){if(t){if(typeof t=="string")return $d(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $d(t,e)}}function $d(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function ep(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function tp(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ep(Object(r),!0).forEach(function(n){bo(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ep(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Wb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function rp(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Xb(t,e,r){return e&&rp(t.prototype,e),r&&rp(t,r),t}function bo(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var np=1,Eo=2,Kb="never",Yb="no-overlap",Vn="best-available",Zb=5,Qb=(Hn={},bo(Hn,Vn,eE),bo(Hn,Yb,tE),bo(Hn,Kb,function(){}),Hn),$b={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:function(){},onTileUnload:function(){},onTileError:function(){}},zn=function(){function t(r){var n=this;Wb(this,t),this.opts=void 0,this._requestScheduler=void 0,this._cache=void 0,this._dirty=void 0,this._tiles=void 0,this._cacheByteSize=void 0,this._viewport=void 0,this._zRange=void 0,this._selectedTiles=void 0,this._frameNumber=void 0,this._modelMatrix=void 0,this._modelMatrixInverse=void 0,this._maxZoom=void 0,this._minZoom=void 0,this.onTileLoad=void 0,this._getCullBounds=Zd(Yd),this.opts=tp(tp({},$b),r),this.onTileLoad=function(i){var o,s;(o=(s=n.opts).onTileLoad)===null||o===void 0||o.call(s,i),n.opts.maxCacheByteSize&&(n._cacheByteSize+=i.byteLength,n._resizeCache())},this._requestScheduler=new wt({maxRequests:r.maxRequests,throttleRequests:Boolean(r.maxRequests&&r.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new D,this._modelMatrixInverse=new D,this.setOptions(r)}var e=t.prototype;return e.setOptions=function(n){Object.assign(this.opts,n),Number.isFinite(n.maxZoom)&&(this._maxZoom=Math.floor(n.maxZoom)),Number.isFinite(n.minZoom)&&(this._minZoom=Math.ceil(n.minZoom))},e.finalize=function(){var n=he(this._cache.values()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o.isLoading&&o.abort()}}catch(s){n.e(s)}finally{n.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null},e.reloadAll=function(){var n=he(this._cache.keys()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,s=this._cache.get(o);!this._selectedTiles||!this._selectedTiles.includes(s)?this._cache.delete(o):s.setNeedsReload()}}catch(a){n.e(a)}finally{n.f()}},e.update=function(n){var i=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=o.zRange,a=o.modelMatrix,c=a?new D(a):new D,u=!c.equals(this._modelMatrix);if(!this._viewport||!n.equals(this._viewport)||!_e(this._zRange,s)||u){u&&(this._modelMatrixInverse=c.clone().invert(),this._modelMatrix=c),this._viewport=n,this._zRange=s;var l=this.getTileIndices({viewport:n,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:s,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=l.map(function(h){return i._getTile(h,!0)}),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(function(h){return i._getTile(h.index,!0)}));var f=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),f&&this._frameNumber++,this._frameNumber},e.isTileVisible=function(n,i){if(!n.isVisible)return!1;if(i&&this._viewport){var o=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:i}),s=n.bbox,a=he(o),c;try{for(a.s();!(c=a.n()).done;){var u=Qd(c.value,4),l=u[0],f=u[1],h=u[2],d=u[3],p=void 0;if("west"in s)p=s.west<h&&s.east>l&&s.south<d&&s.north>f;else{var g=Math.min(s.top,s.bottom),m=Math.max(s.top,s.bottom);p=s.left<h&&s.right>l&&g<d&&m>f}if(p)return!0}}catch(A){a.e(A)}finally{a.f()}return!1}return!0},e.getTileIndices=function(n){var i=n.viewport,o=n.maxZoom,s=n.minZoom,a=n.zRange,c=n.modelMatrix,u=n.modelMatrixInverse,l=this.opts,f=l.tileSize,h=l.extent,d=l.zoomOffset;return Pc({viewport:i,maxZoom:o,minZoom:s,zRange:a,tileSize:f,extent:h,modelMatrix:c,modelMatrixInverse:u,zoomOffset:d})},e.getTileId=function(n){return"".concat(n.x,"-").concat(n.y,"-").concat(n.z)},e.getTileZoom=function(n){return n.z},e.getTileMetadata=function(n){var i=this.opts.tileSize;return{bbox:Lc(this._viewport,n.x,n.y,n.z,i)}},e.getParentIndex=function(n){var i=Math.floor(n.x/2),o=Math.floor(n.y/2),s=n.z-1;return{x:i,y:o,z:s}},e.updateTileStates=function(){var n=this.opts.refinementStrategy||Vn,i=new Array(this._cache.size),o=0,s=he(this._cache.values()),a;try{for(s.s();!(a=s.n()).done;){var c=a.value;i[o++]=c.isVisible,c.isSelected=!1,c.isVisible=!1}}catch(g){s.e(g)}finally{s.f()}var u=he(this._selectedTiles),l;try{for(u.s();!(l=u.n()).done;){var f=l.value;f.isSelected=!0,f.isVisible=!0}}catch(g){u.e(g)}finally{u.f()}(typeof n=="function"?n:Qb[n])(Array.from(this._cache.values())),o=0;var h=he(this._cache.values()),d;try{for(h.s();!(d=h.n()).done;){var p=d.value;if(i[o++]!==p.isVisible)return!0}}catch(g){h.e(g)}finally{h.f()}return!1},e._pruneRequests=function(){var n=this.opts.maxRequests,i=n===void 0?0:n,o=[],s=0,a=he(this._cache.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isLoading&&(s++,!u.isSelected&&!u.isVisible&&o.push(u))}}catch(f){a.e(f)}finally{a.f()}for(;i>0&&s>i&&o.length>0;){var l=o.shift();l.abort(),s--}},e._rebuildTree=function(){var n=this._cache,i=he(n.values()),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.parent=null,s.children&&(s.children.length=0)}}catch(f){i.e(f)}finally{i.f()}var a=he(n.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value,l=this._getNearestAncestor(u);u.parent=l,l!=null&&l.children&&l.children.push(u)}}catch(f){a.e(f)}finally{a.f()}},e._resizeCache=function(){var n=this._cache,i=this.opts,o=i.maxCacheSize||(i.maxCacheByteSize?1/0:Zb*this.selectedTiles.length),s=i.maxCacheByteSize||1/0,a=n.size>o||this._cacheByteSize>s;if(a){var c=he(n),u;try{for(c.s();!(u=c.n()).done;){var l=Qd(u.value,2),f=l[0],h=l[1];if(!h.isVisible&&!h.isSelected){var d,p;this._cacheByteSize-=i.maxCacheByteSize?h.byteLength:0,n.delete(f),(d=(p=this.opts).onTileUnload)===null||d===void 0||d.call(p,h)}if(n.size<=o&&this._cacheByteSize<=s)break}}catch(g){c.e(g)}finally{c.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort(function(g,m){return g.zoom-m.zoom}),this._dirty=!1)},e._getTile=function(n,i){var o=this.getTileId(n),s=this._cache.get(o),a=!1;return!s&&i?(s=new Dn(n),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:o,zoom:this.getTileZoom(s.index)}),a=!0,this._cache.set(o,s),this._dirty=!0):s&&s.needsReload&&(a=!0),s&&a&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s},e._getNearestAncestor=function(n){for(var i=this._minZoom,o=i===void 0?0:i,s=n.index;this.getTileZoom(s)>o;){s=this.getParentIndex(s);var a=this._getTile(s);if(a)return a}return null},Xb(t,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles!==null&&this._selectedTiles.every(function(n){return n.isLoaded})}},{key:"needsReload",get:function(){return this._selectedTiles!==null&&this._selectedTiles.some(function(n){return n.needsReload})}}]),t}();function eE(t){var e=he(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(l){e.e(l)}finally{e.f()}var i=he(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&!op(s)&&Nc(s)}}catch(l){i.e(l)}finally{i.f()}var a=he(t),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isVisible=Boolean(u.state&Eo)}}catch(l){a.e(l)}finally{a.f()}}function tE(t){var e=he(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(p){e.e(p)}finally{e.f()}var i=he(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&op(s)}}catch(p){i.e(p)}finally{i.f()}var a=Array.from(t).sort(function(p,g){return p.zoom-g.zoom}),c=he(a),u;try{for(c.s();!(u=c.n()).done;){var l=u.value;if(l.isVisible=Boolean(l.state&Eo),l.children&&(l.isVisible||l.state&np)){var f=he(l.children),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;d.state=np}}catch(p){f.e(p)}finally{f.f()}}else l.isSelected&&Nc(l)}}catch(p){c.e(p)}finally{c.f()}}function op(t){for(var e=t;e;){if(e.isLoaded||e.content)return e.state|=Eo,!0;e=e.parent}return!1}function Nc(t){var e=he(t.children),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.isLoaded||n.content?n.state|=Eo:Nc(n)}}catch(i){e.e(i)}finally{e.f()}}function Bo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Bo=function(r){return typeof r}:Bo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Bo(t)}function sp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function So(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?sp(Object(r),!0).forEach(function(n){rE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):sp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function rE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function nE(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=iE(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function iE(t,e){if(t){if(typeof t=="string")return ap(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ap(t,e)}}function ap(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function oE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function cp(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function sE(t,e,r){return e&&cp(t.prototype,e),r&&cp(t,r),t}function aE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Uc(t,e)}function Uc(t,e){return Uc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Uc(t,e)}function cE(t){var e=fE();return function(){var n=Co(t),i;if(e){var o=Co(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return uE(this,i)}}function uE(t,e){if(e&&(Bo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return lE(t)}function lE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function fE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Co(t){return Co=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Co(t)}var hE={TilesetClass:zn,data:{type:"data",value:[]},dataComparator:Ut.equal,renderSubLayers:{type:"function",value:function(e){return new up.GeoJsonLayer(e)}},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e){return console.error(e)}},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:Vn,zRange:null,maxRequests:6,zoomOffset:0},At=function(t){aE(r,t);var e=cE(r);function r(){var i;oE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){this.state={tileset:null,isLoaded:!1}},n.finalizeState=function(){var o,s;(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0||s.finalize()},n.shouldUpdateState=function(o){var s=o.changeFlags;return s.somethingChanged},n.updateState=function(o){var s=o.changeFlags,a=this.state.tileset,c=s.propsOrDataChanged||s.updateTriggersChanged,u=s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getTileData);a?c&&(a.setOptions(this._getTilesetOptions()),u?a.reloadAll():a.tiles.forEach(function(l){l.layers=null})):(a=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:a})),this._updateTileset()},n._getTilesetOptions=function(){var o=this.props,s=o.tileSize,a=o.maxCacheSize,c=o.maxCacheByteSize,u=o.refinementStrategy,l=o.extent,f=o.maxZoom,h=o.minZoom,d=o.maxRequests,p=o.zoomOffset;return{maxCacheSize:a,maxCacheByteSize:c,maxZoom:f,minZoom:h,tileSize:s,refinementStrategy:u,extent:l,maxRequests:d,zoomOffset:p,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}},n._updateTileset=function(){var o=this.state.tileset,s=this.props,a=s.zRange,c=s.modelMatrix,u=o.update(this.context.viewport,{zRange:a,modelMatrix:c}),l=o.isLoaded,f=this.state.isLoaded!==l,h=this.state.frameNumber!==u;l&&(f||h)&&this._onViewportLoad(),h&&this.setState({frameNumber:u}),this.state.isLoaded=l},n._onViewportLoad=function(){var o=this.state.tileset,s=this.props.onViewportLoad;s&&s(o.selectedTiles)},n._onTileLoad=function(o){this.props.onTileLoad(o),o.layers=null,this.setNeedsUpdate()},n._onTileError=function(o,s){this.props.onTileError(o),s.layers=null,this.setNeedsUpdate()},n._onTileUnload=function(o){this.props.onTileUnload(o)},n.getTileData=function(o){var s=this.props,a=s.data,c=s.getTileData,u=s.fetch,l=o.signal;return o.url=typeof a=="string"||Array.isArray(a)?ot(a,o):null,c?c(o):u&&o.url?u(o.url,{propName:"data",layer:this,signal:l}):null},n.renderSubLayers=function(o){return this.props.renderSubLayers(o)},n.getSubLayerPropsByTile=function(o){return null},n.getPickingInfo=function(o){var s=o.info,a=o.sourceLayer,c=a.props.tile;return s.picked&&(s.tile=c),s.sourceTile=c,s},n._updateAutoHighlight=function(o){var s=o.sourceTile;if(s&&s.layers){var a=nE(s.layers),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.updateAutoHighlight(o)}}catch(l){a.e(l)}finally{a.f()}}},n.renderLayers=function(){var o=this;return this.state.tileset.tiles.map(function(s){var a=o.getSubLayerPropsByTile(s);if(!(!s.isLoaded&&!s.content))if(s.layers)a&&s.layers[0]&&Object.keys(a).some(function(u){return s.layers[0].props[u]!==a[u]})&&(s.layers=s.layers.map(function(u){return u.clone(a)}));else{var c=o.renderSubLayers(So(So(So({},o.props),o.getSubLayerProps({id:s.id,updateTriggers:o.props.updateTriggers})),{},{data:s.content,_offset:0,tile:s}));s.layers=(0,Mo._flatten)(c,Boolean).map(function(u){return u.clone(So({tile:s},a))})}return s.layers})},n.filterSubLayer=function(o){var s=o.layer,a=o.cullRect,c=s.props.tile;return this.state.tileset.isTileVisible(c,a)},sE(r,[{key:"isLoaded",get:function(){var o,s,a=(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0?void 0:s.selectedTiles;return a?a.every(function(c){return c.isLoaded&&c.layers&&c.layers.every(function(u){return u.isLoaded})}):!1}}]),r}(Mo.CompositeLayer);At.defaultProps=hE;At.layerName="TileLayer";var hp=P(Ve());function wo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?wo=function(r){return typeof r}:wo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},wo(t)}function lp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function fp(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?lp(Object(r),!0).forEach(function(n){dE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):lp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function dE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function pE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hr(t,e,r){return typeof Reflect<"u"&&Reflect.get?Hr=Reflect.get:Hr=function(i,o,s){var a=mE(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},Hr(t,e,r||t)}function mE(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Gt(t),t!==null););return t}function gE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gc(t,e)}function Gc(t,e){return Gc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Gc(t,e)}function yE(t){var e=vE();return function(){var n=Gt(t),i;if(e){var o=Gt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return AE(this,i)}}function AE(t,e){if(e&&(wo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _E(t)}function _E(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Gt(t){return Gt=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Gt(t)}var xE={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:function(e){return e.timestamps}}},Io=function(t){gE(r,t);var e=yE(r);function r(){return pE(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var o=Hr(Gt(r.prototype),"getShaders",this).call(this);return o.inject={"vs:#decl":`uniform float trailLength;
13
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}ge.prototype.build=function(t){return this.options.preserveOrder?gA(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)};ge.prototype.j2x=function(t,e){let r="",n="";for(let s in t)if(typeof t[s]>"u")this.isAttribute(s)&&(n+="");else if(t[s]===null)this.isAttribute(s)?n+="":s[0]==="?"?n+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+s+"/"+this.tagEndChar;else if(t[s]instanceof Date)n+=this.buildTextValNode(t[s],s,"",e);else if(typeof t[s]!="object"){let i=this.isAttribute(s);if(i)r+=this.buildAttrPairStr(i,""+t[s]);else if(s===this.options.textNodeName){let o=this.options.tagValueProcessor(s,""+t[s]);n+=this.replaceEntitiesValue(o)}else n+=this.buildTextValNode(t[s],s,"",e)}else if(Array.isArray(t[s])){let i=t[s].length,o="";for(let a=0;a<i;a++){let c=t[s][a];typeof c>"u"||(c===null?s[0]==="?"?n+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+s+"/"+this.tagEndChar:typeof c=="object"?this.options.oneListGroup?o+=this.j2x(c,e+1).val:o+=this.processTextOrObjNode(c,s,e):o+=this.buildTextValNode(c,s,"",e))}this.options.oneListGroup&&(o=this.buildObjectNode(o,s,"",e)),n+=o}else if(this.options.attributesGroupName&&s===this.options.attributesGroupName){let i=Object.keys(t[s]),o=i.length;for(let a=0;a<o;a++)r+=this.buildAttrPairStr(i[a],""+t[s][i[a]])}else n+=this.processTextOrObjNode(t[s],s,e);return{attrStr:r,val:n}};ge.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function _A(t,e,r){let n=this.j2x(t,r+1);return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}ge.prototype.buildObjectNode=function(t,e,r,n){if(t==="")return e[0]==="?"?this.indentate(n)+"<"+e+r+"?"+this.tagEndChar:this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar;{let s="</"+e+this.tagEndChar,i="";return e[0]==="?"&&(i="?",s=""),(r||r==="")&&t.indexOf("<")===-1?this.indentate(n)+"<"+e+r+i+">"+t+s:this.options.commentPropName!==!1&&e===this.options.commentPropName&&i.length===0?this.indentate(n)+`<!--${t}-->`+this.newLine:this.indentate(n)+"<"+e+r+i+this.tagEndChar+t+this.indentate(n)+s}};ge.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};ge.prototype.buildTextValNode=function(t,e,r,n){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${t}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(n)+`<!--${t}-->`+this.newLine;if(e[0]==="?")return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;{let s=this.options.tagValueProcessor(e,t);return s=this.replaceEntitiesValue(s),s===""?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+s+"</"+e+this.tagEndChar}};ge.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){let r=this.options.entities[e];t=t.replace(r.regex,r.val)}return t};function mA(t){return this.options.indentBy.repeat(t)}function TA(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}nh.exports=ge});var oh=et((xM,ih)=>{"use strict";var EA=ho(),RA=Zl(),xA=sh();ih.exports={XMLParser:RA,XMLValidator:EA,XMLBuilder:xA}});var Ra=et((Wf,un)=>{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof Ml=="function"&&typeof un=="object"&&un&&un.exports?un.exports=e():(t.dcodeIO=t.dcodeIO||{}).Long=e()})(Wf,function(){"use strict";function t(E,g,y){this.low=E|0,this.high=g|0,this.unsigned=!!y}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function e(E){return(E&&E.__isLong__)===!0}t.isLong=e;var r={},n={};function s(E,g){var y,O,b;return g?(E>>>=0,(b=0<=E&&E<256)&&(O=n[E],O)?O:(y=o(E,(E|0)<0?-1:0,!0),b&&(n[E]=y),y)):(E|=0,(b=-128<=E&&E<128)&&(O=r[E],O)?O:(y=o(E,E<0?-1:0,!1),b&&(r[E]=y),y))}t.fromInt=s;function i(E,g){if(isNaN(E)||!isFinite(E))return g?T:A;if(g){if(E<0)return T;if(E>=d)return M}else{if(E<=-p)return F;if(E+1>=p)return B}return E<0?i(-E,g).neg():o(E%u|0,E/u|0,g)}t.fromNumber=i;function o(E,g,y){return new t(E,g,y)}t.fromBits=o;var a=Math.pow;function c(E,g,y){if(E.length===0)throw Error("empty string");if(E==="NaN"||E==="Infinity"||E==="+Infinity"||E==="-Infinity")return A;if(typeof g=="number"?(y=g,g=!1):g=!!g,y=y||10,y<2||36<y)throw RangeError("radix");var O;if((O=E.indexOf("-"))>0)throw Error("interior hyphen");if(O===0)return c(E.substring(1),g,y).neg();for(var b=i(a(y,8)),N=A,U=0;U<E.length;U+=8){var Y=Math.min(8,E.length-U),W=parseInt(E.substring(U,U+Y),y);if(Y<8){var Q=i(a(y,Y));N=N.mul(Q).add(i(W))}else N=N.mul(b),N=N.add(i(W))}return N.unsigned=g,N}t.fromString=c;function l(E){return E instanceof t?E:typeof E=="number"?i(E):typeof E=="string"?c(E):o(E.low,E.high,E.unsigned)}t.fromValue=l;var h=1<<16,f=1<<24,u=h*h,d=u*u,p=d/2,_=s(f),A=s(0);t.ZERO=A;var T=s(0,!0);t.UZERO=T;var x=s(1);t.ONE=x;var R=s(1,!0);t.UONE=R;var S=s(-1);t.NEG_ONE=S;var B=o(-1,2147483647,!1);t.MAX_VALUE=B;var M=o(-1,-1,!0);t.MAX_UNSIGNED_VALUE=M;var F=o(0,-2147483648,!1);t.MIN_VALUE=F;var C=t.prototype;return C.toInt=function(){return this.unsigned?this.low>>>0:this.low},C.toNumber=function(){return this.unsigned?(this.high>>>0)*u+(this.low>>>0):this.high*u+(this.low>>>0)},C.toString=function(g){if(g=g||10,g<2||36<g)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(F)){var y=i(g),O=this.div(y),b=O.mul(y).sub(this);return O.toString(g)+b.toInt().toString(g)}else return"-"+this.neg().toString(g);for(var N=i(a(g,6),this.unsigned),U=this,Y="";;){var W=U.div(N),Q=U.sub(W.mul(N)).toInt()>>>0,J=Q.toString(g);if(U=W,U.isZero())return J+Y;for(;J.length<6;)J="0"+J;Y=""+J+Y}},C.getHighBits=function(){return this.high},C.getHighBitsUnsigned=function(){return this.high>>>0},C.getLowBits=function(){return this.low},C.getLowBitsUnsigned=function(){return this.low>>>0},C.getNumBitsAbs=function(){if(this.isNegative())return this.eq(F)?64:this.neg().getNumBitsAbs();for(var g=this.high!=0?this.high:this.low,y=31;y>0&&!(g&1<<y);y--);return this.high!=0?y+33:y+1},C.isZero=function(){return this.high===0&&this.low===0},C.isNegative=function(){return!this.unsigned&&this.high<0},C.isPositive=function(){return this.unsigned||this.high>=0},C.isOdd=function(){return(this.low&1)===1},C.isEven=function(){return(this.low&1)===0},C.equals=function(g){return e(g)||(g=l(g)),this.unsigned!==g.unsigned&&this.high>>>31===1&&g.high>>>31===1?!1:this.high===g.high&&this.low===g.low},C.eq=C.equals,C.notEquals=function(g){return!this.eq(g)},C.neq=C.notEquals,C.lessThan=function(g){return this.comp(g)<0},C.lt=C.lessThan,C.lessThanOrEqual=function(g){return this.comp(g)<=0},C.lte=C.lessThanOrEqual,C.greaterThan=function(g){return this.comp(g)>0},C.gt=C.greaterThan,C.greaterThanOrEqual=function(g){return this.comp(g)>=0},C.gte=C.greaterThanOrEqual,C.compare=function(g){if(e(g)||(g=l(g)),this.eq(g))return 0;var y=this.isNegative(),O=g.isNegative();return y&&!O?-1:!y&&O?1:this.unsigned?g.high>>>0>this.high>>>0||g.high===this.high&&g.low>>>0>this.low>>>0?-1:1:this.sub(g).isNegative()?-1:1},C.comp=C.compare,C.negate=function(){return!this.unsigned&&this.eq(F)?F:this.not().add(x)},C.neg=C.negate,C.add=function(g){e(g)||(g=l(g));var y=this.high>>>16,O=this.high&65535,b=this.low>>>16,N=this.low&65535,U=g.high>>>16,Y=g.high&65535,W=g.low>>>16,Q=g.low&65535,J=0,q=0,tt=0,mt=0;return mt+=N+Q,tt+=mt>>>16,mt&=65535,tt+=b+W,q+=tt>>>16,tt&=65535,q+=O+Y,J+=q>>>16,q&=65535,J+=y+U,J&=65535,o(tt<<16|mt,J<<16|q,this.unsigned)},C.subtract=function(g){return e(g)||(g=l(g)),this.add(g.neg())},C.sub=C.subtract,C.multiply=function(g){if(this.isZero()||(e(g)||(g=l(g)),g.isZero()))return A;if(this.eq(F))return g.isOdd()?F:A;if(g.eq(F))return this.isOdd()?F:A;if(this.isNegative())return g.isNegative()?this.neg().mul(g.neg()):this.neg().mul(g).neg();if(g.isNegative())return this.mul(g.neg()).neg();if(this.lt(_)&&g.lt(_))return i(this.toNumber()*g.toNumber(),this.unsigned);var y=this.high>>>16,O=this.high&65535,b=this.low>>>16,N=this.low&65535,U=g.high>>>16,Y=g.high&65535,W=g.low>>>16,Q=g.low&65535,J=0,q=0,tt=0,mt=0;return mt+=N*Q,tt+=mt>>>16,mt&=65535,tt+=b*Q,q+=tt>>>16,tt&=65535,tt+=N*W,q+=tt>>>16,tt&=65535,q+=O*Q,J+=q>>>16,q&=65535,q+=b*W,J+=q>>>16,q&=65535,q+=N*Y,J+=q>>>16,q&=65535,J+=y*Q+O*W+b*Y+N*U,J&=65535,o(tt<<16|mt,J<<16|q,this.unsigned)},C.mul=C.multiply,C.divide=function(g){if(e(g)||(g=l(g)),g.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?T:A;var y,O,b;if(this.unsigned){if(g.unsigned||(g=g.toUnsigned()),g.gt(this))return T;if(g.gt(this.shru(1)))return R;b=T}else{if(this.eq(F)){if(g.eq(x)||g.eq(S))return F;if(g.eq(F))return x;var N=this.shr(1);return y=N.div(g).shl(1),y.eq(A)?g.isNegative()?x:S:(O=this.sub(g.mul(y)),b=y.add(O.div(g)),b)}else if(g.eq(F))return this.unsigned?T:A;if(this.isNegative())return g.isNegative()?this.neg().div(g.neg()):this.neg().div(g).neg();if(g.isNegative())return this.div(g.neg()).neg();b=A}for(O=this;O.gte(g);){y=Math.max(1,Math.floor(O.toNumber()/g.toNumber()));for(var U=Math.ceil(Math.log(y)/Math.LN2),Y=U<=48?1:a(2,U-48),W=i(y),Q=W.mul(g);Q.isNegative()||Q.gt(O);)y-=Y,W=i(y,this.unsigned),Q=W.mul(g);W.isZero()&&(W=x),b=b.add(W),O=O.sub(Q)}return b},C.div=C.divide,C.modulo=function(g){return e(g)||(g=l(g)),this.sub(this.div(g).mul(g))},C.mod=C.modulo,C.not=function(){return o(~this.low,~this.high,this.unsigned)},C.and=function(g){return e(g)||(g=l(g)),o(this.low&g.low,this.high&g.high,this.unsigned)},C.or=function(g){return e(g)||(g=l(g)),o(this.low|g.low,this.high|g.high,this.unsigned)},C.xor=function(g){return e(g)||(g=l(g)),o(this.low^g.low,this.high^g.high,this.unsigned)},C.shiftLeft=function(g){return e(g)&&(g=g.toInt()),(g&=63)===0?this:g<32?o(this.low<<g,this.high<<g|this.low>>>32-g,this.unsigned):o(0,this.low<<g-32,this.unsigned)},C.shl=C.shiftLeft,C.shiftRight=function(g){return e(g)&&(g=g.toInt()),(g&=63)===0?this:g<32?o(this.low>>>g|this.high<<32-g,this.high>>g,this.unsigned):o(this.high>>g-32,this.high>=0?0:-1,this.unsigned)},C.shr=C.shiftRight,C.shiftRightUnsigned=function(g){if(e(g)&&(g=g.toInt()),g&=63,g===0)return this;var y=this.high;if(g<32){var O=this.low;return o(O>>>g|y<<32-g,y>>>g,this.unsigned)}else return g===32?o(y,0,this.unsigned):o(y>>>g-32,0,this.unsigned)},C.shru=C.shiftRightUnsigned,C.toSigned=function(){return this.unsigned?o(this.low,this.high,!1):this},C.toUnsigned=function(){return this.unsigned?this:o(this.low,this.high,!0)},C.toBytes=function(E){return E?this.toBytesLE():this.toBytesBE()},C.toBytesLE=function(){var E=this.high,g=this.low;return[g&255,g>>>8&255,g>>>16&255,g>>>24&255,E&255,E>>>8&255,E>>>16&255,E>>>24&255]},C.toBytesBE=function(){var E=this.high,g=this.low;return[E>>>24&255,E>>>16&255,E>>>8&255,E&255,g>>>24&255,g>>>16&255,g>>>8&255,g&255]},t})});var Gs=et((yO,Tu)=>{Tu.exports=globalThis.h3||{}});var Da=et((vO,Cu)=>{Cu.exports=globalThis.luma});var qs=et((UO,Bu)=>{Bu.exports=globalThis.deck});var yu=et((LO,Mu)=>{Mu.exports=globalThis.luma});var Cr=et((qb,Qu)=>{Qu.exports=globalThis.loaders});var Cg=et((A4,Sg)=>{Sg.exports=globalThis.deck});var Dg=et(pl=>{pl.read=function(t,e,r,n,s){var i,o,a=s*8-n-1,c=(1<<a)-1,l=c>>1,h=-7,f=r?s-1:0,u=r?-1:1,d=t[e+f];for(f+=u,i=d&(1<<-h)-1,d>>=-h,h+=a;h>0;i=i*256+t[e+f],f+=u,h-=8);for(o=i&(1<<-h)-1,i>>=-h,h+=n;h>0;o=o*256+t[e+f],f+=u,h-=8);if(i===0)i=1-l;else{if(i===c)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),i=i-l}return(d?-1:1)*o*Math.pow(2,i-n)};pl.write=function(t,e,r,n,s,i){var o,a,c,l=i*8-s-1,h=(1<<l)-1,f=h>>1,u=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,p=n?1:-1,_=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+f>=1?e+=u/c:e+=u*Math.pow(2,1-f),e*c>=2&&(o++,c/=2),o+f>=h?(a=0,o=h):o+f>=1?(a=(e*c-1)*Math.pow(2,s),o=o+f):(a=e*Math.pow(2,f-1)*Math.pow(2,s),o=0));s>=8;t[r+d]=a&255,d+=p,a/=256,s-=8);for(o=o<<s|a,l+=s;l>0;t[r+d]=o&255,d+=p,o/=256,l-=8);t[r+d-p]|=_*128}});var Vg=et((i6,Hg)=>{"use strict";Hg.exports=k;var eo=Dg();function k(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}k.Varint=0;k.Fixed64=1;k.Bytes=2;k.Fixed32=5;var gl=(1<<16)*(1<<16),wg=1/gl,lB=12,Lg=typeof TextDecoder>"u"?null:new TextDecoder("utf8");k.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),s=n>>3,i=this.pos;this.type=n&7,t(s,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=ro(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ug(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=ro(this.buf,this.pos)+ro(this.buf,this.pos+4)*gl;return this.pos+=8,t},readSFixed64:function(){var t=ro(this.buf,this.pos)+Ug(this.buf,this.pos+4)*gl;return this.pos+=8,t},readFloat:function(){var t=eo.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=eo.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,hB(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=lB&&Lg?CB(this.buf,e,t):SB(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==k.Bytes)return t.push(this.readVarint(e));var r=de(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==k.Bytes)return t.push(this.readSVarint());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==k.Bytes)return t.push(this.readBoolean());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==k.Bytes)return t.push(this.readFloat());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==k.Bytes)return t.push(this.readDouble());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed32());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed32());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed64());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed64());var e=de(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===k.Varint)for(;this.buf[this.pos++]>127;);else if(e===k.Bytes)this.pos=this.readVarint()+this.pos;else if(e===k.Fixed32)this.pos+=4;else if(e===k.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),Kr(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),Kr(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),Kr(this.buf,t&-1,this.pos),Kr(this.buf,Math.floor(t*wg),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),Kr(this.buf,t&-1,this.pos),Kr(this.buf,Math.floor(t*wg),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){fB(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=BB(this.buf,t,this.pos);var r=this.pos-e;r>=128&&vg(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),eo.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),eo.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&vg(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,k.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,pB,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,gB,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,mB,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,AB,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,_B,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,TB,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,EB,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,RB,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,xB,e)},writeBytesField:function(t,e){this.writeTag(t,k.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,k.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,k.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,k.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function hB(t,e,r){var n=r.buf,s,i;if(i=n[r.pos++],s=(i&112)>>4,i<128||(i=n[r.pos++],s|=(i&127)<<3,i<128)||(i=n[r.pos++],s|=(i&127)<<10,i<128)||(i=n[r.pos++],s|=(i&127)<<17,i<128)||(i=n[r.pos++],s|=(i&127)<<24,i<128)||(i=n[r.pos++],s|=(i&1)<<31,i<128))return Gr(t,s,e);throw new Error("Expected varint not more than 10 bytes")}function de(t){return t.type===k.Bytes?t.readVarint()+t.pos:t.pos+1}function Gr(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function fB(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),uB(r,n,e),dB(n,e)}function uB(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function dB(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function vg(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var s=r.pos-1;s>=t;s--)r.buf[s+n]=r.buf[s]}function pB(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function gB(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function AB(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function _B(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function mB(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function TB(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function EB(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function RB(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function xB(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function ro(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function Kr(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Ug(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function SB(t,e,r){for(var n="",s=e;s<r;){var i=t[s],o=null,a=i>239?4:i>223?3:i>191?2:1;if(s+a>r)break;var c,l,h;a===1?i<128&&(o=i):a===2?(c=t[s+1],(c&192)===128&&(o=(i&31)<<6|c&63,o<=127&&(o=null))):a===3?(c=t[s+1],l=t[s+2],(c&192)===128&&(l&192)===128&&(o=(i&15)<<12|(c&63)<<6|l&63,(o<=2047||o>=55296&&o<=57343)&&(o=null))):a===4&&(c=t[s+1],l=t[s+2],h=t[s+3],(c&192)===128&&(l&192)===128&&(h&192)===128&&(o=(i&15)<<18|(c&63)<<12|(l&63)<<6|h&63,(o<=65535||o>=1114112)&&(o=null))),o===null?(o=65533,a=1):o>65535&&(o-=65536,n+=String.fromCharCode(o>>>10&1023|55296),o=56320|o&1023),n+=String.fromCharCode(o),s+=a}return n}function CB(t,e,r){return Lg.decode(t.subarray(e,r))}function BB(t,e,r){for(var n=0,s,i;n<e.length;n++){if(s=e.charCodeAt(n),s>55295&&s<57344)if(i)if(s<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=s;continue}else s=i-55296<<10|s-56320|65536,i=null;else{s>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=s;continue}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);s<128?t[r++]=s:(s<2048?t[r++]=s>>6|192:(s<65536?t[r++]=s>>12|224:(t[r++]=s>>18|240,t[r++]=s>>12&63|128),t[r++]=s>>6&63|128),t[r++]=s&63|128)}return r}});var rs={};ht(rs,{GeohashLayer:()=>es,GreatCircleLayer:()=>fn,H3ClusterLayer:()=>xn,H3HexagonLayer:()=>Ke,MVTLayer:()=>ts,QuadkeyLayer:()=>pn,S2Layer:()=>dn,TerrainLayer:()=>Wn,Tile3DLayer:()=>Ln,TileLayer:()=>te,TripsLayer:()=>Tn,_GeoCellLayer:()=>It,_Tile2DHeader:()=>ke,_Tileset2D:()=>Ge,_WMSLayer:()=>Fs,_getURLFromTemplate:()=>$t});var Kt={},Il=v(Ut(),1);pe(Kt,v(Ut(),1));if(!Il.GeoJsonLayer)throw new Error("@deck.gl/layers is not found");pe(rs,Kt);var ze=v(Lt(),1),Hf=v(Ut(),1);function p0(t){return typeof t=="string"?t.charAt(0).toLowerCase()+t.slice(1):t}function is(t){if(Array.isArray(t))return t.map(e=>is(e));if(t&&typeof t=="object"){let e={};for(let[r,n]of Object.entries(t))e[p0(r)]=is(n);return e}return t}var ah=v(oh(),1);function To(t,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e?._parser);let r={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e?.removeNSPrefix,textNodeName:e?.textNodeName,isArray:(s,i,o,a)=>{var c;return Boolean(e==null||(c=e.arrayPaths)===null||c===void 0?void 0:c.some(h=>i===h))},...e?._fastXML},n=SA(t,r);return e!=null&&e.uncapitalizeKeys?is(n):n}function SA(t,e){return new ah.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(t)}var CA="4.1.0",gt={name:"XML",id:"xml",module:"xml",version:CA,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:BA,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(t,e)=>To(new TextDecoder().decode(t),{...gt.options.xml,...e?.xml}),parseTextSync:(t,e)=>To(t,{...gt.options.xml,...e?.xml})};function BA(t){return t.startsWith("<?xml")}async function Ct(t,e,r,n){return n._parse(t,e,r,n)}function V(t,e){if(!t)throw new Error(e||"loader assertion failed.")}var Jt={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},MA=Jt.self||Jt.window||Jt.global||{},yA=Jt.window||Jt.self||Jt.global||{},IA=Jt.global||Jt.self||Jt.window||{},FA=Jt.document||{};var qr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var ch=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),NA=ch&&parseFloat(ch[1])||0;function Eo(t,e){return lh(t||{},e)}function lh(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(r>3)return e;let n={...t};for(let[s,i]of Object.entries(e))i&&typeof i=="object"&&!Array.isArray(i)?n[s]=lh(n[s]||{},e[s],r+1):n[s]=e[s];return n}function OA(){var t;return(t=globalThis._loadersgl_)!==null&&t!==void 0&&t.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.1.0"),globalThis._loadersgl_.version}var hh=OA();function fh(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var Yt={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},PM=Yt.self||Yt.window||Yt.global||{},DM=Yt.window||Yt.self||Yt.global||{},wM=Yt.global||Yt.self||Yt.window||{},vM=Yt.document||{};var ur=typeof process!="object"||String(process)!=="[object process]"||process.browser,as=typeof importScripts=="function",UM=typeof window<"u"&&typeof window.orientation<"u",uh=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),LM=uh&&parseFloat(uh[1])||0;var Ro={};async function qt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return e&&(t=dh(t,e,r,n)),Ro[t]=Ro[t]||bA(t),await Ro[t]}function dh(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(!r.useLocalLibraries&&t.startsWith("http"))return t;n=n||t;let s=r.modules||{};return s[n]?s[n]:ur?r.CDN?(fh(r.CDN.startsWith("http")),`${r.CDN}/${e}@${hh}/dist/libs/${n}`):as?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function bA(t){if(t.endsWith("wasm"))return await DA(t);if(!ur)try{return Bt&&Bt.requireFromFile&&await Bt.requireFromFile(t)}catch(r){return console.error(r),null}if(as)return importScripts(t);let e=await wA(t);return PA(e,t)}function PA(t,e){if(!ur)return Bt.requireFromString&&Bt.requireFromString(t,e);if(as)return eval.call(globalThis,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}async function DA(t){return ur||!Bt.readFileAsArrayBuffer||t.startsWith("http")?await(await fetch(t)).arrayBuffer():await Bt.readFileAsArrayBuffer(t)}async function wA(t){return ur||!Bt.readFileAsText||t.startsWith("http")?await(await fetch(t)).text():await Bt.readFileAsText(t)}function gh(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof t=="string"?t.slice(0,e):ArrayBuffer.isView(t)?ph(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?ph(t,0,e):""}function ph(t,e,r){if(t.byteLength<=e+r)return"";let n=new DataView(t),s="";for(let i=0;i<r;i++)s+=String.fromCharCode(n.getUint8(e+i));return s}function xo(t){try{return JSON.parse(t)}catch{throw new Error(`Failed to parse JSON from data starting with "${gh(t)}"`)}}function jr(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n=e,s=n&&n.length>1&&n[0].constructor||null;if(!s)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let i=n.reduce((c,l)=>c+l.length,0),o=new s(i),a=0;for(let c of n)o.set(c,a),a+=c.length;return o}function De(t,e,r){let n=r!==void 0?new Uint8Array(t).subarray(e,e+r):new Uint8Array(t).subarray(e);return new Uint8Array(n).buffer}function Ae(t,e){return V(t>=0),V(e>0),t+(e-1)&~(e-1)}function So(t,e,r){let n;if(t instanceof ArrayBuffer)n=new Uint8Array(t);else{let s=t.byteOffset,i=t.byteLength;n=new Uint8Array(t.buffer||t.arrayBuffer,s,i)}return e.set(n,r),r+Ae(n.byteLength,4)}function Zr(){let t;if(typeof window<"u"&&window.performance)t=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var we=class{constructor(e,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=e,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Zr(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Zr()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var _e=class{constructor(e){this.id=void 0,this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:e,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let r of Object.values(this.stats))e(r)}getTable(){let e={};return this.forEach(r=>{e[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(e){let{name:r,type:n}=e,s=this.stats[r];return s||(e instanceof we?s=e:s=new we(r,n),this.stats[r]=s),s}};var vA="Queued Requests",UA="Active Requests",LA="Cancelled Requests",HA="Queued Requests Ever",VA="Active Requests Ever",XA={id:"request-scheduler",throttleRequests:!0,maxRequests:6},me=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.props=void 0,this.stats=void 0,this.activeRequestCount=0,this.requestQueue=[],this.requestMap=new Map,this.deferredUpdate=null,this.props={...XA,...e},this.stats=new _e({id:this.props.id}),this.stats.get(vA),this.stats.get(UA),this.stats.get(LA),this.stats.get(HA),this.stats.get(VA)}scheduleRequest(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);let n={handle:e,priority:0,getPriority:r},s=new Promise(i=>(n.resolve=i,n));return this.requestQueue.push(n),this.requestMap.set(e,s),this._issueNewRequests(),s}_issueRequest(e){let{handle:r,resolve:n}=e,s=!1,i=()=>{s||(s=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:i}):Promise.resolve({done:i})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let r=0;r<e;++r){let n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){let e=this.requestQueue;for(let r=0;r<e.length;++r){let n=e[r];this._updateRequest(n)||(e.splice(r,1),this.requestMap.delete(n.handle),r--)}e.sort((r,n)=>r.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}};var Te={};ht(Te,{dirname:()=>zA,filename:()=>WA,join:()=>kA,resolve:()=>GA});function Ah(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)===null||t===void 0?void 0:t.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function WA(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(e+1):""}function zA(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(0,e):""}function kA(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n="/";return e=e.map((s,i)=>(i&&(s=s.replace(new RegExp(`^${n}`),"")),i!==e.length-1&&(s=s.replace(new RegExp(`${n}$`),"")),s)),e.join(n)}function GA(){let t=[];for(let s=0;s<arguments.length;s++)t[s]=s<0||arguments.length<=s?void 0:arguments[s];let e="",r=!1,n;for(let s=t.length-1;s>=-1&&!r;s--){let i;s>=0?i=t[s]:(n===void 0&&(n=Ah()),i=n),i.length!==0&&(e=`${i}/${e}`,r=i.charCodeAt(0)===Qr)}return e=KA(e,!r),r?`/${e}`:e.length>0?e:"."}var Qr=47,Co=46;function KA(t,e){let r="",n=-1,s=0,i,o=!1;for(let a=0;a<=t.length;++a){if(a<t.length)i=t.charCodeAt(a);else{if(i===Qr)break;i=Qr}if(i===Qr){if(!(n===a-1||s===1))if(n!==a-1&&s===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==Co||r.charCodeAt(r.length-2)!==Co){if(r.length>2){let c=r.length-1,l=c;for(;l>=0&&r.charCodeAt(l)!==Qr;--l);if(l!==c){r=l===-1?"":r.slice(0,l),n=a,s=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,s=0,o=!1;continue}}e&&(r.length>0?r+="/..":r="..",o=!0)}else{let c=t.slice(n+1,a);r.length>0?r+=`/${c}`:r=c,o=!1}n=a,s=0}else i===Co&&s!==-1?++s:s=-1}return r}var cs=class{constructor(e){this.data=void 0,this.fetch=void 0,this.loadOptions=void 0,this._needsRefresh=!0,this.props=void 0,this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=JA(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=this._needsRefresh;return e&&(this._needsRefresh=!1),r}};function JA(t){let e=t?.fetch;if(e&&typeof e=="function")return(n,s)=>e(n,s);let r=t?.fetch;return r&&typeof r!="function"?n=>fetch(n,r):n=>fetch(n)}var Nt=class extends cs{};Nt.type="template";Nt.testURL=t=>!1;function _h(t,e){var r,n,s;let i=(r=gt.parseTextSync)===null||r===void 0?void 0:r.call(gt,t,e),o=(i==null||(n=i.ServiceExceptionReport)===null||n===void 0?void 0:n.ServiceException)||(i==null||(s=i["ogc:ServiceExceptionReport"])===null||s===void 0?void 0:s["ogc:ServiceException"]);return typeof o=="string"?o:o.value||o.code||"Unknown error"}var YA="4.1.0",ve={id:"wms-error",name:"WMS Error",module:"wms",version:YA,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:qA,options:{wms:{throwOnError:!1}},parse:async(t,e)=>Bo(new TextDecoder().decode(t),e),parseSync:(t,e)=>Bo(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Bo(t,e)};function qA(t){return t.startsWith("<?xml")}function Bo(t,e){let r={...ve.options.wms,...e?.wms},n=_h(t,r),s=r.minimalErrors?n:`WMS Service error: ${n}`;if(r.throwOnError)throw new Error(s);return s}function Ue(t){return Array.isArray(t)?t:t?[t]:[]}function $r(t){let e=Ue(t);return e.length>0&&e.every(r=>typeof r=="string")?e:[]}function tn(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseFloat(t);default:return}}function ls(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseInt(t,10);default:return}}function Le(t){switch(t){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function Mo(t,e){var r;let n=(r=gt.parseTextSync)===null||r===void 0?void 0:r.call(gt,t,e),s=n.WMT_MS_Capabilities||n.WMS_Capabilities||n,i=jA(s);if(e!=null&&e.inheritedLayerProps)for(let o of i.layers)Th(o,null);return e!=null&&e.includeRawJSON&&(i.json=s),e!=null&&e.includeXMLText&&(i.xml=t),i}function jA(t){var e,r,n,s,i,o,a,c,l,h,f,u,d,p,_,A;let T={version:String(t.version||""),name:String(((e=t.Service)===null||e===void 0?void 0:e.Name)||"unnamed"),title:(r=t.Service)!==null&&r!==void 0&&r.Title?String((n=t.Service)===null||n===void 0?void 0:n.Title):void 0,abstract:(s=t.Service)!==null&&s!==void 0&&s.Abstract?String((i=t.Service)===null||i===void 0?void 0:i.Abstract):void 0,keywords:$r((o=t.Service)===null||o===void 0||(a=o.KeywordList)===null||a===void 0?void 0:a.Keyword),fees:(c=t.Service)!==null&&c!==void 0&&c.Fees?JSON.stringify((l=t.Service)===null||l===void 0?void 0:l.Fees):void 0,accessConstraints:(h=t.Service)!==null&&h!==void 0&&h.AccessConstraints?JSON.stringify((f=t.Service)===null||f===void 0?void 0:f.AccessConstraints):void 0,layerLimit:ls((u=t.Service)===null||u===void 0?void 0:u.LayerLimit),maxWidth:ls((d=t.Service)===null||d===void 0?void 0:d.maxWidth),maxHeight:ls((p=t.Service)===null||p===void 0?void 0:p.maxHeight),layers:[],requests:ZA((_=t.Capability)===null||_===void 0?void 0:_.Request),exceptions:QA(t.Exception)},x=Ue((A=t.Capability)===null||A===void 0?void 0:A.Layer);for(let R of x)T.layers.push(mh(R));for(let[R,S]of Object.entries(T))S===void 0&&delete T[R];return T}function ZA(t){let e={};for(let[r,n]of Object.entries(t||{})){let s=$r(n?.Format);e[r]={mimeTypes:s}}return e}function QA(t){if(Ue(t?.Format).length>0)return{mimeTypes:$r(t)}}function mh(t){var e;let r={title:String(t?.Title||""),name:t?.Name&&String(t?.Name),abstract:t?.Name&&String(t?.Abstract),keywords:$r((e=t.KeywordList)===null||e===void 0?void 0:e.Keyword)},n=t?.CRS||t?.SRS;n&&Array.isArray(n)&&n.every(h=>typeof h=="string")&&(r.crs=n);let s=t?.EX_GeographicBoundingBox&&$A(t?.EX_GeographicBoundingBox);s&&(r.geographicBoundingBox=s),s=t?.LatLonBoundingBox&&t_(t?.LatLonBoundingBox),s&&(r.geographicBoundingBox=s);let i=t?.BoundingBox&&e_(t?.BoundingBox);i&&i.length>0&&(r.boundingBoxes=i);let a=Ue(t?.Dimension).map(h=>n_(h));a.length&&(r.dimensions=a),t!=null&&t.opaque&&(r.opaque=Le(t?.opaque)),t!=null&&t.cascaded&&(r.cascaded=Le(t?.cascaded)),t!=null&&t.queryable&&(r.queryable=Le(t?.queryable));let c=Ue(t?.Layer),l=[];for(let h of c)l.push(mh(h));l.length>0&&(r.layers=l);for(let[h,f]of Object.entries(r))f===void 0&&delete r[h];return r}function $A(t){let{westBoundLongitude:e,northBoundLatitude:r,eastBoundLongitude:n,southBoundLatitude:s}=t;return[[e,s],[n,r]]}function t_(t){let{minx:e,miny:r,maxx:n,maxy:s}=t;return[[e,r],[n,s]]}function e_(t){return Ue(t).map(r=>r_(r))}function r_(t){let{CRS:e,SRS:r,minx:n,miny:s,maxx:i,maxy:o,resx:a,resy:c}=t,l={crs:e||r,boundingBox:[[tn(n),tn(s)],[tn(i),tn(o)]]};return a&&(l.xResolution=a),c&&(l.yResolution=c),l}function n_(t){let{name:e,units:r,value:n}=t,s={name:e,units:r,extent:n};return t.unitSymbol&&(s.unitSymbol=t.unitSymbol),t.default&&(s.defaultValue=t.default),t.multipleValues&&(s.multipleValues=Le(t.multipleValues)),t.nearestValue&&(s.nearestValue=Le(t.nearestValue)),t.current&&(s.current=Le(t.current)),s}function Th(t,e){e!=null&&e.geographicBoundingBox&&!t.geographicBoundingBox&&(t.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!t.crs&&(t.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!t.boundingBoxes&&(t.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!t.dimensions&&(t.dimensions=[...e.dimensions]);for(let r of t.layers||[])Th(r,t)}var s_="4.1.0",dr={id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:s_,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:i_,options:{wms:{}},parse:async(t,e)=>Mo(new TextDecoder().decode(t),e?.wms),parseTextSync:(t,e)=>Mo(t,e?.wms)};function i_(t){return t.startsWith("<?xml")}function yo(t,e){var r,n;let i=((n=((r=gt.parseTextSync)===null||r===void 0?void 0:r.call(gt,t,e)).FeatureInfoResponse)===null||n===void 0?void 0:n.FIELDS)||[];return{features:(Array.isArray(i)?i:[i]).map(a=>o_(a))}}function o_(t){return{attributes:t||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}var Eh={...dr,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(t,e)=>yo(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>yo(t,e)};function Io(t,e){var r;return(r=gt.parseTextSync)===null||r===void 0?void 0:r.call(gt,t,e)}var Rh={...dr,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(t,e)=>Io(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Io(t,e)};function xh(t,e){let{type:r="auto"}=t,n=r==="auto"?c_(t.url,e):a_(r,e);if(!n)throw new Error("Not a valid image source type");return n.create(t)}function a_(t,e){for(let r of e)if(r.type===t)return r;return null}function c_(t,e){for(let r of e)if(r.testURL&&r.testURL(t))return r;return null}var Sh="4.1.0";var Fo,l_=(Fo=globalThis.loaders)===null||Fo===void 0?void 0:Fo.parseImageNode,No=typeof Image<"u",Oo=typeof ImageBitmap<"u",h_=Boolean(l_),bo=qr?!0:h_;function Ch(t){switch(t){case"auto":return Oo||No||bo;case"imagebitmap":return Oo;case"image":return No;case"data":return bo;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function Bh(){if(Oo)return"imagebitmap";if(No)return"image";if(bo)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Mh(t){let e=f_(t);if(!e)throw new Error("Not an image");return e}function en(t){switch(Mh(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("getImageData");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0),r.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function f_(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&t instanceof Image?"image":t&&typeof t=="object"&&t.data&&t.width&&t.height?"data":null}var u_=/^data:image\/svg\+xml/,d_=/\.svg((\?|#).*)?$/;function hs(t){return t&&(u_.test(t)||d_.test(t))}function yh(t,e){if(hs(e)){let n=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return Po(t,e)}function Po(t,e){if(hs(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function fs(t,e,r){let n=yh(t,r),s=self.URL||self.webkitURL,i=typeof n!="string"&&s.createObjectURL(n);try{return await p_(i||n,e)}finally{i&&s.revokeObjectURL(i)}}async function p_(t,e){let r=new Image;return r.src=t,e.image&&e.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,s)=>{try{r.onload=()=>n(r),r.onerror=i=>{let o=i instanceof Error?i.message:"error";s(new Error(o))}}catch(i){s(i)}})}var g_={},Ih=!0;async function Fh(t,e,r){let n;hs(r)?n=await fs(t,e,r):n=Po(t,r);let s=e&&e.imagebitmap;return await A_(n,s)}async function A_(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((__(e)||!Ih)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(r){console.warn(r),Ih=!1}return await createImageBitmap(t)}function __(t){for(let e in t||g_)return!1;return!0}function Nh(t){return!R_(t,"ftyp",4)||!(t[8]&96)?null:m_(t)}function m_(t){switch(T_(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function T_(t,e,r){return String.fromCharCode(...t.slice(e,r))}function E_(t){return[...t].map(e=>e.charCodeAt(0))}function R_(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=E_(e);for(let s=0;s<n.length;++s)if(n[s]!==t[s+r])return!1;return!0}var jt=!1,rn=!0;function He(t){let e=nn(t);return S_(e)||M_(e)||C_(e)||B_(e)||x_(e)}function x_(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),r=Nh(e);return r?{mimeType:r.mimeType,width:0,height:0}:null}function S_(t){let e=nn(t);return e.byteLength>=24&&e.getUint32(0,jt)===2303741511?{mimeType:"image/png",width:e.getUint32(16,jt),height:e.getUint32(20,jt)}:null}function C_(t){let e=nn(t);return e.byteLength>=10&&e.getUint32(0,jt)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,rn),height:e.getUint16(8,rn)}:null}function B_(t){let e=nn(t);return e.byteLength>=14&&e.getUint16(0,jt)===16973&&e.getUint32(2,rn)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,rn),height:e.getUint32(22,rn)}:null}function M_(t){let e=nn(t);if(!(e.byteLength>=3&&e.getUint16(0,jt)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:s}=y_(),i=2;for(;i+9<e.byteLength;){let o=e.getUint16(i,jt);if(s.has(o))return{mimeType:"image/jpeg",height:e.getUint16(i+5,jt),width:e.getUint16(i+7,jt)};if(!n.has(o))return null;i+=2,i+=e.getUint16(i,jt)}return null}function y_(){let t=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)t.add(r);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function nn(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}async function Oh(t,e){var r;let{mimeType:n}=He(t)||{},s=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return V(s),await s(t,n)}async function bh(t,e,r){e=e||{};let s=(e.image||{}).type||"auto",{url:i}=r||{},o=I_(s),a;switch(o){case"imagebitmap":a=await Fh(t,e,i);break;case"image":a=await fs(t,e,i);break;case"data":a=await Oh(t,e);break;default:V(!1)}return s==="data"&&(a=en(a)),a}function I_(t){switch(t){case"auto":case"data":return Bh();default:return Ch(t),t}}var F_=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],N_=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],O_={image:{type:"auto",decode:!0}},Ee={id:"image",module:"images",name:"Images",version:Sh,mimeTypes:N_,extensions:F_,parse:bh,tests:[t=>Boolean(He(new DataView(t)))],options:O_};var Do={};function wo(t){if(Do[t]===void 0){let e=qr?P_(t):b_(t);Do[t]=e}return Do[t]}function b_(t){var e,r;let n=["image/png","image/jpeg","image/gif"],s=((e=globalThis.loaders)===null||e===void 0?void 0:e.imageFormatsNode)||n,i=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return Boolean(i)&&s.includes(t)}function P_(t){switch(t){case"image/avif":case"image/webp":return D_(t);default:return!0}}function D_(t){try{return document.createElement("canvas").toDataURL(t).indexOf(`data:${t}`)===0}catch{return!1}}var Ph={type:"wms",testURL:t=>t.toLowerCase().includes("wms"),create:t=>new vo(t)},vo=class extends Nt{constructor(e){var r;super(e),this.url=void 0,this.data=void 0,this.substituteCRS84=void 0,this.flipCRS=void 0,this.wmsParameters=void 0,this.vendorParameters=void 0,this.capabilities=null,this.url=e.url,this.data=e.url,this.substituteCRS84=(r=e.substituteCRS84)!==null&&r!==void 0?r:!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...e.wmsParameters},this.vendorParameters=e.vendorParameters||{}}async getMetadata(){let e=await this.getCapabilities();return this.normalizeMetadata(e)}async getImage(e){let{boundingBox:r,bbox:n,...s}=e,i={bbox:r?[...r[0],...r[1]]:n,...s};return await this.getMap(i)}normalizeMetadata(e){return e}async getCapabilities(e,r){let n=this.getCapabilitiesURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();this._checkResponse(s,i);let o=await dr.parse(i,this.loadOptions);return this.capabilities=o,o}async getMap(e,r){let n=this.getMapURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();this._checkResponse(s,i);try{return await Ee.parse(i,this.loadOptions)}catch{throw this._parseError(i)}}async getFeatureInfo(e,r){let n=this.getFeatureInfoURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();return this._checkResponse(s,i),await Eh.parse(i,this.loadOptions)}async getFeatureInfoText(e,r){let n=this.getFeatureInfoURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();return this._checkResponse(s,i),new TextDecoder().decode(i)}async describeLayer(e,r){let n=this.describeLayerURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();return this._checkResponse(s,i),await Rh.parse(i,this.loadOptions)}async getLegendGraphic(e,r){let n=this.getLegendGraphicURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();this._checkResponse(s,i);try{return await Ee.parse(i,this.loadOptions)}catch{throw this._parseError(i)}}getCapabilitiesURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetCapabilities",n,r)}getMapURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetMap",n,r)}getFeatureInfoURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetFeatureInfo",n,r)}describeLayerURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("DescribeLayer",n,r)}getLegendGraphicURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetLegendGraphic",n,r)}_parseWMSUrl(e){let[r,n]=e.split("?"),s=n.split("&"),i={};for(let o of s){let[a,c]=o.split("=");i[a]=c}return{url:r,parameters:i}}_getWMSUrl(e,r,n){let s=this.url,i=!0,o={service:"WMS",version:r.version,request:e,...r,...this.vendorParameters,...n},a=["transparent","time","elevation"];for(let[c,l]of Object.entries(o))(!a.includes(c)||l)&&(s+=i?"?":"&",i=!1,s+=this._getURLParameter(c,l,r));return encodeURI(s)}_getWMS130Parameters(e){let r={...e};return r.srs&&(r.crs=r.crs||r.srs,delete r.srs),r}_getURLParameter(e,r,n){switch(e){case"crs":n.version!=="1.3.0"?e="srs":this.substituteCRS84&&r==="EPSG:4326"&&(r="CRS:84");break;case"srs":n.version==="1.3.0"&&(e="crs");break;case"bbox":let s=this._flipBoundingBox(r,n);s&&(r=s);break;default:}return e=e.toUpperCase(),Array.isArray(r)?`${e}=${r.join(",")}`:`${e}=${r?String(r):""}`}_flipBoundingBox(e,r){if(!Array.isArray(e)||e.length!==4)return null;let n=r.version==="1.3.0"&&this.flipCRS.includes(r.crs||"")&&!(this.substituteCRS84&&r.crs==="EPSG:4326"),s=e;return n?[s[1],s[0],s[3],s[2]]:s}async _fetchArrayBuffer(e){let r=await this.fetch(e),n=await r.arrayBuffer();return this._checkResponse(r,n),n}_checkResponse(e,r){let n=e.headers["content-type"];if(!e.ok||ve.mimeTypes.includes(n)){var s;let i=Eo(this.loadOptions,{wms:{throwOnError:!0}}),o=(s=ve.parseSync)===null||s===void 0?void 0:s.call(ve,r,i);throw new Error(o)}}_parseError(e){var r;let n=(r=ve.parseSync)===null||r===void 0?void 0:r.call(ve,e,this.loadOptions);return new Error(n)}};var pr=class extends Nt{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){let r=this.getGranularParameters(e),n=this.getURLFromTemplate(r),i=await(await this.fetch(n)).arrayBuffer();return await Ee.parse(i)}getGranularParameters(e){let[[r,n],[s,i]]=e.boundingBox;return{...e,east:r,north:n,south:i,west:s}}getURLFromTemplate(e){let r=this.props.url;for(let[n,s]of Object.entries(e))r=r.replace(`\${${n}}`,String(s)),r=r.replace(`{${n}}`,String(s));return r}};pr.type="template";pr.testURL=t=>t.toLowerCase().includes("{");var Uo=class extends pr{constructor(e){super(e),this.data=void 0,this.data=e.url}async getMetadata(){return await this.metadata()}async getImage(e){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(e){throw new Error("not implemented")}metadataURL(e){return`${this.props.url}?f=pjson`}exportImageURL(e){let r=`bbox=${e.bbox[0]},${e.bbox[1]},${e.bbox[2]},${e.bbox[3]}`,n=`size=${e.width},${e.height}`,s={...e,bbox:r,size:n};return delete s.width,delete s.height,this.getUrl("exportImage",s)}getUrl(e,r,n){let s=`${this.props.url}/${e}`,i=!0;for(let[o,a]of Object.entries(r))s+=i?"?":"&",i=!1,Array.isArray(a)?s+=`${o.toUpperCase()}=${a.join(",")}`:s+=`${o.toUpperCase()}=${a?String(a):""}`;return s}async checkResponse(e){if(!e.ok)throw new Error("error")}},Dh={type:"arcgis-image-server",testURL:t=>t.toLowerCase().includes("ImageServer"),create:t=>new Uo(t)};var w_=[Ph,Dh];function Lo(t){return xh(t,w_)}function P(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var v_=1/Math.PI*180,U_=1/180*Math.PI,L_={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...L_}};var j=globalThis.mathgl.config;function Ho(t,{precision:e=j.precision}={}){return t=H_(t),"".concat(parseFloat(t.toPrecision(e)))}function Mt(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Vo(t){return wh(t)}function Xo(t){return yt(t)}function wh(t,e){return Wo(t,r=>r*U_,e)}function yt(t,e){return Wo(t,r=>r*v_,e)}function us(t,e,r){return Wo(t,n=>Math.max(e,Math.min(r,n)))}function Re(t,e,r){return Mt(t)?t.map((n,s)=>Re(n,e[s],r)):r*e+(1-r)*t}function At(t,e,r){let n=j.EPSILON;r&&(j.EPSILON=r);try{if(t===e)return!0;if(Mt(t)&&Mt(e)){if(t.length!==e.length)return!1;for(let s=0;s<t.length;++s)if(!At(t[s],e[s]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=j.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{j.EPSILON=n}}function H_(t){return Math.round(t/j.EPSILON)*j.EPSILON}function V_(t){return t.clone?t.clone():new Array(t.length)}function Wo(t,e,r){if(Mt(t)){let n=t;r=r||V_(n);for(let s=0;s<r.length&&s<n.length;++s){let i=typeof t=="number"?t:t[s];r[s]=e(i,s,r)}return r}return e(t)}function X_(t){function e(){var r=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var xe=class extends X_(Array){clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:Mt(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(j)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Ho(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!At(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let s=0;s<this.ELEMENTS;++s){let i=e[s],o=typeof r=="number"?r:r[s];this[s]=i+n*(o-i)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(j.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function W_(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function H(t){if(!Number.isFinite(t))throw new Error("Invalid number ".concat(JSON.stringify(t)));return t}function Se(t,e,r=""){if(j.debug&&!W_(t,e))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return t}function ct(t,e){if(!t)throw new Error("math.gl assertion ".concat(e))}var Ce=class extends xe{get x(){return this[0]}set x(e){this[0]=H(e)}get y(){return this[1]}set y(e){this[1]=H(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let s=this[n]-e[n];r+=s*s}return H(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return H(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return ct(e>=0&&e<this.ELEMENTS,"index is out of range"),H(this[e])}setComponent(e,r){return ct(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var $=typeof Float32Array<"u"?Float32Array:Array,sn=Math.random;function gr(t){return t>=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}var dF=Math.PI/180;function z_(){let t=new $(2);return $!=Float32Array&&(t[0]=0,t[1]=0),t}function vh(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t}function Uh(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s+r[4],t[1]=r[1]*n+r[3]*s+r[5],t}function ds(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[3]*s+r[6],t[1]=r[1]*n+r[4]*s+r[7],t}function ps(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[4]*s+r[12],t[1]=r[1]*n+r[5]*s+r[13],t}var pF=function(){let t=z_();return function(e,r,n,s,i,o){let a,c;for(r||(r=2),n||(n=0),s?c=Math.min(s*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],i(t,t,o),e[a]=t[0],e[a+1]=t[1];return e}}();function gs(t,e,r){let n=e[0],s=e[1],i=r[3]*n+r[7]*s||1;return t[0]=(r[0]*n+r[4]*s)/i,t[1]=(r[1]*n+r[5]*s)/i,t}function As(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[3]*n+r[7]*s+r[11]*i||1;return t[0]=(r[0]*n+r[4]*s+r[8]*i)/o,t[1]=(r[1]*n+r[5]*s+r[9]*i)/o,t[2]=(r[2]*n+r[6]*s+r[10]*i)/o,t}function Lh(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t[2]=e[2],t}function Hh(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t[2]=e[2],t[3]=e[3],t}function _s(t,e,r){let n=e[0],s=e[1],i=e[2];return t[0]=r[0]*n+r[3]*s+r[6]*i,t[1]=r[1]*n+r[4]*s+r[7]*i,t[2]=r[2]*n+r[5]*s+r[8]*i,t[3]=e[3],t}var Ve=class extends Ce{constructor(e=0,r=0){super(2),Mt(e)&&arguments.length===1?this.copy(e):(j.debug&&(H(e),H(r)),this[0]=e,this[1]=r)}set(e,r){return this[0]=e,this[1]=r,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this.check()}fromObject(e){return j.debug&&(H(e.x),H(e.y)),this[0]=e.x,this[1]=e.y,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return ps(this,this,e),this.check()}transformAsVector(e){return gs(this,this,e),this.check()}transformByMatrix3(e){return ds(this,this,e),this.check()}transformByMatrix2x3(e){return Uh(this,this,e),this.check()}transformByMatrix2(e){return vh(this,this,e),this.check()}};var _r={};ht(_r,{add:()=>J_,angle:()=>Jo,bezier:()=>om,ceil:()=>Y_,clone:()=>k_,copy:()=>G_,create:()=>ms,cross:()=>Xe,dist:()=>gm,distance:()=>kh,div:()=>pm,divide:()=>zh,dot:()=>on,equals:()=>fm,exactEquals:()=>hm,floor:()=>q_,forEach:()=>mm,fromValues:()=>Ts,hermite:()=>im,inverse:()=>rm,len:()=>Yo,length:()=>Vh,lerp:()=>nm,max:()=>Z_,min:()=>j_,mul:()=>dm,multiply:()=>Wh,negate:()=>em,normalize:()=>zo,random:()=>am,rotateX:()=>ko,rotateY:()=>Go,rotateZ:()=>Ko,round:()=>Q_,scale:()=>$_,scaleAndAdd:()=>tm,set:()=>K_,slerp:()=>sm,sqrDist:()=>Am,sqrLen:()=>_m,squaredDistance:()=>Gh,squaredLength:()=>Kh,str:()=>lm,sub:()=>um,subtract:()=>Xh,transformMat3:()=>an,transformMat4:()=>We,transformQuat:()=>cn,zero:()=>cm});function ms(){let t=new $(3);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function k_(t){let e=new $(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Vh(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function Ts(t,e,r){let n=new $(3);return n[0]=t,n[1]=e,n[2]=r,n}function G_(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function K_(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function J_(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function Xh(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function Wh(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function zh(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function Y_(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function q_(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function j_(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function Z_(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function Q_(t,e){return t[0]=gr(e[0]),t[1]=gr(e[1]),t[2]=gr(e[2]),t}function $_(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function tm(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function kh(t,e){let r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return Math.sqrt(r*r+n*n+s*s)}function Gh(t,e){let r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return r*r+n*n+s*s}function Kh(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function em(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function rm(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function zo(t,e){let r=e[0],n=e[1],s=e[2],i=r*r+n*n+s*s;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function on(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Xe(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[0],a=r[1],c=r[2];return t[0]=s*c-i*a,t[1]=i*o-n*c,t[2]=n*a-s*o,t}function nm(t,e,r,n){let s=e[0],i=e[1],o=e[2];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}function sm(t,e,r,n){let s=Math.acos(Math.min(Math.max(on(e,r),-1),1)),i=Math.sin(s),o=Math.sin((1-n)*s)/i,a=Math.sin(n*s)/i;return t[0]=o*e[0]+a*r[0],t[1]=o*e[1]+a*r[1],t[2]=o*e[2]+a*r[2],t}function im(t,e,r,n,s,i){let o=i*i,a=o*(2*i-3)+1,c=o*(i-2)+i,l=o*(i-1),h=o*(3-2*i);return t[0]=e[0]*a+r[0]*c+n[0]*l+s[0]*h,t[1]=e[1]*a+r[1]*c+n[1]*l+s[1]*h,t[2]=e[2]*a+r[2]*c+n[2]*l+s[2]*h,t}function om(t,e,r,n,s,i){let o=1-i,a=o*o,c=i*i,l=a*o,h=3*i*a,f=3*c*o,u=c*i;return t[0]=e[0]*l+r[0]*h+n[0]*f+s[0]*u,t[1]=e[1]*l+r[1]*h+n[1]*f+s[1]*u,t[2]=e[2]*l+r[2]*h+n[2]*f+s[2]*u,t}function am(t,e){e=e===void 0?1:e;let r=sn()*2*Math.PI,n=sn()*2-1,s=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*s,t[1]=Math.sin(r)*s,t[2]=n*e,t}function We(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[3]*n+r[7]*s+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*s+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*s+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*s+r[10]*i+r[14])/o,t}function an(t,e,r){let n=e[0],s=e[1],i=e[2];return t[0]=n*r[0]+s*r[3]+i*r[6],t[1]=n*r[1]+s*r[4]+i*r[7],t[2]=n*r[2]+s*r[5]+i*r[8],t}function cn(t,e,r){let n=r[0],s=r[1],i=r[2],o=r[3],a=e[0],c=e[1],l=e[2],h=s*l-i*c,f=i*a-n*l,u=n*c-s*a,d=s*u-i*f,p=i*h-n*u,_=n*f-s*h,A=o*2;return h*=A,f*=A,u*=A,d*=2,p*=2,_*=2,t[0]=a+h+d,t[1]=c+f+p,t[2]=l+u+_,t}function ko(t,e,r,n){let s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0],i[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),i[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function Go(t,e,r,n){let s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),i[1]=s[1],i[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function Ko(t,e,r,n){let s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),i[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),i[2]=s[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function Jo(t,e){let r=t[0],n=t[1],s=t[2],i=e[0],o=e[1],a=e[2],c=Math.sqrt((r*r+n*n+s*s)*(i*i+o*o+a*a)),l=c&&on(t,e)/c;return Math.acos(Math.min(Math.max(l,-1),1))}function cm(t){return t[0]=0,t[1]=0,t[2]=0,t}function lm(t){return"vec3(".concat(t[0],", ").concat(t[1],", ").concat(t[2],")")}function hm(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function fm(t,e){let r=t[0],n=t[1],s=t[2],i=e[0],o=e[1],a=e[2];return Math.abs(r-i)<=1e-6*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(s-a)<=1e-6*Math.max(1,Math.abs(s),Math.abs(a))}var um=Xh,dm=Wh,pm=zh,gm=kh,Am=Gh,Yo=Vh,_m=Kh,mm=function(){let t=ms();return function(e,r,n,s,i,o){let a,c;for(r||(r=3),n||(n=0),s?c=Math.min(s*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],i(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var qo=[0,0,0],Es,m=class extends Ce{static get ZERO(){return Es||(Es=new m(0,0,0),Object.freeze(Es)),Es}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Mt(e)?this.copy(e):(j.debug&&(H(e),H(r),H(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return j.debug&&(H(e.x),H(e.y),H(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=H(e)}angle(e){return Jo(this,e)}cross(e){return Xe(this,this,e),this.check()}rotateX({radians:e,origin:r=qo}){return ko(this,this,r,e),this.check()}rotateY({radians:e,origin:r=qo}){return Go(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=qo}){return Ko(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return We(this,this,e),this.check()}transformAsVector(e){return As(this,this,e),this.check()}transformByMatrix3(e){return an(this,this,e),this.check()}transformByMatrix2(e){return Lh(this,this,e),this.check()}transformByQuaternion(e){return cn(this,this,e),this.check()}};var Rs,mr=class extends Ce{static get ZERO(){return Rs||(Rs=new mr(0,0,0,0),Object.freeze(Rs)),Rs}constructor(e=0,r=0,n=0,s=0){super(-0,-0,-0,-0),Mt(e)&&arguments.length===1?this.copy(e):(j.debug&&(H(e),H(r),H(n),H(s)),this[0]=e,this[1]=r,this[2]=n,this[3]=s)}set(e,r,n,s){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}fromObject(e){return j.debug&&(H(e.x),H(e.y),H(e.z),H(e.w)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e.w=this[3],e}get ELEMENTS(){return 4}get z(){return this[2]}set z(e){this[2]=H(e)}get w(){return this[3]}set w(e){this[3]=H(e)}transform(e){return We(this,this,e),this.check()}transformByMatrix3(e){return _s(this,this,e),this.check()}transformByMatrix2(e){return Hh(this,this,e),this.check()}transformByQuaternion(e){return cn(this,this,e),this.check()}applyMatrix4(e){return e.transform(this,this),this}};var Tr=class extends xe{toString(){let e="[";if(j.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=" ".concat(this[n*this.RANK+r])}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=" ".concat(this[r])}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=H(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let s=0;s<this.RANK;++s)r[s]=this[n+s];return r}setColumn(e,r){let n=e*this.RANK;for(let s=0;s<this.RANK;++s)this[n+s]=r[s];return this}};function Jh(){let t=new $(9);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Yh(t,e){if(t===e){let r=e[1],n=e[2],s=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=s}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function qh(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],f=h*o-a*l,u=-h*i+a*c,d=l*i-o*c,p=r*f+n*u+s*d;return p?(p=1/p,t[0]=f*p,t[1]=(-h*n+s*l)*p,t[2]=(a*n-s*o)*p,t[3]=u*p,t[4]=(h*r-s*c)*p,t[5]=(-a*r+s*i)*p,t[6]=d*p,t[7]=(-l*r+n*c)*p,t[8]=(o*r-n*i)*p,t):null}function jh(t){let e=t[0],r=t[1],n=t[2],s=t[3],i=t[4],o=t[5],a=t[6],c=t[7],l=t[8];return e*(l*i-o*c)+r*(-l*s+o*a)+n*(c*s-i*a)}function jo(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=e[8],u=r[0],d=r[1],p=r[2],_=r[3],A=r[4],T=r[5],x=r[6],R=r[7],S=r[8];return t[0]=u*n+d*o+p*l,t[1]=u*s+d*a+p*h,t[2]=u*i+d*c+p*f,t[3]=_*n+A*o+T*l,t[4]=_*s+A*a+T*h,t[5]=_*i+A*c+T*f,t[6]=x*n+R*o+S*l,t[7]=x*s+R*a+S*h,t[8]=x*i+R*c+S*f,t}function Zh(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=e[8],u=r[0],d=r[1];return t[0]=n,t[1]=s,t[2]=i,t[3]=o,t[4]=a,t[5]=c,t[6]=u*n+d*o+l,t[7]=u*s+d*a+h,t[8]=u*i+d*c+f,t}function Qh(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=e[8],u=Math.sin(r),d=Math.cos(r);return t[0]=d*n+u*o,t[1]=d*s+u*a,t[2]=d*i+u*c,t[3]=d*o-u*n,t[4]=d*a-u*s,t[5]=d*c-u*i,t[6]=l,t[7]=h,t[8]=f,t}function Zo(t,e,r){let n=r[0],s=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=s*e[3],t[4]=s*e[4],t[5]=s*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function $h(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r+r,a=n+n,c=s+s,l=r*o,h=n*o,f=n*a,u=s*o,d=s*a,p=s*c,_=i*o,A=i*a,T=i*c;return t[0]=1-f-p,t[3]=h-T,t[6]=u+A,t[1]=h+T,t[4]=1-l-p,t[7]=d-_,t[2]=u-A,t[5]=d+_,t[8]=1-l-f,t}var Qo;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL1ROW0=3]="COL1ROW0",t[t.COL1ROW1=4]="COL1ROW1",t[t.COL1ROW2=5]="COL1ROW2",t[t.COL2ROW0=6]="COL2ROW0",t[t.COL2ROW1=7]="COL2ROW1",t[t.COL2ROW2=8]="COL2ROW2"})(Qo||(Qo={}));var Em=Object.freeze([1,0,0,0,1,0,0,0,1]),z=class extends Tr{static get IDENTITY(){return xm()}static get ZERO(){return Rm()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Qo}constructor(e,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):r.length>0?this.copy([e,...r]):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}identity(){return this.copy(Em)}fromObject(e){return this.check()}fromQuaternion(e){return $h(this,e),this.check()}set(e,r,n,s,i,o,a,c,l){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this[4]=i,this[5]=o,this[6]=a,this[7]=c,this[8]=l,this.check()}setRowMajor(e,r,n,s,i,o,a,c,l){return this[0]=e,this[1]=s,this[2]=a,this[3]=r,this[4]=i,this[5]=c,this[6]=n,this[7]=o,this[8]=l,this.check()}determinant(){return jh(this)}transpose(){return Yh(this,this),this.check()}invert(){return qh(this,this),this.check()}multiplyLeft(e){return jo(this,e,this),this.check()}multiplyRight(e){return jo(this,this,e),this.check()}rotate(e){return Qh(this,this,e),this.check()}scale(e){return Array.isArray(e)?Zo(this,this,e):Zo(this,this,[e,e]),this.check()}translate(e){return Zh(this,this,e),this.check()}transform(e,r){let n;switch(e.length){case 2:n=ds(r||[-0,-0],e,this);break;case 3:n=an(r||[-0,-0,-0],e,this);break;case 4:n=_s(r||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Se(n,e.length),n}transformVector(e,r){return this.transform(e,r)}transformVector2(e,r){return this.transform(e,r)}transformVector3(e,r){return this.transform(e,r)}},xs,Ss=null;function Rm(){return xs||(xs=new z([0,0,0,0,0,0,0,0,0]),Object.freeze(xs)),xs}function xm(){return Ss||(Ss=new z,Object.freeze(Ss)),Ss}var Cs={};ht(Cs,{add:()=>Jm,adjoint:()=>Im,clone:()=>Cm,copy:()=>Bm,create:()=>Sm,decompose:()=>Lm,determinant:()=>ea,equals:()=>Zm,exactEquals:()=>jm,frob:()=>Km,fromQuat:()=>ca,fromQuat2:()=>wm,fromRotation:()=>Om,fromRotationTranslation:()=>ef,fromRotationTranslationScale:()=>Hm,fromRotationTranslationScaleOrigin:()=>Vm,fromScaling:()=>Nm,fromTranslation:()=>Fm,fromValues:()=>Mm,fromXRotation:()=>bm,fromYRotation:()=>Pm,fromZRotation:()=>Dm,frustum:()=>la,getRotation:()=>Um,getScaling:()=>rf,getTranslation:()=>vm,identity:()=>tf,invert:()=>ta,lookAt:()=>ua,mul:()=>Qm,multiply:()=>ln,multiplyScalar:()=>Ym,multiplyScalarAndAdd:()=>qm,ortho:()=>fa,orthoNO:()=>sf,orthoZO:()=>zm,perspective:()=>ha,perspectiveFromFieldOfView:()=>Wm,perspectiveNO:()=>nf,perspectiveZO:()=>Xm,rotate:()=>sa,rotateX:()=>ia,rotateY:()=>oa,rotateZ:()=>aa,scale:()=>na,set:()=>ym,str:()=>Gm,sub:()=>$m,subtract:()=>of,targetTo:()=>km,translate:()=>ra,transpose:()=>$o});function Sm(){let t=new $(16);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function Cm(t){let e=new $(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Bm(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Mm(t,e,r,n,s,i,o,a,c,l,h,f,u,d,p,_){let A=new $(16);return A[0]=t,A[1]=e,A[2]=r,A[3]=n,A[4]=s,A[5]=i,A[6]=o,A[7]=a,A[8]=c,A[9]=l,A[10]=h,A[11]=f,A[12]=u,A[13]=d,A[14]=p,A[15]=_,A}function ym(t,e,r,n,s,i,o,a,c,l,h,f,u,d,p,_,A){return t[0]=e,t[1]=r,t[2]=n,t[3]=s,t[4]=i,t[5]=o,t[6]=a,t[7]=c,t[8]=l,t[9]=h,t[10]=f,t[11]=u,t[12]=d,t[13]=p,t[14]=_,t[15]=A,t}function tf(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function $o(t,e){if(t===e){let r=e[1],n=e[2],s=e[3],i=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=s,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function ta(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],f=e[9],u=e[10],d=e[11],p=e[12],_=e[13],A=e[14],T=e[15],x=r*a-n*o,R=r*c-s*o,S=r*l-i*o,B=n*c-s*a,M=n*l-i*a,F=s*l-i*c,C=h*_-f*p,E=h*A-u*p,g=h*T-d*p,y=f*A-u*_,O=f*T-d*_,b=u*T-d*A,N=x*b-R*O+S*y+B*g-M*E+F*C;return N?(N=1/N,t[0]=(a*b-c*O+l*y)*N,t[1]=(s*O-n*b-i*y)*N,t[2]=(_*F-A*M+T*B)*N,t[3]=(u*M-f*F-d*B)*N,t[4]=(c*g-o*b-l*E)*N,t[5]=(r*b-s*g+i*E)*N,t[6]=(A*S-p*F-T*R)*N,t[7]=(h*F-u*S+d*R)*N,t[8]=(o*O-a*g+l*C)*N,t[9]=(n*g-r*O-i*C)*N,t[10]=(p*M-_*S+T*x)*N,t[11]=(f*S-h*M-d*x)*N,t[12]=(a*E-o*y-c*C)*N,t[13]=(r*y-n*E+s*C)*N,t[14]=(_*R-p*B-A*x)*N,t[15]=(h*B-f*R+u*x)*N,t):null}function Im(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],f=e[9],u=e[10],d=e[11],p=e[12],_=e[13],A=e[14],T=e[15],x=r*a-n*o,R=r*c-s*o,S=r*l-i*o,B=n*c-s*a,M=n*l-i*a,F=s*l-i*c,C=h*_-f*p,E=h*A-u*p,g=h*T-d*p,y=f*A-u*_,O=f*T-d*_,b=u*T-d*A;return t[0]=a*b-c*O+l*y,t[1]=s*O-n*b-i*y,t[2]=_*F-A*M+T*B,t[3]=u*M-f*F-d*B,t[4]=c*g-o*b-l*E,t[5]=r*b-s*g+i*E,t[6]=A*S-p*F-T*R,t[7]=h*F-u*S+d*R,t[8]=o*O-a*g+l*C,t[9]=n*g-r*O-i*C,t[10]=p*M-_*S+T*x,t[11]=f*S-h*M-d*x,t[12]=a*E-o*y-c*C,t[13]=r*y-n*E+s*C,t[14]=_*R-p*B-A*x,t[15]=h*B-f*R+u*x,t}function ea(t){let e=t[0],r=t[1],n=t[2],s=t[3],i=t[4],o=t[5],a=t[6],c=t[7],l=t[8],h=t[9],f=t[10],u=t[11],d=t[12],p=t[13],_=t[14],A=t[15],T=e*o-r*i,x=e*a-n*i,R=r*a-n*o,S=l*p-h*d,B=l*_-f*d,M=h*_-f*p,F=e*M-r*B+n*S,C=i*M-o*B+a*S,E=l*R-h*x+f*T,g=d*R-p*x+_*T;return c*F-s*C+A*E-u*g}function ln(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=e[8],u=e[9],d=e[10],p=e[11],_=e[12],A=e[13],T=e[14],x=e[15],R=r[0],S=r[1],B=r[2],M=r[3];return t[0]=R*n+S*a+B*f+M*_,t[1]=R*s+S*c+B*u+M*A,t[2]=R*i+S*l+B*d+M*T,t[3]=R*o+S*h+B*p+M*x,R=r[4],S=r[5],B=r[6],M=r[7],t[4]=R*n+S*a+B*f+M*_,t[5]=R*s+S*c+B*u+M*A,t[6]=R*i+S*l+B*d+M*T,t[7]=R*o+S*h+B*p+M*x,R=r[8],S=r[9],B=r[10],M=r[11],t[8]=R*n+S*a+B*f+M*_,t[9]=R*s+S*c+B*u+M*A,t[10]=R*i+S*l+B*d+M*T,t[11]=R*o+S*h+B*p+M*x,R=r[12],S=r[13],B=r[14],M=r[15],t[12]=R*n+S*a+B*f+M*_,t[13]=R*s+S*c+B*u+M*A,t[14]=R*i+S*l+B*d+M*T,t[15]=R*o+S*h+B*p+M*x,t}function ra(t,e,r){let n=r[0],s=r[1],i=r[2],o,a,c,l,h,f,u,d,p,_,A,T;return e===t?(t[12]=e[0]*n+e[4]*s+e[8]*i+e[12],t[13]=e[1]*n+e[5]*s+e[9]*i+e[13],t[14]=e[2]*n+e[6]*s+e[10]*i+e[14],t[15]=e[3]*n+e[7]*s+e[11]*i+e[15]):(o=e[0],a=e[1],c=e[2],l=e[3],h=e[4],f=e[5],u=e[6],d=e[7],p=e[8],_=e[9],A=e[10],T=e[11],t[0]=o,t[1]=a,t[2]=c,t[3]=l,t[4]=h,t[5]=f,t[6]=u,t[7]=d,t[8]=p,t[9]=_,t[10]=A,t[11]=T,t[12]=o*n+h*s+p*i+e[12],t[13]=a*n+f*s+_*i+e[13],t[14]=c*n+u*s+A*i+e[14],t[15]=l*n+d*s+T*i+e[15]),t}function na(t,e,r){let n=r[0],s=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*s,t[5]=e[5]*s,t[6]=e[6]*s,t[7]=e[7]*s,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function sa(t,e,r,n){let s=n[0],i=n[1],o=n[2],a=Math.sqrt(s*s+i*i+o*o),c,l,h,f,u,d,p,_,A,T,x,R,S,B,M,F,C,E,g,y,O,b,N,U;return a<1e-6?null:(a=1/a,s*=a,i*=a,o*=a,l=Math.sin(r),c=Math.cos(r),h=1-c,f=e[0],u=e[1],d=e[2],p=e[3],_=e[4],A=e[5],T=e[6],x=e[7],R=e[8],S=e[9],B=e[10],M=e[11],F=s*s*h+c,C=i*s*h+o*l,E=o*s*h-i*l,g=s*i*h-o*l,y=i*i*h+c,O=o*i*h+s*l,b=s*o*h+i*l,N=i*o*h-s*l,U=o*o*h+c,t[0]=f*F+_*C+R*E,t[1]=u*F+A*C+S*E,t[2]=d*F+T*C+B*E,t[3]=p*F+x*C+M*E,t[4]=f*g+_*y+R*O,t[5]=u*g+A*y+S*O,t[6]=d*g+T*y+B*O,t[7]=p*g+x*y+M*O,t[8]=f*b+_*N+R*U,t[9]=u*b+A*N+S*U,t[10]=d*b+T*N+B*U,t[11]=p*b+x*N+M*U,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function ia(t,e,r){let n=Math.sin(r),s=Math.cos(r),i=e[4],o=e[5],a=e[6],c=e[7],l=e[8],h=e[9],f=e[10],u=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=i*s+l*n,t[5]=o*s+h*n,t[6]=a*s+f*n,t[7]=c*s+u*n,t[8]=l*s-i*n,t[9]=h*s-o*n,t[10]=f*s-a*n,t[11]=u*s-c*n,t}function oa(t,e,r){let n=Math.sin(r),s=Math.cos(r),i=e[0],o=e[1],a=e[2],c=e[3],l=e[8],h=e[9],f=e[10],u=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*s-l*n,t[1]=o*s-h*n,t[2]=a*s-f*n,t[3]=c*s-u*n,t[8]=i*n+l*s,t[9]=o*n+h*s,t[10]=a*n+f*s,t[11]=c*n+u*s,t}function aa(t,e,r){let n=Math.sin(r),s=Math.cos(r),i=e[0],o=e[1],a=e[2],c=e[3],l=e[4],h=e[5],f=e[6],u=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*s+l*n,t[1]=o*s+h*n,t[2]=a*s+f*n,t[3]=c*s+u*n,t[4]=l*s-i*n,t[5]=h*s-o*n,t[6]=f*s-a*n,t[7]=u*s-c*n,t}function Fm(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function Nm(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Om(t,e,r){let n=r[0],s=r[1],i=r[2],o=Math.sqrt(n*n+s*s+i*i),a,c,l;return o<1e-6?null:(o=1/o,n*=o,s*=o,i*=o,c=Math.sin(e),a=Math.cos(e),l=1-a,t[0]=n*n*l+a,t[1]=s*n*l+i*c,t[2]=i*n*l-s*c,t[3]=0,t[4]=n*s*l-i*c,t[5]=s*s*l+a,t[6]=i*s*l+n*c,t[7]=0,t[8]=n*i*l+s*c,t[9]=s*i*l-n*c,t[10]=i*i*l+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function bm(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Pm(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Dm(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ef(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=n+n,c=s+s,l=i+i,h=n*a,f=n*c,u=n*l,d=s*c,p=s*l,_=i*l,A=o*a,T=o*c,x=o*l;return t[0]=1-(d+_),t[1]=f+x,t[2]=u-T,t[3]=0,t[4]=f-x,t[5]=1-(h+_),t[6]=p+A,t[7]=0,t[8]=u+T,t[9]=p-A,t[10]=1-(h+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function wm(t,e){let r=new $(3),n=-e[0],s=-e[1],i=-e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=n*n+s*s+i*i+o*o;return f>0?(r[0]=(a*o+h*n+c*i-l*s)*2/f,r[1]=(c*o+h*s+l*n-a*i)*2/f,r[2]=(l*o+h*i+a*s-c*n)*2/f):(r[0]=(a*o+h*n+c*i-l*s)*2,r[1]=(c*o+h*s+l*n-a*i)*2,r[2]=(l*o+h*i+a*s-c*n)*2),ef(t,e,r),t}function vm(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function rf(t,e){let r=e[0],n=e[1],s=e[2],i=e[4],o=e[5],a=e[6],c=e[8],l=e[9],h=e[10];return t[0]=Math.sqrt(r*r+n*n+s*s),t[1]=Math.sqrt(i*i+o*o+a*a),t[2]=Math.sqrt(c*c+l*l+h*h),t}function Um(t,e){let r=new $(3);rf(r,e);let n=1/r[0],s=1/r[1],i=1/r[2],o=e[0]*n,a=e[1]*s,c=e[2]*i,l=e[4]*n,h=e[5]*s,f=e[6]*i,u=e[8]*n,d=e[9]*s,p=e[10]*i,_=o+h+p,A=0;return _>0?(A=Math.sqrt(_+1)*2,t[3]=.25*A,t[0]=(f-d)/A,t[1]=(u-c)/A,t[2]=(a-l)/A):o>h&&o>p?(A=Math.sqrt(1+o-h-p)*2,t[3]=(f-d)/A,t[0]=.25*A,t[1]=(a+l)/A,t[2]=(u+c)/A):h>p?(A=Math.sqrt(1+h-o-p)*2,t[3]=(u-c)/A,t[0]=(a+l)/A,t[1]=.25*A,t[2]=(f+d)/A):(A=Math.sqrt(1+p-o-h)*2,t[3]=(a-l)/A,t[0]=(u+c)/A,t[1]=(f+d)/A,t[2]=.25*A),t}function Lm(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let s=n[0],i=n[1],o=n[2],a=n[4],c=n[5],l=n[6],h=n[8],f=n[9],u=n[10];r[0]=Math.sqrt(s*s+i*i+o*o),r[1]=Math.sqrt(a*a+c*c+l*l),r[2]=Math.sqrt(h*h+f*f+u*u);let d=1/r[0],p=1/r[1],_=1/r[2],A=s*d,T=i*p,x=o*_,R=a*d,S=c*p,B=l*_,M=h*d,F=f*p,C=u*_,E=A+S+C,g=0;return E>0?(g=Math.sqrt(E+1)*2,t[3]=.25*g,t[0]=(B-F)/g,t[1]=(M-x)/g,t[2]=(T-R)/g):A>S&&A>C?(g=Math.sqrt(1+A-S-C)*2,t[3]=(B-F)/g,t[0]=.25*g,t[1]=(T+R)/g,t[2]=(M+x)/g):S>C?(g=Math.sqrt(1+S-A-C)*2,t[3]=(M-x)/g,t[0]=(T+R)/g,t[1]=.25*g,t[2]=(B+F)/g):(g=Math.sqrt(1+C-A-S)*2,t[3]=(T-R)/g,t[0]=(M+x)/g,t[1]=(B+F)/g,t[2]=.25*g),t}function Hm(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=e[3],c=s+s,l=i+i,h=o+o,f=s*c,u=s*l,d=s*h,p=i*l,_=i*h,A=o*h,T=a*c,x=a*l,R=a*h,S=n[0],B=n[1],M=n[2];return t[0]=(1-(p+A))*S,t[1]=(u+R)*S,t[2]=(d-x)*S,t[3]=0,t[4]=(u-R)*B,t[5]=(1-(f+A))*B,t[6]=(_+T)*B,t[7]=0,t[8]=(d+x)*M,t[9]=(_-T)*M,t[10]=(1-(f+p))*M,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Vm(t,e,r,n,s){let i=e[0],o=e[1],a=e[2],c=e[3],l=i+i,h=o+o,f=a+a,u=i*l,d=i*h,p=i*f,_=o*h,A=o*f,T=a*f,x=c*l,R=c*h,S=c*f,B=n[0],M=n[1],F=n[2],C=s[0],E=s[1],g=s[2],y=(1-(_+T))*B,O=(d+S)*B,b=(p-R)*B,N=(d-S)*M,U=(1-(u+T))*M,Y=(A+x)*M,W=(p+R)*F,Q=(A-x)*F,J=(1-(u+_))*F;return t[0]=y,t[1]=O,t[2]=b,t[3]=0,t[4]=N,t[5]=U,t[6]=Y,t[7]=0,t[8]=W,t[9]=Q,t[10]=J,t[11]=0,t[12]=r[0]+C-(y*C+N*E+W*g),t[13]=r[1]+E-(O*C+U*E+Q*g),t[14]=r[2]+g-(b*C+Y*E+J*g),t[15]=1,t}function ca(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r+r,a=n+n,c=s+s,l=r*o,h=n*o,f=n*a,u=s*o,d=s*a,p=s*c,_=i*o,A=i*a,T=i*c;return t[0]=1-f-p,t[1]=h+T,t[2]=u-A,t[3]=0,t[4]=h-T,t[5]=1-l-p,t[6]=d+_,t[7]=0,t[8]=u+A,t[9]=d-_,t[10]=1-l-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function la(t,e,r,n,s,i,o){let a=1/(r-e),c=1/(s-n),l=1/(i-o);return t[0]=i*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(s+n)*c,t[10]=(o+i)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*i*2*l,t[15]=0,t}function nf(t,e,r,n,s){let i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,s!=null&&s!==1/0){let o=1/(n-s);t[10]=(s+n)*o,t[14]=2*s*n*o}else t[10]=-1,t[14]=-2*n;return t}var ha=nf;function Xm(t,e,r,n,s){let i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,s!=null&&s!==1/0){let o=1/(n-s);t[10]=s*o,t[14]=s*n*o}else t[10]=-1,t[14]=-n;return t}function Wm(t,e,r,n){let s=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(o+a),l=2/(s+i);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-((o-a)*c*.5),t[9]=(s-i)*l*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function sf(t,e,r,n,s,i,o){let a=1/(e-r),c=1/(n-s),l=1/(i-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*a,t[13]=(s+n)*c,t[14]=(o+i)*l,t[15]=1,t}var fa=sf;function zm(t,e,r,n,s,i,o){let a=1/(e-r),c=1/(n-s),l=1/(i-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=l,t[11]=0,t[12]=(e+r)*a,t[13]=(s+n)*c,t[14]=i*l,t[15]=1,t}function ua(t,e,r,n){let s,i,o,a,c,l,h,f,u,d,p=e[0],_=e[1],A=e[2],T=n[0],x=n[1],R=n[2],S=r[0],B=r[1],M=r[2];return Math.abs(p-S)<1e-6&&Math.abs(_-B)<1e-6&&Math.abs(A-M)<1e-6?tf(t):(f=p-S,u=_-B,d=A-M,s=1/Math.sqrt(f*f+u*u+d*d),f*=s,u*=s,d*=s,i=x*d-R*u,o=R*f-T*d,a=T*u-x*f,s=Math.sqrt(i*i+o*o+a*a),s?(s=1/s,i*=s,o*=s,a*=s):(i=0,o=0,a=0),c=u*a-d*o,l=d*i-f*a,h=f*o-u*i,s=Math.sqrt(c*c+l*l+h*h),s?(s=1/s,c*=s,l*=s,h*=s):(c=0,l=0,h=0),t[0]=i,t[1]=c,t[2]=f,t[3]=0,t[4]=o,t[5]=l,t[6]=u,t[7]=0,t[8]=a,t[9]=h,t[10]=d,t[11]=0,t[12]=-(i*p+o*_+a*A),t[13]=-(c*p+l*_+h*A),t[14]=-(f*p+u*_+d*A),t[15]=1,t)}function km(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=n[0],c=n[1],l=n[2],h=s-r[0],f=i-r[1],u=o-r[2],d=h*h+f*f+u*u;d>0&&(d=1/Math.sqrt(d),h*=d,f*=d,u*=d);let p=c*u-l*f,_=l*h-a*u,A=a*f-c*h;return d=p*p+_*_+A*A,d>0&&(d=1/Math.sqrt(d),p*=d,_*=d,A*=d),t[0]=p,t[1]=_,t[2]=A,t[3]=0,t[4]=f*A-u*_,t[5]=u*p-h*A,t[6]=h*_-f*p,t[7]=0,t[8]=h,t[9]=f,t[10]=u,t[11]=0,t[12]=s,t[13]=i,t[14]=o,t[15]=1,t}function Gm(t){return"mat4(".concat(t[0],", ").concat(t[1],", ").concat(t[2],", ").concat(t[3],", ").concat(t[4],", ").concat(t[5],", ").concat(t[6],", ").concat(t[7],", ").concat(t[8],", ").concat(t[9],", ").concat(t[10],", ").concat(t[11],", ").concat(t[12],", ").concat(t[13],", ").concat(t[14],", ").concat(t[15],")")}function Km(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function Jm(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function of(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function Ym(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function qm(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function jm(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function Zm(t,e){let r=t[0],n=t[1],s=t[2],i=t[3],o=t[4],a=t[5],c=t[6],l=t[7],h=t[8],f=t[9],u=t[10],d=t[11],p=t[12],_=t[13],A=t[14],T=t[15],x=e[0],R=e[1],S=e[2],B=e[3],M=e[4],F=e[5],C=e[6],E=e[7],g=e[8],y=e[9],O=e[10],b=e[11],N=e[12],U=e[13],Y=e[14],W=e[15];return Math.abs(r-x)<=1e-6*Math.max(1,Math.abs(r),Math.abs(x))&&Math.abs(n-R)<=1e-6*Math.max(1,Math.abs(n),Math.abs(R))&&Math.abs(s-S)<=1e-6*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(i-B)<=1e-6*Math.max(1,Math.abs(i),Math.abs(B))&&Math.abs(o-M)<=1e-6*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(a-F)<=1e-6*Math.max(1,Math.abs(a),Math.abs(F))&&Math.abs(c-C)<=1e-6*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(l-E)<=1e-6*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(h-g)<=1e-6*Math.max(1,Math.abs(h),Math.abs(g))&&Math.abs(f-y)<=1e-6*Math.max(1,Math.abs(f),Math.abs(y))&&Math.abs(u-O)<=1e-6*Math.max(1,Math.abs(u),Math.abs(O))&&Math.abs(d-b)<=1e-6*Math.max(1,Math.abs(d),Math.abs(b))&&Math.abs(p-N)<=1e-6*Math.max(1,Math.abs(p),Math.abs(N))&&Math.abs(_-U)<=1e-6*Math.max(1,Math.abs(_),Math.abs(U))&&Math.abs(A-Y)<=1e-6*Math.max(1,Math.abs(A),Math.abs(Y))&&Math.abs(T-W)<=1e-6*Math.max(1,Math.abs(T),Math.abs(W))}var Qm=ln,$m=of;function tT(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function af(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function cf(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function lf(t){let e=t[0],r=t[1],n=t[2],s=t[3];return Math.sqrt(e*e+r*r+n*n+s*s)}function hf(t){let e=t[0],r=t[1],n=t[2],s=t[3];return e*e+r*r+n*n+s*s}function ff(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r*r+n*n+s*s+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=n*o,t[2]=s*o,t[3]=i*o,t}function uf(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function df(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=e[3];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=a+n*(r[3]-a),t}function pf(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*s+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*s+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*s+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*s+r[11]*i+r[15]*o,t}function gf(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[0],a=r[1],c=r[2],l=r[3],h=l*n+a*i-c*s,f=l*s+c*n-o*i,u=l*i+o*s-a*n,d=-o*n-a*s-c*i;return t[0]=h*l+d*-o+f*-c-u*-a,t[1]=f*l+d*-a+u*-o-h*-c,t[2]=u*l+d*-c+h*-a-f*-o,t[3]=e[3],t}var KF=function(){let t=tT();return function(e,r,n,s,i,o){let a,c;for(r||(r=4),n||(n=0),s?c=Math.min(s*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],i(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var ga;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(ga||(ga={}));var rT=45*Math.PI/180,nT=1,da=.1,pa=500,sT=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),D=class extends Tr{static get IDENTITY(){return oT()}static get ZERO(){return iT()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return ga}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,s,i,o,a,c,l,h,f,u,d,p,_,A){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this[4]=i,this[5]=o,this[6]=a,this[7]=c,this[8]=l,this[9]=h,this[10]=f,this[11]=u,this[12]=d,this[13]=p,this[14]=_,this[15]=A,this.check()}setRowMajor(e,r,n,s,i,o,a,c,l,h,f,u,d,p,_,A){return this[0]=e,this[1]=i,this[2]=l,this[3]=d,this[4]=r,this[5]=o,this[6]=h,this[7]=p,this[8]=n,this[9]=a,this[10]=f,this[11]=_,this[12]=s,this[13]=c,this[14]=u,this[15]=A,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(sT)}fromObject(e){return this.check()}fromQuaternion(e){return ca(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:s,top:i,near:o=da,far:a=pa}=e;return a===1/0?aT(this,r,n,s,i,o):la(this,r,n,s,i,o,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:s=[0,1,0]}=e;return ua(this,r,n,s),this.check()}ortho(e){let{left:r,right:n,bottom:s,top:i,near:o=da,far:a=pa}=e;return fa(this,r,n,s,i,o,a),this.check()}orthographic(e){let{fovy:r=rT,aspect:n=nT,focalDistance:s=1,near:i=da,far:o=pa}=e;Af(r);let a=r/2,c=s*Math.tan(a),l=c*n;return this.ortho({left:-l,right:l,bottom:-c,top:c,near:i,far:o})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:s=.1,far:i=500}=e;return Af(r),ha(this,r,n,s,i),this.check()}determinant(){return ea(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),s=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*s,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*s,e[5]=this[5]*i,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*s,e[9]=this[9]*i,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),s=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*s,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=this[4]*s,e[4]=this[5]*i,e[5]=this[6]*o,e[6]=this[8]*s,e[7]=this[9]*i,e[8]=this[10]*o,e}transpose(){return $o(this,this),this.check()}invert(){return ta(this,this),this.check()}multiplyLeft(e){return ln(this,e,this),this.check()}multiplyRight(e){return ln(this,this,e),this.check()}rotateX(e){return ia(this,this,e),this.check()}rotateY(e){return oa(this,this,e),this.check()}rotateZ(e){return aa(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return sa(this,this,e,r),this.check()}scale(e){return na(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return ra(this,this,e),this.check()}transform(e,r){return e.length===4?(r=pf(r||[-0,-0,-0,-0],e,this),Se(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,s;switch(n){case 2:s=ps(r||[-0,-0],e,this);break;case 3:s=We(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Se(s,e.length),s}transformAsVector(e,r){let n;switch(e.length){case 2:n=gs(r||[-0,-0],e,this);break;case 3:n=As(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Se(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},Bs,Ms;function iT(){return Bs||(Bs=new D([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Bs)),Bs}function oT(){return Ms||(Ms=new D,Object.freeze(Ms)),Ms}function Af(t){if(t>Math.PI*2)throw Error("expected radians")}function aT(t,e,r,n,s,i){let o=2*i/(r-e),a=2*i/(s-n),c=(r+e)/(r-e),l=(s+n)/(s-n),h=-1,f=-1,u=-2*i;return t[0]=o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=l,t[10]=h,t[11]=f,t[12]=0,t[13]=0,t[14]=u,t[15]=0,t}function _f(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function mf(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function Aa(t,e,r){r=r*.5;let n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function _a(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=r[0],c=r[1],l=r[2],h=r[3];return t[0]=n*h+o*a+s*l-i*c,t[1]=s*h+o*c+i*a-n*l,t[2]=i*h+o*l+n*c-s*a,t[3]=o*h-n*a-s*c-i*l,t}function Tf(t,e,r){r*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+o*a,t[1]=s*c+i*a,t[2]=i*c-s*a,t[3]=o*c-n*a,t}function Ef(t,e,r){r*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c-i*a,t[1]=s*c+o*a,t[2]=i*c+n*a,t[3]=o*c-s*a,t}function Rf(t,e,r){r*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*a,t[1]=s*c-n*a,t[2]=i*c+o*a,t[3]=o*c-i*a,t}function xf(t,e){let r=e[0],n=e[1],s=e[2];return t[0]=r,t[1]=n,t[2]=s,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-s*s)),t}function hn(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=e[3],c=r[0],l=r[1],h=r[2],f=r[3],u,d,p,_,A;return u=s*c+i*l+o*h+a*f,u<0&&(u=-u,c=-c,l=-l,h=-h,f=-f),1-u>1e-6?(d=Math.acos(u),A=Math.sin(d),p=Math.sin((1-n)*d)/A,_=Math.sin(n*d)/A):(p=1-n,_=n),t[0]=p*s+_*c,t[1]=p*i+_*l,t[2]=p*o+_*h,t[3]=p*a+_*f,t}function Sf(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r*r+n*n+s*s+i*i,a=o?1/o:0;return t[0]=-r*a,t[1]=-n*a,t[2]=-s*a,t[3]=i*a,t}function Cf(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function ma(t,e){let r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{let s=0;e[4]>e[0]&&(s=1),e[8]>e[s*3+s]&&(s=2);let i=(s+1)%3,o=(s+2)%3;n=Math.sqrt(e[s*3+s]-e[i*3+i]-e[o*3+o]+1),t[s]=.5*n,n=.5/n,t[3]=(e[i*3+o]-e[o*3+i])*n,t[i]=(e[i*3+s]+e[s*3+i])*n,t[o]=(e[o*3+s]+e[s*3+o])*n}return t}var Bf=af;var Mf=cf,yf=uf,If=df,Ff=lf;var Nf=hf;var Of=ff;var bf=function(){let t=ms(),e=Ts(1,0,0),r=Ts(0,1,0);return function(n,s,i){let o=on(s,i);return o<-.999999?(Xe(t,e,s),Yo(t)<1e-6&&Xe(t,r,s),zo(t,t),Aa(n,t,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Xe(t,s,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+o,Of(n,n))}}(),oN=function(){let t=_f(),e=_f();return function(r,n,s,i,o,a){return hn(t,n,o,a),hn(e,s,i,a),hn(r,t,e,2*a*(1-a)),r}}(),aN=function(){let t=Jh();return function(e,r,n,s){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=s[0],t[4]=s[1],t[7]=s[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],Of(e,ma(e,t))}}();var cT=[0,0,0,1],Zt=class extends xe{constructor(e=0,r=0,n=0,s=1){super(-0,-0,-0,-0),Array.isArray(e)&&arguments.length===1?this.copy(e):this.set(e,r,n,s)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,r,n,s){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this.check()}fromObject(e){return this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this.check()}fromMatrix3(e){return ma(this,e),this.check()}fromAxisRotation(e,r){return Aa(this,e,r),this.check()}identity(){return mf(this),this.check()}setAxisAngle(e,r){return this.fromAxisRotation(e,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=H(e)}get y(){return this[1]}set y(e){this[1]=H(e)}get z(){return this[2]}set z(e){this[2]=H(e)}get w(){return this[3]}set w(e){this[3]=H(e)}len(){return Ff(this)}lengthSquared(){return Nf(this)}dot(e){return yf(this,e)}rotationTo(e,r){return bf(this,e,r),this.check()}add(e){return Bf(this,this,e),this.check()}calculateW(){return xf(this,this),this.check()}conjugate(){return Cf(this,this),this.check()}invert(){return Sf(this,this),this.check()}lerp(e,r,n){return n===void 0?this.lerp(this,e,r):(If(this,e,r,n),this.check())}multiplyRight(e){return _a(this,this,e),this.check()}multiplyLeft(e){return _a(this,e,this),this.check()}normalize(){let e=this.len(),r=e>0?1/e:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,e===0&&(this[3]=1),this.check()}rotateX(e){return Tf(this,this,e),this.check()}rotateY(e){return Ef(this,this,e),this.check()}rotateZ(e){return Rf(this,this,e),this.check()}scale(e){return Mf(this,this,e),this.check()}slerp(e,r,n){let s,i,o;switch(arguments.length){case 1:({start:s=cT,target:i,ratio:o}=e);break;case 2:s=this,i=e,o=r;break;default:s=e,i=r,o=n}return hn(this,s,i,o),this.check()}transformVector4(e,r=new mr){return gf(r,e,this),Se(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,r){return this.setAxisAngle(e,r)}premultiply(e){return this.multiplyLeft(e)}multiply(e){return this.multiplyRight(e)}};var Ht={};ht(Ht,{EPSILON1:()=>lT,EPSILON10:()=>mT,EPSILON11:()=>TT,EPSILON12:()=>ET,EPSILON13:()=>RT,EPSILON14:()=>xT,EPSILON15:()=>ST,EPSILON16:()=>CT,EPSILON17:()=>BT,EPSILON18:()=>MT,EPSILON19:()=>yT,EPSILON2:()=>hT,EPSILON20:()=>IT,EPSILON3:()=>fT,EPSILON4:()=>uT,EPSILON5:()=>dT,EPSILON6:()=>pT,EPSILON7:()=>gT,EPSILON8:()=>AT,EPSILON9:()=>_T,PI_OVER_FOUR:()=>NT,PI_OVER_SIX:()=>OT,PI_OVER_TWO:()=>FT,TWO_PI:()=>bT});var lT=.1,hT=.01,fT=.001,uT=1e-4,dT=1e-5,pT=1e-6,gT=1e-7,AT=1e-8,_T=1e-9,mT=1e-10,TT=1e-11,ET=1e-12,RT=1e-13,xT=1e-14,ST=1e-15,CT=1e-16,BT=1e-17,MT=1e-18,yT=1e-19,IT=1e-20,FT=Math.PI/2,NT=Math.PI/4,OT=Math.PI/6,bT=Math.PI*2;function ys(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var Vt=Math.PI,vf=Vt/4,Pf=Vt/180,Df=180/Vt,Is=512;function oe(t){let[e,r]=t;ys(Number.isFinite(e)),ys(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*Pf,s=r*Pf,i=Is*(n+Vt)/(2*Vt),o=Is*(Vt+Math.log(Math.tan(vf+s*.5)))/(2*Vt);return[i,o]}function ae(t){let[e,r]=t,n=e/Is*(2*Vt)-Vt,s=2*(Math.atan(Math.exp(r/Is*(2*Vt)-Vt))-vf);return[n*Df,s*Df]}var kN=Math.PI/180;var Lf=6378137*Math.PI;function Ta(t){let e=oe(t);return e[0]=(e[0]/256-1)*Lf,e[1]=(e[1]/256-1)*Lf,e}var YT={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:()=>{}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:()=>{}},onImageLoad:{type:"function",value:()=>{}},onImageLoadError:{type:"function",compare:!1,value:(t,e)=>console.error(e,t)}},Ns=class extends ze.CompositeLayer{get isLoaded(){return this.state?.loadCounter===0&&super.isLoaded}shouldUpdateState(){return!0}initializeState(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0}updateState({changeFlags:e,props:r,oldProps:n}){let{viewport:s}=this.context;e.dataChanged||r.serviceType!==n.serviceType?(this.state.imageSource=this._createImageSource(r),this._loadMetadata(),this.debounce(()=>this.loadImage(s,"image source changed"),0)):(0,ze._deepEqual)(r.layers,n.layers,1)?e.viewportChanged&&this.debounce(()=>this.loadImage(s,"viewport changed")):this.debounce(()=>this.loadImage(s,"layers changed"),0)}finalizeState(){}renderLayers(){let{bounds:e,image:r,lastRequestParameters:n}=this.state;return r&&new Hf.BitmapLayer({...this.getSubLayerProps({id:"bitmap"}),_imageCoordinateSystem:n.srs==="EPSG:4326"?ze.COORDINATE_SYSTEM.LNGLAT:ze.COORDINATE_SYSTEM.CARTESIAN,bounds:e,image:r})}async getFeatureInfoText(e,r){let{lastRequestParameters:n}=this.state;return n?await this.state.imageSource.getFeatureInfoText?.({...n,query_layers:n.layers,x:e,y:r,info_format:"application/vnd.ogc.gml"}):""}_createImageSource(e){if(e.data instanceof Nt)return e.data;if(typeof e.data=="string")return Lo({url:e.data,loadOptions:e.loadOptions,type:e.serviceType});throw new Error("invalid image source in props.data")}async _loadMetadata(){let{imageSource:e}=this.state;try{this.state.loadCounter++;let r=await e.getMetadata();this.state.imageSource===e&&this.getCurrentLayer()?.props.onMetadataLoad(r)}catch(r){this.getCurrentLayer()?.props.onMetadataLoadError(r)}finally{this.state.loadCounter--}}async loadImage(e,r){let{layers:n,serviceType:s}=this.props;if(s==="wms"&&n.length===0)return;let i=e.getBounds(),{width:o,height:a}=e,c=this.getRequestId(),{srs:l}=this.props;l==="auto"&&(l=e.resolution?"EPSG:4326":"EPSG:3857");let h={width:o,height:a,boundingBox:[[i[0],i[1]],[i[2],i[3]]],layers:n,crs:l};if(l==="EPSG:3857"){let f=Ta([i[0],i[1]]),u=Ta([i[2],i[3]]);h.boundingBox=[f,u]}try{this.state.loadCounter++,this.props.onImageLoadStart(c);let f=await this.state.imageSource.getImage(h);this.state.lastRequestId<c&&(this.getCurrentLayer()?.props.onImageLoad(c),this.setState({image:f,bounds:i,lastRequestParameters:h,lastRequestId:c}))}catch(f){this.raiseError(f,"Load image"),this.getCurrentLayer()?.props.onImageLoadError(c,f)}finally{this.state.loadCounter--}}getRequestId(){return this.state._nextRequestId++}debounce(e,r=500){clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(()=>e(),r)}},Fs=Ns;(()=>{Ns.layerName="WMSLayer"})(),(()=>{Ns.defaultProps=YT})();var Vf=v(Ut(),1),qT={getHeight:{type:"accessor",value:0},greatCircle:!0},Os=class extends Vf.ArcLayer{},fn=Os;(()=>{Os.layerName="GreatCircleLayer"})(),(()=>{Os.defaultProps=qT})();var Xf=v(Lt(),1),Ea=v(Ut(),1),jT={...Ea.PolygonLayer.defaultProps},bs=class extends Xf.CompositeLayer{indexToBounds(){return null}renderLayers(){let{elevationScale:e,extruded:r,wireframe:n,filled:s,stroked:i,lineWidthUnits:o,lineWidthScale:a,lineWidthMinPixels:c,lineWidthMaxPixels:l,lineJointRounded:h,lineMiterLimit:f,lineDashJustified:u,getElevation:d,getFillColor:p,getLineColor:_,getLineWidth:A}=this.props,{updateTriggers:T,material:x,transitions:R}=this.props,S=this.getSubLayerClass("cell",Ea.PolygonLayer),{updateTriggers:B,...M}=this.indexToBounds()||{};return new S({filled:s,wireframe:n,extruded:r,elevationScale:e,stroked:i,lineWidthUnits:o,lineWidthScale:a,lineWidthMinPixels:c,lineWidthMaxPixels:l,lineJointRounded:h,lineMiterLimit:f,lineDashJustified:u,material:x,transitions:R,getElevation:d,getFillColor:p,getLineColor:_,getLineWidth:A},this.getSubLayerProps({id:"cell",updateTriggers:T&&{...B,getElevation:T.getElevation,getFillColor:T.getFillColor,getLineColor:T.getLineColor,getLineWidth:T.getLineWidth}}),M)}},It=bs;(()=>{bs.layerName="GeoCellLayer"})(),(()=>{bs.defaultProps=jT})();var Ps=v(Ra(),1),ZT=3,QT=30,$T=2*QT+1,zf=180/Math.PI;function Gf(t,e,r){let n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function kf(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function Kf(t){return[kf(t[0]),kf(t[1])]}function Jf(t,[e,r]){switch(t){case 0:return[1,e,r];case 1:return[-e,1,r];case 2:return[-e,-r,1];case 3:return[-1,-r,-e];case 4:return[r,-1,-e];case 5:return[r,e,-1];default:throw new Error("Invalid face")}}function Yf([t,e,r]){let n=Math.atan2(r,Math.sqrt(t*t+e*e));return[Math.atan2(e,t)*zf,n*zf]}function qf(t){let e=Ps.default.fromString(t,!0,10).toString(2);for(;e.length<ZT+$T;)e="0"+e;let r=e.lastIndexOf("1"),n=e.substring(0,3),s=e.substring(3,r),i=s.length/2,o=Ps.default.fromString(n,!0,2).toString(10),a=Ps.default.fromString(s,!0,2).toString(4);for(;a.length<i;)a="0"+a;return`${o}/${a}`}function t1(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let s=e[0];e[0]=e[1],e[1]=s}}function jf(t){let e=t.split("/"),r=parseInt(e[0],10),n=e[1],s=n.length,i=[0,0],o;for(let a=s-1;a>=0;a--){o=s-a;let c=n[a],l=0,h=0;c==="1"?h=1:c==="2"?(l=1,h=1):c==="3"&&(l=1);let f=Math.pow(2,o-1);t1(f,i,l,h),i[0]+=f*l,i[1]+=f*h}if(r%2===1){let a=i[0];i[0]=i[1],i[1]=a}return{face:r,ij:i,level:o}}var Zf=v(Ra(),1);function e1(t){let e=t.padEnd(16,"0");return Zf.default.fromString(e,16)}var r1=100;function n1({face:t,ij:e,level:r}){let n=[[0,0],[0,1],[1,1],[1,0],[0,0]],s=Math.max(1,Math.ceil(r1*Math.pow(2,-r))),i=new Float64Array(4*s*2+2),o=0,a=0;for(let c=0;c<4;c++){let l=n[c].slice(0),h=n[c+1],f=(h[0]-l[0])/s,u=(h[1]-l[1])/s;for(let d=0;d<s;d++){l[0]+=f,l[1]+=u;let p=Gf(e,r,l),_=Kf(p),A=Jf(t,_),T=Yf(A);Math.abs(T[1])>89.999&&(T[0]=a);let x=T[0]-a;T[0]+=x>180?-360:x<-180?360:0,i[o++]=T[0],i[o++]=T[1],a=T[0]}}return i[o++]=i[0],i[o++]=i[1],i}function s1(t){if(typeof t=="string"){if(t.indexOf("/")>0)return t;t=e1(t)}return qf(t.toString())}function Qf(t){let e=s1(t),r=jf(e);return n1(r)}var i1={getS2Token:{type:"accessor",value:t=>t.token}},Ds=class extends It{indexToBounds(){let{data:e,getS2Token:r}=this.props;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(n,s)=>Qf(r(n,s))}}},dn=Ds;(()=>{Ds.layerName="S2Layer"})(),(()=>{Ds.defaultProps=i1})();var xa=512;function o1(t,e){let r=0,n=0,s=1<<t.length,i=s/xa;for(let o=0;o<t.length;o++){s>>=1;let a=parseInt(t[o]);a%2&&(r|=s),a>1&&(n|=s)}return[[r/i,xa-n/i],[(r+e)/i,xa-(n+e)/i]]}function $f(t,e=1){let[r,n]=o1(t,e),[s,i]=ae(r),[o,a]=ae(n);return[o,i,o,a,s,a,s,i,o,i]}var a1={getQuadkey:{type:"accessor",value:t=>t.quadkey}},ws=class extends It{indexToBounds(){let{data:e,extruded:r,getQuadkey:n}=this.props,s=r?.99:1;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(i,o)=>$f(n(i,o),s),updateTriggers:{getPolygon:s}}}},pn=ws;(()=>{ws.layerName="QuadkeyLayer"})(),(()=>{ws.defaultProps=a1})();var zs=v(Lt(),1),_u=v(Ut(),1);var ke=class{constructor(e){this.index=e,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}get bbox(){return this._bbox}set bbox(e){this._bbox||(this._bbox=e,"west"in e?this.boundingBox=[[e.west,e.south],[e.east,e.north]]:this.boundingBox=[[e.left,e.top],[e.right,e.bottom]])}get data(){return this.isLoading&&this._loader?this._loader.then(()=>this.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return Boolean(this._loader)&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){let e=this.content?this.content.byteLength:0;return Number.isFinite(e)||console.error("byteLength not defined in tile data"),e}async _loadData({getData:e,requestScheduler:r,onLoad:n,onError:s}){let{index:i,id:o,bbox:a,userData:c,zoom:l}=this,h=this._loaderId;this._abortController=new AbortController;let{signal:f}=this._abortController,u=await r.scheduleRequest(this,_=>_.isSelected?1:-1);if(!u){this._isCancelled=!0;return}if(this._isCancelled){u.done();return}let d=null,p;try{d=await e({index:i,id:o,bbox:a,userData:c,zoom:l,signal:f})}catch(_){p=_||!0}finally{u.done()}if(h===this._loaderId){if(this._loader=void 0,this.content=d,this._isCancelled&&!d){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,p?s(p,this):n(this)}}loadData(e){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(e),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){this.isLoaded||(this._isCancelled=!0,this._abortController?.abort())}};var _n=v(Lt(),1);var nt={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var tu=new m,c1=new m,Be=class{constructor(e=[0,0,0],r=[0,0,0],n){P(this,"center",void 0),P(this,"halfDiagonal",void 0),P(this,"minimum",void 0),P(this,"maximum",void 0),n=n||tu.copy(e).add(r).scale(.5),this.center=new m(n),this.halfDiagonal=new m(r).subtract(this.center),this.minimum=new m(e),this.maximum=new m(r)}clone(){return new Be(this.minimum,this.maximum,this.center)}equals(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){let{halfDiagonal:r}=this,n=c1.from(e.normal),s=r.x*Math.abs(n.x)+r.y*Math.abs(n.y)+r.z*Math.abs(n.z),i=this.center.dot(n)+e.distance;return i-s>0?nt.INSIDE:i+s<0?nt.OUTSIDE:nt.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=tu.from(e).subtract(this.center),{halfDiagonal:n}=this,s=0,i;return i=Math.abs(r.x)-n.x,i>0&&(s+=i*i),i=Math.abs(r.y)-n.y,i>0&&(s+=i*i),i=Math.abs(r.z)-n.z,i>0&&(s+=i*i),s}};var gn=new m,eu=new m,Ot=class{constructor(e=[0,0,0],r=0){P(this,"center",void 0),P(this,"radius",void 0),this.radius=-0,this.center=new m,this.fromCenterRadius(e,r)}fromCenterRadius(e,r){return this.center.from(e),this.radius=r,this}fromCornerPoints(e,r){return r=gn.from(r),this.center=new m().from(e).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new Ot(this.center,this.radius)}union(e){let r=this.center,n=this.radius,s=e.center,i=e.radius,o=gn.copy(s).subtract(r),a=o.magnitude();if(n>=a+i)return this.clone();if(i>=a+n)return e.clone();let c=(n+a+i)*.5;return eu.copy(o).scale((-n+c)/a).add(r),this.center.copy(eu),this.radius=c,this}expand(e){let n=gn.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);let r=Cs.getScaling(gn,e);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(e){let r=this.distanceTo(e);return r*r}distanceTo(e){let n=gn.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){let r=this.center,n=this.radius,i=e.normal.dot(r)+e.distance;return i<-n?nt.OUTSIDE:i<n?nt.INTERSECTING:nt.INSIDE}};var l1=new m,h1=new m,vs=new m,Us=new m,Ls=new m,f1=new m,u1=new m,ce={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Xt=class{constructor(e=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){P(this,"center",void 0),P(this,"halfAxes",void 0),this.center=new m().from(e),this.halfAxes=new z(r)}get halfSize(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new m(e).len(),new m(r).len(),new m(n).len()]}get quaternion(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),s=new m(e).normalize(),i=new m(r).normalize(),o=new m(n).normalize();return new Zt().fromMatrix3(new z([...s,...i,...o]))}fromCenterHalfSizeQuaternion(e,r,n){let s=new Zt(n),i=new z().fromQuaternion(s);return i[0]=i[0]*r[0],i[1]=i[1]*r[0],i[2]=i[2]*r[0],i[3]=i[3]*r[1],i[4]=i[4]*r[1],i[5]=i[5]*r[1],i[6]=i[6]*r[2],i[7]=i[7]*r[2],i[8]=i[8]*r[2],this.center=new m().from(e),this.halfAxes=i,this}clone(){return new Xt(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Ot){let r=this.halfAxes,n=r.getColumn(0,vs),s=r.getColumn(1,Us),i=r.getColumn(2,Ls),o=l1.copy(n).add(s).add(i);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){let r=this.center,n=e.normal,s=this.halfAxes,i=n.x,o=n.y,a=n.z,c=Math.abs(i*s[ce.COLUMN0ROW0]+o*s[ce.COLUMN0ROW1]+a*s[ce.COLUMN0ROW2])+Math.abs(i*s[ce.COLUMN1ROW0]+o*s[ce.COLUMN1ROW1]+a*s[ce.COLUMN1ROW2])+Math.abs(i*s[ce.COLUMN2ROW0]+o*s[ce.COLUMN2ROW1]+a*s[ce.COLUMN2ROW2]),l=n.dot(r)+e.distance;return l<=-c?nt.OUTSIDE:l>=c?nt.INSIDE:nt.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=h1.from(e).subtract(this.center),n=this.halfAxes,s=n.getColumn(0,vs),i=n.getColumn(1,Us),o=n.getColumn(2,Ls),a=s.magnitude(),c=i.magnitude(),l=o.magnitude();s.normalize(),i.normalize(),o.normalize();let h=0,f;return f=Math.abs(r.dot(s))-a,f>0&&(h+=f*f),f=Math.abs(r.dot(i))-c,f>0&&(h+=f*f),f=Math.abs(r.dot(o))-l,f>0&&(h+=f*f),h}computePlaneDistances(e,r,n=[-0,-0]){let s=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,c=a.getColumn(0,vs),l=a.getColumn(1,Us),h=a.getColumn(2,Ls),f=f1.copy(c).add(l).add(h).add(o),u=u1.copy(f).subtract(e),d=r.dot(u);return s=Math.min(d,s),i=Math.max(d,i),f.copy(o).add(c).add(l).subtract(h),u.copy(f).subtract(e),d=r.dot(u),s=Math.min(d,s),i=Math.max(d,i),f.copy(o).add(c).subtract(l).add(h),u.copy(f).subtract(e),d=r.dot(u),s=Math.min(d,s),i=Math.max(d,i),f.copy(o).add(c).subtract(l).subtract(h),u.copy(f).subtract(e),d=r.dot(u),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).add(l).add(h),u.copy(f).subtract(e),d=r.dot(u),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).add(l).subtract(h),u.copy(f).subtract(e),d=r.dot(u),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).subtract(l).add(h),u.copy(f).subtract(e),d=r.dot(u),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).subtract(l).subtract(h),u.copy(f).subtract(e),d=r.dot(u),s=Math.min(d,s),i=Math.max(d,i),n[0]=s,n[1]=i,n}transform(e){this.center.transformAsPoint(e);let r=this.halfAxes.getColumn(0,vs);r.transformAsPoint(e);let n=this.halfAxes.getColumn(1,Us);n.transformAsPoint(e);let s=this.halfAxes.getColumn(2,Ls);return s.transformAsPoint(e),this.halfAxes=new z([...r,...n,...s]),this}getTransform(){throw new Error("not implemented")}};var ru=new m,nu=new m,lt=class{constructor(e=[0,0,1],r=0){P(this,"normal",void 0),P(this,"distance",void 0),this.normal=new m,this.distance=-0,this.fromNormalDistance(e,r)}fromNormalDistance(e,r){return ct(Number.isFinite(r)),this.normal.from(e).normalize(),this.distance=r,this}fromPointNormal(e,r){e=ru.from(e),this.normal.from(r).normalize();let n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,r,n,s){return this.normal.set(e,r,n),ct(At(this.normal.len(),1)),this.distance=s,this}clone(){return new lt(this.normal,this.distance)}equals(e){return At(this.distance,e.distance)&&At(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){let r=nu.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,r)}projectPointOntoPlane(e,r=[0,0,0]){let n=ru.from(e),s=this.getPointDistance(n),i=nu.copy(this.normal).scale(s);return n.subtract(i).to(r)}};var su=[new m([1,0,0]),new m([0,1,0]),new m([0,0,1])],iu=new m,d1=new m,ot=class{constructor(e=[]){P(this,"planes",void 0),this.planes=e}fromBoundingSphere(e){this.planes.length=2*su.length;let r=e.center,n=e.radius,s=0;for(let i of su){let o=this.planes[s],a=this.planes[s+1];o||(o=this.planes[s]=new lt),a||(a=this.planes[s+1]=new lt);let c=iu.copy(i).scale(-n).add(r);o.fromPointNormal(c,i);let l=iu.copy(i).scale(n).add(r),h=d1.copy(i).negate();a.fromPointNormal(l,h),s+=2}return this}computeVisibility(e){let r=nt.INSIDE;for(let n of this.planes)switch(e.intersectPlane(n)){case nt.OUTSIDE:return nt.OUTSIDE;case nt.INTERSECTING:r=nt.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(e,r){if(ct(Number.isFinite(r),"parentPlaneMask is required."),r===ot.MASK_OUTSIDE||r===ot.MASK_INSIDE)return r;let n=ot.MASK_INSIDE,s=this.planes;for(let i=0;i<this.planes.length;++i){let o=i<31?1<<i:0;if(i<31&&!(r&o))continue;let a=s[i],c=e.intersectPlane(a);if(c===nt.OUTSIDE)return ot.MASK_OUTSIDE;c===nt.INTERSECTING&&(n|=o)}return n}};P(ot,"MASK_OUTSIDE",4294967295);P(ot,"MASK_INSIDE",0);P(ot,"MASK_INDETERMINATE",2147483647);var p2=new m,g2=new m,A2=new m,_2=new m,m2=new m;var B2=new m,M2=new m,y2=new m,I2=new m,F2=new m,N2=new m,O2=new m,b2=new m,P2=new m,D2=new m,w2=new m,v2=new m;var Qt=new z,g1=new z,A1=new z,Hs=new z,ou=new z;function Ba(t,e={}){let r=Ht.EPSILON20,n=10,s=0,i=0,o=g1,a=A1;o.identity(),a.copy(t);let c=r*_1(a);for(;i<n&&m1(a)>c;)T1(a,Hs),ou.copy(Hs).transpose(),a.multiplyRight(Hs),a.multiplyLeft(ou),o.multiplyRight(Hs),++s>2&&(++i,s=0);return e.unitary=o.toTarget(e.unitary),e.diagonal=a.toTarget(e.diagonal),e}function _1(t){let e=0;for(let r=0;r<9;++r){let n=t[r];e+=n*n}return Math.sqrt(e)}var Sa=[1,0,0],Ca=[2,2,1];function m1(t){let e=0;for(let r=0;r<3;++r){let n=t[Qt.getElementIndex(Ca[r],Sa[r])];e+=2*n*n}return Math.sqrt(e)}function T1(t,e){let r=Ht.EPSILON15,n=0,s=1;for(let l=0;l<3;++l){let h=Math.abs(t[Qt.getElementIndex(Ca[l],Sa[l])]);h>n&&(s=l,n=h)}let i=Sa[s],o=Ca[s],a=1,c=0;if(Math.abs(t[Qt.getElementIndex(o,i)])>r){let l=t[Qt.getElementIndex(o,o)],h=t[Qt.getElementIndex(i,i)],f=t[Qt.getElementIndex(o,i)],u=(l-h)/2/f,d;u<0?d=-1/(-u+Math.sqrt(1+u*u)):d=1/(u+Math.sqrt(1+u*u)),a=1/Math.sqrt(1+d*d),c=d*a}return z.IDENTITY.to(e),e[Qt.getElementIndex(i,i)]=e[Qt.getElementIndex(o,o)]=a,e[Qt.getElementIndex(o,i)]=c,e[Qt.getElementIndex(i,o)]=-c,e}var Me=new m,E1=new m,R1=new m,x1=new m,S1=new m,C1=new z,B1={diagonal:new z,unitary:new z};function An(t,e=new Xt){if(!t||t.length===0)return e.halfAxes=new z([0,0,0,0,0,0,0,0,0]),e.center=new m,e;let r=t.length,n=new m(0,0,0);for(let E of t)n.add(E);let s=1/r;n.multiplyByScalar(s);let i=0,o=0,a=0,c=0,l=0,h=0;for(let E of t){let g=Me.copy(E).subtract(n);i+=g.x*g.x,o+=g.x*g.y,a+=g.x*g.z,c+=g.y*g.y,l+=g.y*g.z,h+=g.z*g.z}i*=s,o*=s,a*=s,c*=s,l*=s,h*=s;let f=C1;f[0]=i,f[1]=o,f[2]=a,f[3]=o,f[4]=c,f[5]=l,f[6]=a,f[7]=l,f[8]=h;let{unitary:u}=Ba(f,B1),d=e.halfAxes.copy(u),p=d.getColumn(0,R1),_=d.getColumn(1,x1),A=d.getColumn(2,S1),T=-Number.MAX_VALUE,x=-Number.MAX_VALUE,R=-Number.MAX_VALUE,S=Number.MAX_VALUE,B=Number.MAX_VALUE,M=Number.MAX_VALUE;for(let E of t)Me.copy(E),T=Math.max(Me.dot(p),T),x=Math.max(Me.dot(_),x),R=Math.max(Me.dot(A),R),S=Math.min(Me.dot(p),S),B=Math.min(Me.dot(_),B),M=Math.min(Me.dot(A),M);p=p.multiplyByScalar(.5*(S+T)),_=_.multiplyByScalar(.5*(B+x)),A=A.multiplyByScalar(.5*(M+R)),e.center.copy(p).add(_).add(A);let F=E1.set(T-S,x-B,R-M).multiplyByScalar(.5),C=new z([F[0],0,0,0,F[1],0,0,0,F[2]]);return e.halfAxes.multiplyRight(C),e}var Er=512,au=3,cu=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],lu=cu.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),M1=lu.concat([[.25,.5],[.75,.5]]),ye=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}get children(){if(!this._children){let e=this.x*2,r=this.y*2,n=this.z+1;this._children=[new ye(e,r,n),new ye(e,r+1,n),new ye(e+1,r,n),new ye(e+1,r+1,n)]}return this._children}update(e){let{viewport:r,cullingVolume:n,elevationBounds:s,minZ:i,maxZ:o,bounds:a,offset:c,project:l}=e,h=this.getBoundingVolume(s,c,l);if(a&&!this.insideBounds(a)||n.computeVisibility(h)<0)return!1;if(!this.childVisible){let{z:u}=this;if(u<o&&u>=i){let d=h.distanceTo(r.cameraPosition)*r.scale/r.height;u+=Math.floor(Math.log2(d))}if(u>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(let u of this.children)u.update(e);return!0}getSelected(e=[]){if(this.selected&&e.push(this),this._children)for(let r of this._children)r.getSelected(e);return e}insideBounds([e,r,n,s]){let i=Math.pow(2,this.z),o=Er/i;return this.x*o<n&&this.y*o<s&&(this.x+1)*o>e&&(this.y+1)*o>r}getBoundingVolume(e,r,n){if(n){let c=this.z<1?M1:this.z<2?lu:cu,l=[];for(let h of c){let f=Vs(this.x+h[0],this.y+h[1],this.z);f[2]=e[0],l.push(n(f)),e[0]!==e[1]&&(f[2]=e[1],l.push(n(f)))}return An(l)}let s=Math.pow(2,this.z),i=Er/s,o=this.x*i+r*Er,a=Er-(this.y+1)*i;return new Be([o,a,e[0]],[o+i,a+i,e[1]])}};function hu(t,e,r,n){let s=t instanceof _n._GlobeViewport&&t.resolution?t.projectPosition:null,i=Object.values(t.getFrustumPlanes()).map(({normal:d,distance:p})=>new lt(d.clone().negate(),p)),o=new ot(i),a=t.distanceScales.unitsPerMeter[2],c=r&&r[0]*a||0,l=r&&r[1]*a||0,h=t instanceof _n.WebMercatorViewport&&t.pitch<=60?e:0;if(n){let[d,p,_,A]=n,T=oe([d,A]),x=oe([_,p]);n=[T[0],Er-T[1],x[0],Er-x[1]]}let f=new ye(0,0,0),u={viewport:t,project:s,cullingVolume:o,elevationBounds:[c,l],minZ:h,maxZ:e,bounds:n,offset:0};if(f.update(u),t instanceof _n.WebMercatorViewport&&t.subViewports&&t.subViewports.length>1){for(u.offset=-1;f.update(u)&&!(--u.offset<-au););for(u.offset=1;f.update(u)&&!(++u.offset>au););}return f.getSelected()}var le=512,y1=[-1/0,-1/0,1/0,1/0],Ie={type:"object",value:null,validate:(t,e)=>e.optional&&t===null||typeof t=="string"||Array.isArray(t)&&t.every(r=>typeof r=="string"),equal:(t,e)=>{if(t===e)return!0;if(!Array.isArray(t)||!Array.isArray(e))return!1;let r=t.length;if(r!==e.length)return!1;for(let n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}};function uu(t,e){let r=[e.transformAsPoint([t[0],t[1]]),e.transformAsPoint([t[2],t[1]]),e.transformAsPoint([t[0],t[3]]),e.transformAsPoint([t[2],t[3]])];return[Math.min(...r.map(s=>s[0])),Math.min(...r.map(s=>s[1])),Math.max(...r.map(s=>s[0])),Math.max(...r.map(s=>s[1]))]}function I1(t){return Math.abs(t.split("").reduce((e,r)=>(e<<5)-e+r.charCodeAt(0)|0,0))}function $t(t,e){if(!t||!t.length)return null;let{index:r,id:n}=e;if(Array.isArray(t)){let i=I1(n)%t.length;t=t[i]}let s=t;for(let i of Object.keys(r)){let o=new RegExp(`{${i}}`,"g");s=s.replace(o,String(r[i]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(s=s.replace(/\{-y\}/g,String(Math.pow(2,r.z)-r.y-1))),s}function F1(t,e,r){let n;if(e&&e.length===2){let[s,i]=e,o=t.getBounds({z:s}),a=t.getBounds({z:i});n=[Math.min(o[0],a[0]),Math.min(o[1],a[1]),Math.max(o[2],a[2]),Math.max(o[3],a[3])]}else n=t.getBounds();return t.isGeospatial?[Math.max(n[0],r[0]),Math.max(n[1],r[1]),Math.min(n[2],r[2]),Math.min(n[3],r[3])]:[Math.max(Math.min(n[0],r[2]),r[0]),Math.max(Math.min(n[1],r[3]),r[1]),Math.min(Math.max(n[2],r[0]),r[2]),Math.min(Math.max(n[3],r[1]),r[3])]}function du({viewport:t,z:e,cullRect:r}){return(t.subViewports||[t]).map(s=>Ma(s,e||0,r))}function Ma(t,e,r){if(!Array.isArray(e)){let i=r.x-t.x,o=r.y-t.y,{width:a,height:c}=r,l={targetZ:e},h=t.unproject([i,o],l),f=t.unproject([i+a,o],l),u=t.unproject([i,o+c],l),d=t.unproject([i+a,o+c],l);return[Math.min(h[0],f[0],u[0],d[0]),Math.min(h[1],f[1],u[1],d[1]),Math.max(h[0],f[0],u[0],d[0]),Math.max(h[1],f[1],u[1],d[1])]}let n=Ma(t,e[0],r),s=Ma(t,e[1],r);return[Math.min(n[0],s[0]),Math.min(n[1],s[1]),Math.max(n[2],s[2]),Math.max(n[3],s[3])]}function N1(t,e,r){return r?uu(t,r).map(s=>s*e/le):t.map(n=>n*e/le)}function ya(t,e){return Math.pow(2,t)*le/e}function Vs(t,e,r){let n=ya(r,le),s=t/n*360-180,i=Math.PI-2*Math.PI*e/n,o=180/Math.PI*Math.atan(.5*(Math.exp(i)-Math.exp(-i)));return[s,o]}function fu(t,e,r,n){let s=ya(r,n);return[t/s*le,e/s*le]}function Ia(t,e,r,n,s=le){if(t.isGeospatial){let[l,h]=Vs(e,r,n),[f,u]=Vs(e+1,r+1,n);return{west:l,north:h,east:f,south:u}}let[i,o]=fu(e,r,n,s),[a,c]=fu(e+1,r+1,n,s);return{left:i,top:o,right:a,bottom:c}}function O1(t,e,r,n,s){let i=F1(t,null,n),o=ya(e,r),[a,c,l,h]=N1(i,o,s),f=[];for(let u=Math.floor(a);u<l;u++)for(let d=Math.floor(c);d<h;d++)f.push({x:u,y:d,z:e});return f}function Fa({viewport:t,maxZoom:e,minZoom:r,zRange:n,extent:s,tileSize:i=le,modelMatrix:o,modelMatrixInverse:a,zoomOffset:c=0}){let l=t.isGeospatial?Math.round(t.zoom+Math.log2(le/i))+c:Math.ceil(t.zoom)+c;if(typeof r=="number"&&Number.isFinite(r)&&l<r){if(!s)return[];l=r}typeof e=="number"&&Number.isFinite(e)&&l>e&&(l=e);let h=s;return o&&a&&s&&!t.isGeospatial&&(h=uu(s,o)),t.isGeospatial?hu(t,l,n,s):O1(t,l,i,h||y1,a)}function Na(t){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(t)}function Oa(t){return Number.isFinite(t.west)&&Number.isFinite(t.north)&&Number.isFinite(t.east)&&Number.isFinite(t.south)}function pu(t){let e={},r;return n=>{for(let s in n)if(!b1(n[s],e[s])){r=t(n),e=n;break}return r}}function b1(t,e){if(t===e)return!0;if(Array.isArray(t)){let r=t.length;if(!e||e.length!==r)return!1;for(let n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}return!1}var gu=1,Xs=2,P1="never",D1="no-overlap",mn="best-available",w1=5,v1={[mn]:L1,[D1]:H1,[P1]:()=>{}},U1={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}},Ge=class{constructor(e){this._getCullBounds=pu(du),this.opts={...U1,...e},this.onTileLoad=r=>{this.opts.onTileLoad?.(r),this.opts.maxCacheByteSize&&(this._cacheByteSize+=r.byteLength,this._resizeCache())},this._requestScheduler=new me({maxRequests:e.maxRequests,throttleRequests:Boolean(e.maxRequests&&e.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._zRange=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new D,this._modelMatrixInverse=new D,this.setOptions(e)}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(e=>e.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(e=>e.needsReload)}setOptions(e){Object.assign(this.opts,e),Number.isFinite(e.maxZoom)&&(this._maxZoom=Math.floor(e.maxZoom)),Number.isFinite(e.minZoom)&&(this._minZoom=Math.ceil(e.minZoom))}finalize(){for(let e of this._cache.values())e.isLoading&&e.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(let e of this._cache.keys()){let r=this._cache.get(e);!this._selectedTiles||!this._selectedTiles.includes(r)?this._cache.delete(e):r.setNeedsReload()}}update(e,{zRange:r,modelMatrix:n}={zRange:null,modelMatrix:null}){let s=n?new D(n):new D,i=!s.equals(this._modelMatrix);if(!this._viewport||!e.equals(this._viewport)||!At(this._zRange,r)||i){i&&(this._modelMatrixInverse=s.clone().invert(),this._modelMatrix=s),this._viewport=e,this._zRange=r;let a=this.getTileIndices({viewport:e,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=a.map(c=>this._getTile(c,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(a=>this._getTile(a.index,!0)));let o=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),o&&this._frameNumber++,this._frameNumber}isTileVisible(e,r){if(!e.isVisible)return!1;if(r&&this._viewport){let n=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:r}),{bbox:s}=e;for(let[i,o,a,c]of n){let l;if("west"in s)l=s.west<a&&s.east>i&&s.south<c&&s.north>o;else{let h=Math.min(s.top,s.bottom),f=Math.max(s.top,s.bottom);l=s.left<a&&s.right>i&&h<c&&f>o}if(l)return!0}return!1}return!0}getTileIndices({viewport:e,maxZoom:r,minZoom:n,zRange:s,modelMatrix:i,modelMatrixInverse:o}){let{tileSize:a,extent:c,zoomOffset:l}=this.opts;return Fa({viewport:e,maxZoom:r,minZoom:n,zRange:s,tileSize:a,extent:c,modelMatrix:i,modelMatrixInverse:o,zoomOffset:l})}getTileId(e){return`${e.x}-${e.y}-${e.z}`}getTileZoom(e){return e.z}getTileMetadata(e){let{tileSize:r}=this.opts;return{bbox:Ia(this._viewport,e.x,e.y,e.z,r)}}getParentIndex(e){let r=Math.floor(e.x/2),n=Math.floor(e.y/2),s=e.z-1;return{x:r,y:n,z:s}}updateTileStates(){let e=this.opts.refinementStrategy||mn,r=new Array(this._cache.size),n=0;for(let s of this._cache.values())r[n++]=s.isVisible,s.isSelected=!1,s.isVisible=!1;for(let s of this._selectedTiles)s.isSelected=!0,s.isVisible=!0;(typeof e=="function"?e:v1[e])(Array.from(this._cache.values())),n=0;for(let s of this._cache.values())if(r[n++]!==s.isVisible)return!0;return!1}_pruneRequests(){let{maxRequests:e=0}=this.opts,r=[],n=0;for(let s of this._cache.values())s.isLoading&&(n++,!s.isSelected&&!s.isVisible&&r.push(s));for(;e>0&&n>e&&r.length>0;)r.shift().abort(),n--}_rebuildTree(){let{_cache:e}=this;for(let r of e.values())r.parent=null,r.children&&(r.children.length=0);for(let r of e.values()){let n=this._getNearestAncestor(r);r.parent=n,n?.children&&n.children.push(r)}}_resizeCache(){let{_cache:e,opts:r}=this,n=r.maxCacheSize||(r.maxCacheByteSize?1/0:w1*this.selectedTiles.length),s=r.maxCacheByteSize||1/0;if(e.size>n||this._cacheByteSize>s){for(let[o,a]of e)if(!a.isVisible&&!a.isSelected&&(this._cacheByteSize-=r.maxCacheByteSize?a.byteLength:0,e.delete(o),this.opts.onTileUnload?.(a)),e.size<=n&&this._cacheByteSize<=s)break;this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((o,a)=>o.zoom-a.zoom),this._dirty=!1)}_getTile(e,r){let n=this.getTileId(e),s=this._cache.get(n),i=!1;return!s&&r?(s=new ke(e),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:n,zoom:this.getTileZoom(s.index)}),i=!0,this._cache.set(n,s),this._dirty=!0):s&&s.needsReload&&(i=!0),s&&i&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s}_getNearestAncestor(e){let{_minZoom:r=0}=this,n=e.index;for(;this.getTileZoom(n)>r;){n=this.getParentIndex(n);let s=this._getTile(n);if(s)return s}return null}};function L1(t){for(let e of t)e.state=0;for(let e of t)e.isSelected&&!Au(e)&&ba(e);for(let e of t)e.isVisible=Boolean(e.state&Xs)}function H1(t){for(let r of t)r.state=0;for(let r of t)r.isSelected&&Au(r);let e=Array.from(t).sort((r,n)=>r.zoom-n.zoom);for(let r of e)if(r.isVisible=Boolean(r.state&Xs),r.children&&(r.isVisible||r.state&gu))for(let n of r.children)n.state=gu;else r.isSelected&&ba(r)}function Au(t){let e=t;for(;e;){if(e.isLoaded||e.content)return e.state|=Xs,!0;e=e.parent}return!1}function ba(t){for(let e of t.children)e.isLoaded||e.content?e.state|=Xs:ba(e)}var V1={TilesetClass:Ge,data:{type:"data",value:[]},dataComparator:Ie.equal,renderSubLayers:{type:"function",value:t=>new _u.GeoJsonLayer(t)},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:t=>{}},onTileUnload:{type:"function",value:t=>{}},onTileError:{type:"function",value:t=>console.error(t)},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:mn,zRange:null,maxRequests:6,zoomOffset:0},Ws=class extends zs.CompositeLayer{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){this.state?.tileset?.finalize()}get isLoaded(){return Boolean(this.state?.tileset?.selectedTiles?.every(e=>e.isLoaded&&e.layers&&e.layers.every(r=>r.isLoaded)))}shouldUpdateState({changeFlags:e}){return e.somethingChanged}updateState({changeFlags:e}){let{tileset:r}=this.state,n=e.propsOrDataChanged||e.updateTriggersChanged,s=e.dataChanged||e.updateTriggersChanged&&(e.updateTriggersChanged.all||e.updateTriggersChanged.getTileData);r?n&&(r.setOptions(this._getTilesetOptions()),s?r.reloadAll():r.tiles.forEach(i=>{i.layers=null})):(r=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:r})),this._updateTileset()}_getTilesetOptions(){let{tileSize:e,maxCacheSize:r,maxCacheByteSize:n,refinementStrategy:s,extent:i,maxZoom:o,minZoom:a,maxRequests:c,zoomOffset:l}=this.props;return{maxCacheSize:r,maxCacheByteSize:n,maxZoom:o,minZoom:a,tileSize:e,refinementStrategy:s,extent:i,maxRequests:c,zoomOffset:l,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){let e=this.state.tileset,{zRange:r,modelMatrix:n}=this.props,s=e.update(this.context.viewport,{zRange:r,modelMatrix:n}),{isLoaded:i}=e,o=this.state.isLoaded!==i,a=this.state.frameNumber!==s;i&&(o||a)&&this._onViewportLoad(),a&&this.setState({frameNumber:s}),this.state.isLoaded=i}_onViewportLoad(){let{tileset:e}=this.state,{onViewportLoad:r}=this.props;r&&r(e.selectedTiles)}_onTileLoad(e){this.props.onTileLoad(e),e.layers=null,this.setNeedsUpdate()}_onTileError(e,r){this.props.onTileError(e),r.layers=null,this.setNeedsUpdate()}_onTileUnload(e){this.props.onTileUnload(e)}getTileData(e){let{data:r,getTileData:n,fetch:s}=this.props,{signal:i}=e;return e.url=typeof r=="string"||Array.isArray(r)?$t(r,e):null,n?n(e):s&&e.url?s(e.url,{propName:"data",layer:this,signal:i}):null}renderSubLayers(e){return this.props.renderSubLayers(e)}getSubLayerPropsByTile(e){return null}getPickingInfo({info:e,sourceLayer:r}){let n=r.props.tile;return e.picked&&(e.tile=n),e.sourceTile=n,e}_updateAutoHighlight(e){let r=e.sourceTile;if(r&&r.layers)for(let n of r.layers)n.updateAutoHighlight(e)}renderLayers(){return this.state.tileset.tiles.map(e=>{let r=this.getSubLayerPropsByTile(e);if(!(!e.isLoaded&&!e.content))if(e.layers)r&&e.layers[0]&&Object.keys(r).some(n=>e.layers[0].props[n]!==r[n])&&(e.layers=e.layers.map(n=>n.clone(r)));else{let n=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:e.id,updateTriggers:this.props.updateTriggers}),data:e.content,_offset:0,tile:e});e.layers=(0,zs._flatten)(n,Boolean).map(s=>s.clone({tile:e,...r}))}return e.layers})}filterSubLayer({layer:e,cullRect:r}){let{tile:n}=e.props;return this.state.tileset.isTileVisible(n,r)}},te=Ws;(()=>{Ws.defaultProps=V1})(),(()=>{Ws.layerName="TileLayer"})();var mu=v(Ut(),1),X1={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:t=>t.timestamps}},ks=class extends mu.PathLayer{getShaders(){let e=super.getShaders();return e.inject={"vs:#decl":`uniform float trailLength;
24
14
  in float instanceTimestamps;
25
15
  in float instanceNextTimestamps;
26
16
  out float vTime;
@@ -35,137 +25,7 @@ in float vTime;
35
25
  `,"fs:DECKGL_FILTER_COLOR":`if(fadeTrail) {
36
26
  color.a *= 1.0 - (currentTime - vTime) / trailLength;
37
27
  }
38
- `},o},n.initializeState=function(){Hr(Gt(r.prototype),"initializeState",this).call(this);var o=this.getAttributeManager();o.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})},n.draw=function(o){var s=this.props,a=s.fadeTrail,c=s.trailLength,u=s.currentTime;o.uniforms=fp(fp({},o.uniforms),{},{fadeTrail:a,trailLength:c,currentTime:u}),Hr(Gt(r.prototype),"draw",this).call(this,o)},r}(hp.PathLayer);Io.layerName="TripsLayer";Io.defaultProps=xE;var Sp=P(Oo()),Bp=P(ze());var Fe=P(Oo()),Fo=P(ze()),Jn=P(Ve());var jn=P(Oo());function mp(t,e){return EE(t)||bE(t,e)||yp(t,e)||TE()}function TE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
39
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function EE(t){if(Array.isArray(t))return t}function gp(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=yp(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function yp(t,e){if(t){if(typeof t=="string")return pp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return pp(t,e)}}function pp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Ro(t,e){e=e===void 0?t[0][0]:e;var r=gp(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value,o=i[0]-e;o>180?i[0]-=360:o<-180&&(i[0]+=360)}}catch(s){r.e(s)}finally{r.f()}}function SE(t,e,r){var n=(0,jn.cellToLatLng)(t),i=mp(n,2),o=i[0],s=i[1],a=e.length;Ro(e,s);for(var c=e[0]===e[a-1]?a-1:a,u=0;u<c;u++)e[u][0]=Rt(s,e[u][0],r),e[u][1]=Rt(o,e[u][1],r)}function Ap(t,e,r){var n=t(e,r),i=(0,jn.cellToLatLng)(n),o=mp(i,2),s=o[0],a=o[1];return[a,s]}function Hc(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=(0,jn.cellToBoundary)(t,!0);return e!==1?SE(t,r,e):Ro(r),r}function _p(t){var e=new Float64Array(t.length*2),r=0,n=gp(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;e[r++]=o[0],e[r++]=o[1]}}catch(s){n.e(s)}finally{n.f()}return e}function vp(t,e){return ME(t)||CE(t,e)||bp(t,e)||BE()}function BE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
41
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function ME(t){if(Array.isArray(t))return t}function wE(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=bp(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
42
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function bp(t,e){if(t){if(typeof t=="string")return xp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xp(t,e)}}function xp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function IE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function OE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Vc(t,e)}function Vc(t,e){return Vc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Vc(t,e)}function RE(t){var e=FE();return function(){var n=Lo(t),i;if(e){var o=Lo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return LE(this,i)}}function LE(t,e){if(e&&(kn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return PE(t)}function PE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function FE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Lo(t){return Lo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Lo(t)}function Tp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Po(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Tp(Object(r),!0).forEach(function(n){DE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Tp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function DE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function kn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?kn=function(r){return typeof r}:kn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},kn(t)}var NE=10;function UE(t,e){var r;return t==null?r=e:kn(t)==="object"?r=Po(Po({},t),{},{coverage:e}):r={getHexagon:t,coverage:e},r}var GE=Po(Po({},Jn.PolygonLayer.defaultProps),{},{highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:function(e){return e.hexagon}},extruded:!0}),ur=function(t){OE(r,t);var e=RE(r);function r(){var i;IE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){r._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}},n.shouldUpdateState=function(o){var s=o.changeFlags;return this._shouldUseHighPrecision()?s.propsOrDataChanged:s.somethingChanged},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(s.highPrecision!==!0&&(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagon)){var c=this._calculateH3DataProps();this.setState(c)}this._updateVertices(this.context.viewport)},n._calculateH3DataProps=function(){var o=-1,s=!1,a=!1,c=(0,Fo.createIterable)(this.props.data),u=c.iterable,l=c.objectInfo,f=wE(u),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;l.index++;var p=this.props.getHexagon(d,l),g=(0,Fe.getResolution)(p);if(o<0){if(o=g,!this.props.highPrecision)break}else if(o!==g){a=!0;break}if((0,Fe.isPentagon)(p)){s=!0;break}}}catch(m){f.e(m)}finally{f.f()}return{resolution:o,edgeLengthKM:o>=0?(0,Fe.getHexagonEdgeLengthAvg)(o,"km"):0,hasMultipleRes:a,hasPentagon:s}},n._shouldUseHighPrecision=function(){if(this.props.highPrecision==="auto"){var o=this.state,s=o.resolution,a=o.hasPentagon,c=o.hasMultipleRes,u=this.context.viewport;return Boolean(u?.resolution)||c||a||s>=0&&s<=5}return this.props.highPrecision},n._updateVertices=function(o){if(!this._shouldUseHighPrecision()){var s=this.state,a=s.resolution,c=s.edgeLengthKM,u=s.centerHex;if(!(a<0)){var l=this.props.centerHexagon||(0,Fe.latLngToCell)(o.latitude,o.longitude,a);if(u!==l){if(u)try{var f=(0,Fe.gridDistance)(u,l);if(f*c<NE)return}catch{}var h=o.distanceScales.unitsPerMeter,d=Hc(l),p=(0,Fe.cellToLatLng)(l),g=vp(p,2),m=g[0],A=g[1],_=o.projectFlat([A,m]),v=vp(_,2),x=v[0],B=v[1];d=d.map(function(S){var C=o.projectFlat(S);return[(C[0]-x)/h[0],(C[1]-B)/h[1]]}),this.setState({centerHex:l,vertices:d})}}}},n.renderLayers=function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()},n._getForwardProps=function(){var o=this.props,s=o.elevationScale,a=o.material,c=o.coverage,u=o.extruded,l=o.wireframe,f=o.stroked,h=o.filled,d=o.lineWidthUnits,p=o.lineWidthScale,g=o.lineWidthMinPixels,m=o.lineWidthMaxPixels,A=o.getFillColor,_=o.getElevation,v=o.getLineColor,x=o.getLineWidth,B=o.transitions,S=o.updateTriggers;return{elevationScale:s,extruded:u,coverage:c,wireframe:l,stroked:f,filled:h,lineWidthUnits:d,lineWidthScale:p,lineWidthMinPixels:g,lineWidthMaxPixels:m,material:a,getElevation:_,getFillColor:A,getLineColor:v,getLineWidth:x,transitions:B,updateTriggers:{getFillColor:S.getFillColor,getElevation:S.getElevation,getLineColor:S.getLineColor,getLineWidth:S.getLineWidth}}},n._renderPolygonLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,u=o.coverage,l=this.getSubLayerClass("hexagon-cell-hifi",Jn.PolygonLayer),f=this._getForwardProps();return f.updateTriggers.getPolygon=UE(c.getHexagon,u),new l(f,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:f.updateTriggers}),{data:s,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(d,p){var g=a(d,p);return _p(Hc(g,u))}})},n._renderColumnLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,u=this.getSubLayerClass("hexagon-cell",Jn.ColumnLayer),l=this._getForwardProps();return l.updateTriggers.getPosition=c.getHexagon,new u(l,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:l.updateTriggers}),{data:s,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Ap.bind(null,a)})},r}(Fo.CompositeLayer);ur.defaultProps=GE;ur.layerName="H3HexagonLayer";ur._checkH3Lib=function(){};function Do(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Do=function(r){return typeof r}:Do=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Do(t)}function zc(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=HE(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
43
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function HE(t,e){if(t){if(typeof t=="string")return Ep(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ep(t,e)}}function Ep(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function VE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function zE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&jc(t,e)}function jc(t,e){return jc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},jc(t,e)}function jE(t){var e=qE();return function(){var n=No(t),i;if(e){var o=No(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return kE(this,i)}}function kE(t,e){if(e&&(Do(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return JE(t)}function JE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function qE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function No(t){return No=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},No(t)}var WE={getHexagons:{type:"accessor",value:function(e){return e.hexagons}}},Uo=function(t){zE(r,t);var e=jE(r);function r(){var i;VE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){ur._checkH3Lib()},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagons){var c=s.data,u=s.getHexagons,l=[],f=(0,Bp.createIterable)(c),h=f.iterable,d=f.objectInfo,p=zc(h),g;try{for(p.s();!(g=p.n()).done;){var m=g.value;d.index++;var A=u(m,d),_=(0,Sp.cellsToMultiPolygon)(A,!0),v=zc(_),x;try{for(v.s();!(x=v.n()).done;){var B=x.value,S=zc(B),C;try{for(S.s();!(C=S.n()).done;){var E=C.value;Ro(E)}}catch(b){S.e(b)}finally{S.f()}l.push(this.getSubLayerRow({polygon:B},m,d.index))}}catch(b){v.e(b)}finally{v.f()}}}catch(b){p.e(b)}finally{p.f()}this.setState({polygons:l})}},n.indexToBounds=function(){var o=this.props,s=o.getElevation,a=o.getFillColor,c=o.getLineColor,u=o.getLineWidth;return{data:this.state.polygons,getPolygon:function(f){return f.polygon},getElevation:this.getSubLayerAccessor(s),getFillColor:this.getSubLayerAccessor(a),getLineColor:this.getSubLayerAccessor(c),getLineWidth:this.getSubLayerAccessor(u)}},r}(Le);Uo.layerName="H3ClusterLayer";Uo.defaultProps=WE;var zt=P(_t(),1),ie=P(_t(),1),am=P(_t(),1);var ne=t=>`${t}`;function st(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}var kc={number:{type:"number",validate(t,e){return Number.isFinite(t)&&typeof e=="object"&&(e.max===void 0||t<=e.max)&&(e.min===void 0||t>=e.min)}},array:{type:"array",validate(t,e){return Array.isArray(t)||ArrayBuffer.isView(t)}}};function wp(t){let e={};for(let[r,n]of Object.entries(t))e[r]=XE(n);return e}function Ip(t,e,r){let n={};for(let[i,o]of Object.entries(e))t&&i in t&&!o.private?(o.validate&&st(o.validate(t[i],o),`${r}: invalid ${i}`),n[i]=t[i]):n[i]=o.value;return n}function XE(t){let e=Mp(t);if(e!=="object")return{value:t,...kc[e],type:e};if(typeof t=="object")return t?t.type!==void 0?{...t,...kc[t.type],type:t.type}:t.value===void 0?{type:"object",value:t}:(e=Mp(t.value),{...t,...kc[e],type:e}):{type:"object",value:null};throw new Error("props")}function Mp(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}var Op=ne`\
44
- #ifdef MODULE_LOGDEPTH
45
- logdepth_adjustPosition(gl_Position);
46
- #endif
47
- `,Rp=ne`\
48
- #ifdef MODULE_MATERIAL
49
- gl_FragColor = material_filterColor(gl_FragColor);
50
- #endif
51
-
52
- #ifdef MODULE_LIGHTING
53
- gl_FragColor = lighting_filterColor(gl_FragColor);
54
- #endif
55
-
56
- #ifdef MODULE_FOG
57
- gl_FragColor = fog_filterColor(gl_FragColor);
58
- #endif
59
-
60
- #ifdef MODULE_PICKING
61
- gl_FragColor = picking_filterHighlightColor(gl_FragColor);
62
- gl_FragColor = picking_filterPickingColor(gl_FragColor);
63
- #endif
64
-
65
- #ifdef MODULE_LOGDEPTH
66
- logdepth_setFragDepth();
67
- #endif
68
- `;var KE={vertex:Op,fragment:Rp},Lp=/void\s+main\s*\([^)]*\)\s*\{\n?/,Pp=/}\n?[^{}]*$/,Jc=[],qn="__LUMA_INJECT_DECLARATIONS__";function Fp(t){let e={vertex:{},fragment:{}};for(let r in t){let n=t[r],i=YE(r);typeof n=="string"&&(n={order:0,injection:n}),e[i][r]=n}return e}function YE(t){let e=t.slice(0,2);switch(e){case"vs":return"vertex";case"fs":return"fragment";default:throw new Error(e)}}function Wn(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=e==="vertex";for(let o in r){let s=r[o];s.sort((c,u)=>c.order-u.order),Jc.length=s.length;for(let c=0,u=s.length;c<u;++c)Jc[c]=s[c].injection;let a=`${Jc.join(`
69
- `)}
70
- `;switch(o){case"vs:#decl":i&&(t=t.replace(qn,a));break;case"vs:#main-start":i&&(t=t.replace(Lp,c=>c+a));break;case"vs:#main-end":i&&(t=t.replace(Pp,c=>a+c));break;case"fs:#decl":i||(t=t.replace(qn,a));break;case"fs:#main-start":i||(t=t.replace(Lp,c=>c+a));break;case"fs:#main-end":i||(t=t.replace(Pp,c=>a+c));break;default:t=t.replace(o,c=>c+a)}}return t=t.replace(qn,""),n&&(t=t.replace(/\}\s*$/,o=>o+KE[e])),t}var ZE=1,qe=class{static instantiateModules(e){return e.map(r=>{if(r instanceof qe)return r;st(typeof r!="string",`Shader module use by name is deprecated. Import shader module '${JSON.stringify(r)}' and use it directly.`),r.name||(console.warn("shader module has no name"),r.name=`shader-module-${ZE++}`);let n=new qe(r);return n.dependencies=qe.instantiateModules(r.dependencies||[]),n})}constructor(e){this.name=void 0,this.vs=void 0,this.fs=void 0,this.getModuleUniforms=void 0,this.dependencies=void 0,this.deprecations=void 0,this.defines=void 0,this.injections=void 0,this.uniforms={},this.uniformTypes={};let{name:r,vs:n,fs:i,dependencies:o=[],uniformPropTypes:s={},getUniforms:a,deprecations:c=[],defines:u={},inject:l={}}=e;st(typeof r=="string"),this.name=r,this.vs=n,this.fs=i,this.getModuleUniforms=a,this.dependencies=qe.instantiateModules(o),this.deprecations=this._parseDeprecationDefinitions(c),this.defines=u,this.injections=Fp(l),s&&(this.uniforms=wp(s))}getModuleSource(e){let r;switch(e){case"vertex":r=this.vs||"";break;case"fragment":r=this.fs||"";break;default:st(!1)}let n=this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_");return`// ----- MODULE ${this.name} ---------------
71
-
72
- #define MODULE_${n}
73
- ${r}
74
-
75
- `}getUniforms(e,r){return this.getModuleUniforms?this.getModuleUniforms(e,r):Ip(e,this.uniforms,this.name)}getDefines(){return this.defines}checkDeprecations(e,r){this.deprecations.forEach(n=>{var i;(i=n.regex)!==null&&i!==void 0&&i.test(e)&&(n.deprecated?r.deprecated(n.old,n.new)():r.removed(n.old,n.new)())})}_parseDeprecationDefinitions(e){return e.forEach(r=>{switch(r.type){case"function":r.regex=new RegExp(`\\b${r.old}\\(`);break;default:r.regex=new RegExp(`${r.type} ${r.old};`)}}),e}_defaultGetUniforms(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},n=this.uniforms;for(let i in n){let o=n[i];i in e&&!o.private?(o.validate&&st(o.validate(e[i],o),`${this.name}: invalid ${i}`),r[i]=e[i]):r[i]=o.value}return r}};function Xn(t){let e=qe.instantiateModules(t);return QE(e)}function QE(t){let e={},r={};return Dp({modules:t,level:0,moduleMap:e,moduleDepth:r}),Object.keys(r).sort((n,i)=>r[i]-r[n]).map(n=>e[n])}function Dp(t){let{modules:e,level:r,moduleMap:n,moduleDepth:i}=t;if(r>=5)throw new Error("Possible loop in shader dependency graph");for(let o of e)n[o.name]=o,(i[o.name]===void 0||i[o.name]<r)&&(i[o.name]=r);for(let o of e)o.dependencies&&Dp({modules:o.dependencies,level:r+1,moduleMap:n,moduleDepth:i})}function Np(t){switch(t?.gpu.toLowerCase()){case"apple":return ne`\
76
- #define APPLE_GPU
77
- // Apple optimizes away the calculation necessary for emulated fp64
78
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
79
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
80
- // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
81
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
82
- `;case"nvidia":return ne`\
83
- #define NVIDIA_GPU
84
- // Nvidia optimizes away the calculation necessary for emulated fp64
85
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
86
- `;case"intel":return ne`\
87
- #define INTEL_GPU
88
- // Intel optimizes away the calculation necessary for emulated fp64
89
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
90
- // Intel's built-in 'tan' function doesn't have acceptable precision
91
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
92
- // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
93
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
94
- `;case"amd":return ne`\
95
- #define AMD_GPU
96
- `;default:return ne`\
97
- #define DEFAULT_GPU
98
- // Prevent driver from optimizing away the calculation necessary for emulated fp64
99
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
100
- // Headless Chrome's software shader 'tan' function doesn't have acceptable precision
101
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
102
- // If the GPU doesn't have full 32 bits precision, will causes overflow
103
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
104
- `}}function Up(t){let e="";return t.features.has("webgl2")&&(e+=ne`\
105
- # define FEATURE_GLSL_DERIVATIVES
106
- # define FEATURE_GLSL_DRAW_BUFFERS
107
- # define FEATURE_GLSL_FRAG_DEPTH
108
- # define FEATURE_GLSL_TEXTURE_LOD
109
- `),t.features.has("webgl2")||(t.features.has("glsl-frag-depth")&&(e+=ne`\
110
-
111
- // FEATURE_GLSL_FRAG_DEPTH => gl_FragDepth is available
112
- #ifdef GL_EXT_frag_depth
113
- # extension GL_EXT_frag_depth : enable
114
- # define FEATURE_GLSL_FRAG_DEPTH
115
- # define FRAG_DEPTH
116
- # define gl_FragDepth gl_FragDepthEXT
117
- #endif
118
- `),t!=null&&t.features.has("glsl-derivatives")&&(e+=ne`\
119
-
120
- // FEATURE_GLSL_DERIVATIVES => dxdF, dxdY and fwidth are available
121
- #if defined(GL_OES_standard_derivatives) || defined(FEATURE_GLSL_DERIVATIVES)
122
- # extension GL_OES_standard_derivatives : enable
123
- # define FEATURE_GLSL_DERIVATIVES
124
- #endif
125
- `),t!=null&&t.features.has("glsl-frag-data")&&(e+=ne`\
126
-
127
- // FEATURE_GLSL_DRAW_BUFFERS => gl_FragData[] is available
128
- #ifdef GL_EXT_draw_buffers
129
- # extension GL_EXT_draw_buffers : require
130
- # define FEATURE_GLSL_DRAW_BUFFERS
131
- #endif
132
- `),t!=null&&t.features.has("glsl-texture-lod")&&(e+=ne`\
133
- // TEXTURE_LOD => texture2DLod etc are available
134
- #ifdef GL_EXT_shader_texture_lod
135
- # extension GL_EXT_shader_texture_lod : enable
136
- # define FEATURE_GLSL_TEXTURE_LOD
137
- # define TEXTURE_LOD
138
- #endif
139
- `)),e}function Hp(t,e,r){var n;if(Number(((n=t.match(/^#version[ \t]+(\d+)/m))===null||n===void 0?void 0:n[1])||100)!==300)throw new Error("luma.gl v9 only supports GLSL 3.00 shader sources");switch(e){case 300:switch(r){case"vertex":return t=Kn(t,$E),t;case"fragment":return t=Kn(t,eS),t;default:throw new Error(r)}case 100:switch(r){case"vertex":return t=Kn(t,tS),t;case"fragment":return t=Kn(t,jp),t=nS(t),t;default:throw new Error(r)}default:throw new Error(String(e))}}var Vp=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,`#version 300 es
140
- `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],$E=[...Vp,[Vr("attribute"),"in $1"],[Vr("varying"),"out $1"]],eS=[...Vp,[Vr("varying"),"in $1"]],zp=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],tS=[...zp,[Vr("in"),"attribute $1"],[Vr("out"),"varying $1"]],jp=[...zp,[Vr("in"),"varying $1"]],rS="gl_FragColor",Gp=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/;function Kn(t,e){for(let[r,n]of e)t=t.replace(r,n);return t}function nS(t){t=Kn(t,jp);let e=Gp.exec(t);if(e){let r=e[1];t=t.replace(Gp,"").replace(new RegExp(`\\b${r}\\b`,"g"),rS)}return t}function Vr(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}function qc(t,e){let r="";for(let n in t){let i=t[n];if(r+=`void ${i.signature} {
141
- `,i.header&&(r+=` ${i.header}`),e[n]){let o=e[n];o.sort((s,a)=>s.order-a.order);for(let s of o)r+=` ${s.injection}
142
- `}i.footer&&(r+=` ${i.footer}`),r+=`}
143
- `}return r}function Wc(t){let e={vertex:{},fragment:{}};for(let r of t){let n,i;typeof r!="string"?(n=r,i=n.hook):(n={},i=r),i=i.trim();let[o,s]=i.split(":"),a=i.replace(/\(.+/,""),c=Object.assign(n,{signature:s});switch(o){case"vs":e.vertex[a]=c;break;case"fs":e.fragment[a]=c;break;default:throw new Error(o)}}return e}function kp(t,e){return{name:iS(t,e),language:"glsl",version:oS(t)}}function iS(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",n=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/.exec(t);return n?n[1]:e}function oS(t){let e=100,r=t.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){let n=parseInt(r[1],10);Number.isFinite(n)&&(e=n)}if(e!==100&&e!==300)throw new Error(`Invalid GLSL version ${e}`);return e}var Xp=`
144
-
145
- ${qn}
146
- `,sS=ne`\
147
- precision highp float;
148
- `;function Kp(t){let{vs:e,fs:r}=t,n=Xn(t.modules||[]);switch(t.platformInfo.shaderLanguage){case"glsl":return{vs:qp(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:qp(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:Wp(n)};case"wgsl":return{vs:Jp(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:Jp(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:Wp(n)}}}function Jp(t,e){let{source:r,stage:n,modules:i,defines:o={},hookFunctions:s=[],inject:a={},log:c}=e;st(typeof r=="string","shader source must be a string");let u=r,l={};i.forEach(m=>{Object.assign(l,m.getDefines())}),Object.assign(l,o);let f="",h=Wc(s),d={},p={},g={};for(let m in a){let A=typeof a[m]=="string"?{injection:a[m],order:0}:a[m],_=/^(v|f)s:(#)?([\w-]+)$/.exec(m);if(_){let v=_[2],x=_[3];v?x==="decl"?p[m]=[A]:g[m]=[A]:d[m]=[A]}else g[m]=[A]}for(let m of i){c&&m.checkDeprecations(u,c);let A=m.getModuleSource(n,"wgsl");f+=A;let _=m.injections[n];for(let v in _){let x=/^(v|f)s:#([\w-]+)$/.exec(v);if(x){let S=x[2]==="decl"?p:g;S[v]=S[v]||[],S[v].push(_[v])}else d[v]=d[v]||[],d[v].push(_[v])}}return f+=Xp,f=Wn(f,n,p),f+=qc(h[n],d),f+=u,f=Wn(f,n,g),f}function qp(t,e){let{id:r,source:n,stage:i,language:o="glsl",modules:s,defines:a={},hookFunctions:c=[],inject:u={},prologue:l=!0,log:f}=e;st(typeof n=="string","shader source must be a string");let h=o==="glsl"?kp(n).version:-1,d=t.shaderLanguageVersion,p=h===100?"#version 100":"#version 300 es",m=n.split(`
149
- `).slice(1).join(`
150
- `),A={};s.forEach(C=>{Object.assign(A,C.getDefines())}),Object.assign(A,a);let _="";switch(o){case"wgsl":break;case"glsl":_=l?`${p}
151
-
152
- // ----- PROLOGUE -------------------------
153
- ${aS({id:r,source:n,stage:i})}
154
- ${`#define SHADER_TYPE_${i.toUpperCase()}`}
155
- ${Np(t)}
156
- ${Up(t)}
157
- ${i==="fragment"?sS:""}
158
-
159
- // ----- APPLICATION DEFINES -------------------------
160
-
161
- ${cS(A)}
162
-
163
- `:`${p}
164
- `;break}let v=Wc(c),x={},B={},S={};for(let C in u){let E=typeof u[C]=="string"?{injection:u[C],order:0}:u[C],b=/^(v|f)s:(#)?([\w-]+)$/.exec(C);if(b){let y=b[2],M=b[3];y?M==="decl"?B[C]=[E]:S[C]=[E]:x[C]=[E]}else S[C]=[E]}for(let C of s){f&&C.checkDeprecations(m,f);let E=C.getModuleSource(i);_+=E;let b=C.injections[i];for(let y in b){let M=/^(v|f)s:#([\w-]+)$/.exec(y);if(M){let O=M[2]==="decl"?B:S;O[y]=O[y]||[],O[y].push(b[y])}else x[y]=x[y]||[],x[y].push(b[y])}}return _+="// ----- MAIN SHADER SOURCE -------------------------",_+=Xp,_=Wn(_,i,B),_+=qc(v[i],x),_+=m,_=Wn(_,i,S),o==="glsl"&&h!==d&&(_=Hp(_,d,i)),_.trim()}function Wp(t){return function(r){let n={};for(let i of t){let o=i.getUniforms(r,n);Object.assign(n,o)}return n}}function aS(t){let{id:e,source:r,stage:n}=t;return e&&r.indexOf("SHADER_NAME")===-1?`
165
- #define SHADER_NAME ${e}_${n}
166
-
167
- `:""}function cS(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e="";for(let r in t){let n=t[r];(n||Number.isFinite(n))&&(e+=`#define ${r.toUpperCase()} ${t[r]}
168
- `)}return e}function Zp(t){if(!t.vs)throw new Error("no vertex shader");let e=Yp(t.platformInfo,t.vs),r;return t.fs&&(r=Yp(t.platformInfo,t.fs)),{...t,vs:e,fs:r}}function Yp(t,e){if(typeof e=="string")return e;switch(t.type){case"webgpu":if(e!=null&&e.wgsl)return e.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(e!=null&&e.glsl)return e.glsl;throw new Error("WebGL does not support WGSL shaders")}}var We=class{constructor(){this._hookFunctions=[],this._defaultModules=[]}static getDefaultShaderAssembler(){return We.defaultShaderAssembler=We.defaultShaderAssembler||new We,We.defaultShaderAssembler}addDefaultModule(e){this._defaultModules.find(r=>r.name===(typeof e=="string"?e:e.name))||this._defaultModules.push(e)}removeDefaultModule(e){let r=typeof e=="string"?e:e.name;this._defaultModules=this._defaultModules.filter(n=>n.name!==r)}addShaderHook(e,r){r&&(e=Object.assign(r,{hook:e})),this._hookFunctions.push(e)}assembleShaders(e){let r=this._getModuleList(e.modules),n=this._hookFunctions,i=Zp(e);return{...Kp({platformInfo:e.platformInfo,...i,modules:r,hookFunctions:n}),modules:r}}_getModuleList(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+e.length),n={},i=0;for(let o=0,s=this._defaultModules.length;o<s;++o){let a=this._defaultModules[o],c=a.name;r[i++]=a,n[c]=!0}for(let o=0,s=e.length;o<s;++o){let a=e[o],c=a.name;n[c]||(r[i++]=a,n[c]=!0)}return r.length=i,qe.instantiateModules(r)}};We.defaultShaderAssembler=void 0;var Xc=ne`\
28
+ `},e}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}draw(e){let{fadeTrail:r,trailLength:n,currentTime:s}=this.props;e.uniforms={...e.uniforms,fadeTrail:r,trailLength:n,currentTime:s},super.draw(e)}},Tn=ks;(()=>{ks.layerName="TripsLayer"})(),(()=>{ks.defaultProps=X1})();var xu=v(Gs(),1),Su=v(Lt(),1);var bt=v(Gs(),1),Js=v(Lt(),1),Rn=v(Ut(),1);var En=v(Gs(),1);function Ks(t,e){e=e===void 0?t[0][0]:e;for(let r of t){let n=r[0]-e;n>180?r[0]-=360:n<-180&&(r[0]+=360)}}function W1(t,e,r){let[n,s]=(0,En.cellToLatLng)(t),i=e.length;Ks(e,s);let o=e[0]===e[i-1]?i-1:i;for(let a=0;a<o;a++)e[a][0]=Re(s,e[a][0],r),e[a][1]=Re(n,e[a][1],r)}function Eu(t,e,r){let n=t(e,r),[s,i]=(0,En.cellToLatLng)(n);return[i,s]}function Pa(t,e=1){let r=(0,En.cellToBoundary)(t,!0);return e!==1?W1(t,r,e):Ks(r),r}function Ru(t){let e=new Float64Array(t.length*2),r=0;for(let n of t)e[r++]=n[0],e[r++]=n[1];return e}var z1=10;function k1(t,e){let r;return t==null?r=e:typeof t=="object"?r={...t,coverage:e}:r={getHexagon:t,coverage:e},r}var G1={...Rn.PolygonLayer.defaultProps,highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:t=>t.hexagon},extruded:!0},Rr=class extends Js.CompositeLayer{initializeState(){Rr._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:e}){return this._shouldUseHighPrecision()?e.propsOrDataChanged:e.somethingChanged}updateState({props:e,changeFlags:r}){if(e.highPrecision!==!0&&(r.dataChanged||r.updateTriggersChanged&&r.updateTriggersChanged.getHexagon)){let n=this._calculateH3DataProps();this.setState(n)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let e=-1,r=!1,n=!1,{iterable:s,objectInfo:i}=(0,Js.createIterable)(this.props.data);for(let o of s){i.index++;let a=this.props.getHexagon(o,i),c=(0,bt.getResolution)(a);if(e<0){if(e=c,!this.props.highPrecision)break}else if(e!==c){n=!0;break}if((0,bt.isPentagon)(a)){r=!0;break}}return{resolution:e,edgeLengthKM:e>=0?(0,bt.getHexagonEdgeLengthAvg)(e,"km"):0,hasMultipleRes:n,hasPentagon:r}}_shouldUseHighPrecision(){if(this.props.highPrecision==="auto"){let{resolution:e,hasPentagon:r,hasMultipleRes:n}=this.state,{viewport:s}=this.context;return Boolean(s?.resolution)||n||r||e>=0&&e<=5}return this.props.highPrecision}_updateVertices(e){if(this._shouldUseHighPrecision())return;let{resolution:r,edgeLengthKM:n,centerHex:s}=this.state;if(r<0)return;let i=this.props.centerHexagon||(0,bt.latLngToCell)(e.latitude,e.longitude,r);if(s===i)return;if(s)try{if((0,bt.gridDistance)(s,i)*n<z1)return}catch{}let{unitsPerMeter:o}=e.distanceScales,a=Pa(i),[c,l]=(0,bt.cellToLatLng)(i),[h,f]=e.projectFlat([l,c]);a=a.map(u=>{let d=e.projectFlat(u);return[(d[0]-h)/o[0],(d[1]-f)/o[1]]}),this.setState({centerHex:i,vertices:a})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){let{elevationScale:e,material:r,coverage:n,extruded:s,wireframe:i,stroked:o,filled:a,lineWidthUnits:c,lineWidthScale:l,lineWidthMinPixels:h,lineWidthMaxPixels:f,getFillColor:u,getElevation:d,getLineColor:p,getLineWidth:_,transitions:A,updateTriggers:T}=this.props;return{elevationScale:e,extruded:s,coverage:n,wireframe:i,stroked:o,filled:a,lineWidthUnits:c,lineWidthScale:l,lineWidthMinPixels:h,lineWidthMaxPixels:f,material:r,getElevation:d,getFillColor:u,getLineColor:p,getLineWidth:_,transitions:A,updateTriggers:{getFillColor:T.getFillColor,getElevation:T.getElevation,getLineColor:T.getLineColor,getLineWidth:T.getLineWidth}}}_renderPolygonLayer(){let{data:e,getHexagon:r,updateTriggers:n,coverage:s}=this.props,i=this.getSubLayerClass("hexagon-cell-hifi",Rn.PolygonLayer),o=this._getForwardProps();return o.updateTriggers.getPolygon=k1(n.getHexagon,s),new i(o,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:o.updateTriggers}),{data:e,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:(a,c)=>{let l=r(a,c);return Ru(Pa(l,s))}})}_renderColumnLayer(){let{data:e,getHexagon:r,updateTriggers:n}=this.props,s=this.getSubLayerClass("hexagon-cell",Rn.ColumnLayer),i=this._getForwardProps();return i.updateTriggers.getPosition=n.getHexagon,new s(i,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:i.updateTriggers}),{data:e,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Eu.bind(null,r)})}},Ke=Rr;(()=>{Rr.defaultProps=G1})(),(()=>{Rr.layerName="H3HexagonLayer"})(),(()=>{Rr._checkH3Lib=()=>{}})();var K1={getHexagons:{type:"accessor",value:t=>t.hexagons}},Ys=class extends It{initializeState(){Ke._checkH3Lib()}updateState({props:e,changeFlags:r}){if(r.dataChanged||r.updateTriggersChanged&&r.updateTriggersChanged.getHexagons){let{data:n,getHexagons:s}=e,i=[],{iterable:o,objectInfo:a}=(0,Su.createIterable)(n);for(let c of o){a.index++;let l=s(c,a),h=(0,xu.cellsToMultiPolygon)(l,!0);for(let f of h){for(let u of f)Ks(u);i.push(this.getSubLayerRow({polygon:f},c,a.index))}}this.setState({polygons:i})}}indexToBounds(){let{getElevation:e,getFillColor:r,getLineColor:n,getLineWidth:s}=this.props;return{data:this.state.polygons,getPolygon:i=>i.polygon,getElevation:this.getSubLayerAccessor(e),getFillColor:this.getSubLayerAccessor(r),getLineColor:this.getSubLayerAccessor(n),getLineWidth:this.getSubLayerAccessor(s)}}},xn=Ys;(()=>{Ys.layerName="H3ClusterLayer"})(),(()=>{Ys.defaultProps=K1})();var ug=v(Da(),1),be=v(Lt(),1),dg=v(Ut(),1),pg=v(qs(),1);var Iu=v(yu(),1),ee=function(t){return t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.LINEAR=9729]="LINEAR",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t}(ee||{});function wa(t,e,r,n){let s={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};t.features.has("glsl-texture-lod")&&(s.defines.USE_TEX_LOD=1);let{imageBasedLightingEnvironment:i}=n;return i&&(s.bindings.u_DiffuseEnvSampler=i.diffuseEnvSampler,s.bindings.u_SpecularEnvSampler=i.specularEnvSampler,s.bindings.u_brdfLUT=i.brdfLutTexture,s.uniforms.u_ScaleIBLAmbient=[1,1]),n!=null&&n.pbrDebug&&(s.defines.PBR_DEBUG=1,s.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],s.uniforms.u_ScaleFGDSpec=[0,0,0,0]),r.NORMAL&&(s.defines.HAS_NORMALS=1),r.TANGENT&&n!==null&&n!==void 0&&n.useTangents&&(s.defines.HAS_TANGENTS=1),r.TEXCOORD_0&&(s.defines.HAS_UV=1),n!=null&&n.imageBasedLightingEnvironment&&(s.defines.USE_IBL=1),n!=null&&n.lights&&(s.defines.USE_LIGHTS=1),e&&J1(t,e,s),s}function J1(t,e,r){if(r.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&Y1(t,e.pbrMetallicRoughness,r),e.normalTexture){Sn(t,e.normalTexture,"u_NormalSampler","HAS_NORMALMAP",r);let{scale:n=1}=e.normalTexture;r.uniforms.u_NormalScale=n}if(e.occlusionTexture){Sn(t,e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP",r);let{strength:n=1}=e.occlusionTexture;r.uniforms.u_OcclusionStrength=n}switch(e.emissiveTexture&&(Sn(t,e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP",r),r.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),e.alphaMode){case"MASK":let{alphaCutoff:n=.5}=e;r.defines.ALPHA_CUTOFF=1,r.uniforms.u_AlphaCutoff=n;break;case"BLEND":Iu.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),r.parameters.blendColorOperation="add",r.parameters.blendColorSrcFactor="src-alpha",r.parameters.blendColorDstFactor="one-minus-src-alpha",r.parameters.blendAlphaOperation="add",r.parameters.blendAlphaSrcFactor="one",r.parameters.blendAlphaDstFactor="one-minus-src-alpha",r.glParameters.blend=!0,r.glParameters.blendEquation=ee.FUNC_ADD,r.glParameters.blendFunc=[ee.SRC_ALPHA,ee.ONE_MINUS_SRC_ALPHA,ee.ONE,ee.ONE_MINUS_SRC_ALPHA];break}}function Y1(t,e,r){e.baseColorTexture&&Sn(t,e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP",r),r.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&Sn(t,e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP",r);let{metallicFactor:n=1,roughnessFactor:s=1}=e;r.uniforms.u_MetallicRoughnessValues=[n,s]}function Sn(t,e,r){var n;let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,o=(e==null||(n=e.texture)===null||n===void 0||(n=n.sampler)===null||n===void 0?void 0:n.parameters)||{},a=e.texture.source.image,c,l={};a.compressed?(c=a,l={[ee.TEXTURE_MIN_FILTER]:a.data.length>1?ee.LINEAR_MIPMAP_NEAREST:ee.LINEAR}):c={data:a};let h=t.createTexture({id:e.uniformName||e.id,parameters:{...o,...l},pixelStore:{[ee.UNPACK_FLIP_Y_WEBGL]:!1},...c});i.bindings[r]=h,s&&(i.defines[s]=1),i.generatedTextures.push(h)}var Fu="4.1.0";var js={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},va;async function La(t){let e=t.modules||{};return e.basis?e.basis:(va=va||q1(t),await va)}async function q1(t){let e=null,r=null;return[e,r]=await Promise.all([await qt(js.TRANSCODER,"textures",t),await qt(js.TRANSCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await j1(e,r)}function j1(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(s=>{let{BasisFile:i,initializeBasis:o}=s;o(),n({BasisFile:i})})})}var Ua;async function Ha(t){let e=t.modules||{};return e.basisEncoder?e.basisEncoder:(Ua=Ua||Z1(t),await Ua)}async function Z1(t){let e=null,r=null;return[e,r]=await Promise.all([await qt(js.ENCODER,"textures",t),await qt(js.ENCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await Q1(e,r)}function Q1(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(s=>{let{BasisFile:i,KTX2File:o,initializeBasis:a,BasisEncoder:c}=s;a(),n({BasisFile:i,KTX2File:o,BasisEncoder:c})})})}var Je={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var $1=["","WEBKIT_","MOZ_"],Nu={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},Zs=null;function Ou(t){if(!Zs){t=t||tE()||void 0,Zs=new Set;for(let e of $1)for(let r in Nu)if(t&&t.getExtension(`${e}${r}`)){let n=Nu[r];Zs.add(n)}}return Zs}function tE(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var GO=new Uint8Array([0]);var bu,Pu,Du,wu,vu,Uu,Lu,Hu;(function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB"})(bu||(bu={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT"}(Pu||(Pu={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC"}(Du||(Du={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB"}(wu||(wu={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2"}(vu||(vu={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(Uu||(Uu={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA"}(Lu||(Lu={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG"}(Hu||(Hu={}));var Ft=[171,75,84,88,32,50,48,187,13,10,26,10];function Vu(t){let e=new Uint8Array(t);return!(e.byteLength<Ft.length||e[0]!==Ft[0]||e[1]!==Ft[1]||e[2]!==Ft[2]||e[3]!==Ft[3]||e[4]!==Ft[4]||e[5]!==Ft[5]||e[6]!==Ft[6]||e[7]!==Ft[7]||e[8]!==Ft[8]||e[9]!==Ft[9]||e[10]!==Ft[10]||e[11]!==Ft[11])}var eE={etc1:{basisFormat:0,compressed:!0,format:Je.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Je.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Je.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Je.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Je.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Je.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Xa(t,e){if(e.basis.containerFormat==="auto"){if(Vu(t)){let n=await Ha(e);return Xu(n.KTX2File,t,e)}let{BasisFile:r}=await La(e);return Va(r,t,e)}switch(e.basis.module){case"encoder":let r=await Ha(e);switch(e.basis.containerFormat){case"ktx2":return Xu(r.KTX2File,t,e);case"basis":default:return Va(r.BasisFile,t,e)}case"transcoder":default:let{BasisFile:n}=await La(e);return Va(n,t,e)}}function Va(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let s=n.getNumImages(),i=[];for(let o=0;o<s;o++){let a=n.getNumLevels(o),c=[];for(let l=0;l<a;l++)c.push(rE(n,o,l,r));i.push(c)}return i}finally{n.close(),n.delete()}}function rE(t,e,r,n){let s=t.getImageWidth(e,r),i=t.getImageHeight(e,r),o=t.getHasAlpha(),{compressed:a,format:c,basisFormat:l}=Wu(n,o),h=t.getImageTranscodedSizeInBytes(e,r,l),f=new Uint8Array(h);if(!t.transcodeImage(f,e,r,l,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:i,data:f,compressed:a,format:c,hasAlpha:o}}function Xu(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=n.getLevels(),i=[];for(let o=0;o<s;o++){i.push(nE(n,o,r));break}return[i]}finally{n.close(),n.delete()}}function nE(t,e,r){let{alphaFlag:n,height:s,width:i}=t.getImageLevelInfo(e,0,0),{compressed:o,format:a,basisFormat:c}=Wu(r,n),l=t.getImageTranscodedSizeInBytes(e,0,0,c),h=new Uint8Array(l);if(!t.transcodeImage(h,e,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:i,height:s,data:h,compressed:o,levelSize:l,hasAlpha:n,format:a}}function Wu(t,e){let r=t&&t.basis&&t.basis.format;return r==="auto"&&(r=Qs()),typeof r=="object"&&(r=e?r.alpha:r.noAlpha),r=r.toLowerCase(),eE[r]}function Qs(){let t=Ou();return t.has("astc")?"astc-4x4":t.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:t.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:t.has("etc1")?"etc1":t.has("etc2")?"etc2":"rgb565"}var zu={name:"Basis",id:"basis",module:"textures",version:Fu,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},Wa={...zu,parse:Xa};function za(t){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let e=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=t||e;return!!(r&&r.indexOf("Electron")>=0)}function Wt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||za()}var sE=globalThis.self||globalThis.window||globalThis.global,xr=globalThis.window||globalThis.self||globalThis.global,iE=globalThis.document||{},Ye=globalThis.process||{},oE=globalThis.console,hb=globalThis.navigator||{};var $s=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",db=Wt();var ti=function(t){return t[t.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",t[t.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",t[t.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",t[t.POINTS=0]="POINTS",t[t.LINES=1]="LINES",t[t.LINE_LOOP=2]="LINE_LOOP",t[t.LINE_STRIP=3]="LINE_STRIP",t[t.TRIANGLES=4]="TRIANGLES",t[t.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=6]="TRIANGLE_FAN",t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_COLOR=768]="SRC_COLOR",t[t.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.DST_ALPHA=772]="DST_ALPHA",t[t.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",t[t.DST_COLOR=774]="DST_COLOR",t[t.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=32769]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",t[t.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",t[t.BLEND_EQUATION=32777]="BLEND_EQUATION",t[t.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",t[t.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",t[t.BLEND_DST_RGB=32968]="BLEND_DST_RGB",t[t.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",t[t.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",t[t.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",t[t.BLEND_COLOR=32773]="BLEND_COLOR",t[t.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",t[t.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",t[t.LINE_WIDTH=2849]="LINE_WIDTH",t[t.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",t[t.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",t[t.CULL_FACE_MODE=2885]="CULL_FACE_MODE",t[t.FRONT_FACE=2886]="FRONT_FACE",t[t.DEPTH_RANGE=2928]="DEPTH_RANGE",t[t.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",t[t.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",t[t.DEPTH_FUNC=2932]="DEPTH_FUNC",t[t.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",t[t.STENCIL_FUNC=2962]="STENCIL_FUNC",t[t.STENCIL_FAIL=2964]="STENCIL_FAIL",t[t.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",t[t.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",t[t.STENCIL_REF=2967]="STENCIL_REF",t[t.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",t[t.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",t[t.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",t[t.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",t[t.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",t[t.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",t[t.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",t[t.VIEWPORT=2978]="VIEWPORT",t[t.SCISSOR_BOX=3088]="SCISSOR_BOX",t[t.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",t[t.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",t[t.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",t[t.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",t[t.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",t[t.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",t[t.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",t[t.RED_BITS=3410]="RED_BITS",t[t.GREEN_BITS=3411]="GREEN_BITS",t[t.BLUE_BITS=3412]="BLUE_BITS",t[t.ALPHA_BITS=3413]="ALPHA_BITS",t[t.DEPTH_BITS=3414]="DEPTH_BITS",t[t.STENCIL_BITS=3415]="STENCIL_BITS",t[t.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",t[t.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",t[t.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",t[t.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",t[t.SAMPLES=32937]="SAMPLES",t[t.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",t[t.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",t[t.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",t[t.VENDOR=7936]="VENDOR",t[t.RENDERER=7937]="RENDERER",t[t.VERSION=7938]="VERSION",t[t.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",t[t.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",t[t.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",t[t.STATIC_DRAW=35044]="STATIC_DRAW",t[t.STREAM_DRAW=35040]="STREAM_DRAW",t[t.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.BUFFER_SIZE=34660]="BUFFER_SIZE",t[t.BUFFER_USAGE=34661]="BUFFER_USAGE",t[t.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",t[t.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",t[t.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",t[t.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",t[t.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",t[t.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",t[t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",t[t.CULL_FACE=2884]="CULL_FACE",t[t.FRONT=1028]="FRONT",t[t.BACK=1029]="BACK",t[t.FRONT_AND_BACK=1032]="FRONT_AND_BACK",t[t.BLEND=3042]="BLEND",t[t.DEPTH_TEST=2929]="DEPTH_TEST",t[t.DITHER=3024]="DITHER",t[t.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",t[t.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",t[t.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",t[t.SCISSOR_TEST=3089]="SCISSOR_TEST",t[t.STENCIL_TEST=2960]="STENCIL_TEST",t[t.NO_ERROR=0]="NO_ERROR",t[t.INVALID_ENUM=1280]="INVALID_ENUM",t[t.INVALID_VALUE=1281]="INVALID_VALUE",t[t.INVALID_OPERATION=1282]="INVALID_OPERATION",t[t.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",t[t.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",t[t.CW=2304]="CW",t[t.CCW=2305]="CCW",t[t.DONT_CARE=4352]="DONT_CARE",t[t.FASTEST=4353]="FASTEST",t[t.NICEST=4354]="NICEST",t[t.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",t[t.BYTE=5120]="BYTE",t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.SHORT=5122]="SHORT",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.INT=5124]="INT",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.FLOAT=5126]="FLOAT",t[t.DOUBLE=5130]="DOUBLE",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.ALPHA=6406]="ALPHA",t[t.RGB=6407]="RGB",t[t.RGBA=6408]="RGBA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",t[t.VERTEX_SHADER=35633]="VERTEX_SHADER",t[t.COMPILE_STATUS=35713]="COMPILE_STATUS",t[t.DELETE_STATUS=35712]="DELETE_STATUS",t[t.LINK_STATUS=35714]="LINK_STATUS",t[t.VALIDATE_STATUS=35715]="VALIDATE_STATUS",t[t.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",t[t.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",t[t.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",t[t.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",t[t.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",t[t.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",t[t.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",t[t.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",t[t.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",t[t.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",t[t.SHADER_TYPE=35663]="SHADER_TYPE",t[t.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",t[t.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",t[t.NEVER=512]="NEVER",t[t.LESS=513]="LESS",t[t.EQUAL=514]="EQUAL",t[t.LEQUAL=515]="LEQUAL",t[t.GREATER=516]="GREATER",t[t.NOTEQUAL=517]="NOTEQUAL",t[t.GEQUAL=518]="GEQUAL",t[t.ALWAYS=519]="ALWAYS",t[t.KEEP=7680]="KEEP",t[t.REPLACE=7681]="REPLACE",t[t.INCR=7682]="INCR",t[t.DECR=7683]="DECR",t[t.INVERT=5386]="INVERT",t[t.INCR_WRAP=34055]="INCR_WRAP",t[t.DECR_WRAP=34056]="DECR_WRAP",t[t.NEAREST=9728]="NEAREST",t[t.LINEAR=9729]="LINEAR",t[t.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",t[t.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",t[t.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",t[t.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE=5890]="TEXTURE",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t[t.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",t[t.TEXTURE0=33984]="TEXTURE0",t[t.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",t[t.REPEAT=10497]="REPEAT",t[t.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",t[t.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",t[t.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",t[t.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",t[t.FLOAT_VEC2=35664]="FLOAT_VEC2",t[t.FLOAT_VEC3=35665]="FLOAT_VEC3",t[t.FLOAT_VEC4=35666]="FLOAT_VEC4",t[t.INT_VEC2=35667]="INT_VEC2",t[t.INT_VEC3=35668]="INT_VEC3",t[t.INT_VEC4=35669]="INT_VEC4",t[t.BOOL=35670]="BOOL",t[t.BOOL_VEC2=35671]="BOOL_VEC2",t[t.BOOL_VEC3=35672]="BOOL_VEC3",t[t.BOOL_VEC4=35673]="BOOL_VEC4",t[t.FLOAT_MAT2=35674]="FLOAT_MAT2",t[t.FLOAT_MAT3=35675]="FLOAT_MAT3",t[t.FLOAT_MAT4=35676]="FLOAT_MAT4",t[t.SAMPLER_2D=35678]="SAMPLER_2D",t[t.SAMPLER_CUBE=35680]="SAMPLER_CUBE",t[t.LOW_FLOAT=36336]="LOW_FLOAT",t[t.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",t[t.HIGH_FLOAT=36338]="HIGH_FLOAT",t[t.LOW_INT=36339]="LOW_INT",t[t.MEDIUM_INT=36340]="MEDIUM_INT",t[t.HIGH_INT=36341]="HIGH_INT",t[t.FRAMEBUFFER=36160]="FRAMEBUFFER",t[t.RENDERBUFFER=36161]="RENDERBUFFER",t[t.RGBA4=32854]="RGBA4",t[t.RGB5_A1=32855]="RGB5_A1",t[t.RGB565=36194]="RGB565",t[t.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",t[t.STENCIL_INDEX=6401]="STENCIL_INDEX",t[t.STENCIL_INDEX8=36168]="STENCIL_INDEX8",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t[t.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",t[t.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",t[t.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",t[t.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",t[t.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",t[t.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",t[t.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",t[t.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",t[t.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",t[t.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",t[t.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",t[t.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",t[t.NONE=0]="NONE",t[t.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",t[t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",t[t.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",t[t.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",t[t.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",t[t.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",t[t.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",t[t.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t[t.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",t[t.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",t[t.READ_BUFFER=3074]="READ_BUFFER",t[t.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",t[t.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",t[t.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",t[t.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",t[t.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",t[t.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",t[t.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",t[t.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",t[t.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",t[t.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",t[t.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",t[t.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",t[t.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",t[t.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",t[t.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",t[t.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",t[t.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",t[t.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",t[t.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",t[t.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",t[t.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",t[t.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",t[t.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",t[t.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",t[t.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",t[t.RED=6403]="RED",t[t.RGB8=32849]="RGB8",t[t.RGBA8=32856]="RGBA8",t[t.RGB10_A2=32857]="RGB10_A2",t[t.TEXTURE_3D=32879]="TEXTURE_3D",t[t.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",t[t.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",t[t.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",t[t.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",t[t.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",t[t.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",t[t.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",t[t.SRGB=35904]="SRGB",t[t.SRGB8=35905]="SRGB8",t[t.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",t[t.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",t[t.RGBA32F=34836]="RGBA32F",t[t.RGB32F=34837]="RGB32F",t[t.RGBA16F=34842]="RGBA16F",t[t.RGB16F=34843]="RGB16F",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",t[t.R11F_G11F_B10F=35898]="R11F_G11F_B10F",t[t.RGB9_E5=35901]="RGB9_E5",t[t.RGBA32UI=36208]="RGBA32UI",t[t.RGB32UI=36209]="RGB32UI",t[t.RGBA16UI=36214]="RGBA16UI",t[t.RGB16UI=36215]="RGB16UI",t[t.RGBA8UI=36220]="RGBA8UI",t[t.RGB8UI=36221]="RGB8UI",t[t.RGBA32I=36226]="RGBA32I",t[t.RGB32I=36227]="RGB32I",t[t.RGBA16I=36232]="RGBA16I",t[t.RGB16I=36233]="RGB16I",t[t.RGBA8I=36238]="RGBA8I",t[t.RGB8I=36239]="RGB8I",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER",t[t.R8=33321]="R8",t[t.RG8=33323]="RG8",t[t.R16F=33325]="R16F",t[t.R32F=33326]="R32F",t[t.RG16F=33327]="RG16F",t[t.RG32F=33328]="RG32F",t[t.R8I=33329]="R8I",t[t.R8UI=33330]="R8UI",t[t.R16I=33331]="R16I",t[t.R16UI=33332]="R16UI",t[t.R32I=33333]="R32I",t[t.R32UI=33334]="R32UI",t[t.RG8I=33335]="RG8I",t[t.RG8UI=33336]="RG8UI",t[t.RG16I=33337]="RG16I",t[t.RG16UI=33338]="RG16UI",t[t.RG32I=33339]="RG32I",t[t.RG32UI=33340]="RG32UI",t[t.R8_SNORM=36756]="R8_SNORM",t[t.RG8_SNORM=36757]="RG8_SNORM",t[t.RGB8_SNORM=36758]="RGB8_SNORM",t[t.RGBA8_SNORM=36759]="RGBA8_SNORM",t[t.RGB10_A2UI=36975]="RGB10_A2UI",t[t.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",t[t.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.HALF_FLOAT=5131]="HALF_FLOAT",t[t.RG=33319]="RG",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",t[t.CURRENT_QUERY=34917]="CURRENT_QUERY",t[t.QUERY_RESULT=34918]="QUERY_RESULT",t[t.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",t[t.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",t[t.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",t[t.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",t[t.DRAW_BUFFER0=34853]="DRAW_BUFFER0",t[t.DRAW_BUFFER1=34854]="DRAW_BUFFER1",t[t.DRAW_BUFFER2=34855]="DRAW_BUFFER2",t[t.DRAW_BUFFER3=34856]="DRAW_BUFFER3",t[t.DRAW_BUFFER4=34857]="DRAW_BUFFER4",t[t.DRAW_BUFFER5=34858]="DRAW_BUFFER5",t[t.DRAW_BUFFER6=34859]="DRAW_BUFFER6",t[t.DRAW_BUFFER7=34860]="DRAW_BUFFER7",t[t.DRAW_BUFFER8=34861]="DRAW_BUFFER8",t[t.DRAW_BUFFER9=34862]="DRAW_BUFFER9",t[t.DRAW_BUFFER10=34863]="DRAW_BUFFER10",t[t.DRAW_BUFFER11=34864]="DRAW_BUFFER11",t[t.DRAW_BUFFER12=34865]="DRAW_BUFFER12",t[t.DRAW_BUFFER13=34866]="DRAW_BUFFER13",t[t.DRAW_BUFFER14=34867]="DRAW_BUFFER14",t[t.DRAW_BUFFER15=34868]="DRAW_BUFFER15",t[t.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",t[t.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",t[t.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",t[t.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",t[t.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",t[t.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",t[t.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",t[t.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",t[t.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",t[t.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",t[t.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",t[t.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",t[t.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",t[t.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",t[t.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",t[t.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",t[t.SAMPLER_3D=35679]="SAMPLER_3D",t[t.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",t[t.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",t[t.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",t[t.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",t[t.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",t[t.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",t[t.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",t[t.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",t[t.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",t[t.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",t[t.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",t[t.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",t[t.MAX_SAMPLES=36183]="MAX_SAMPLES",t[t.SAMPLER_BINDING=35097]="SAMPLER_BINDING",t[t.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",t[t.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",t[t.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",t[t.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",t[t.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",t[t.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",t[t.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",t[t.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",t[t.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",t[t.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",t[t.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",t[t.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",t[t.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",t[t.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",t[t.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",t[t.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",t[t.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",t[t.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",t[t.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",t[t.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",t[t.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",t[t.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",t[t.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",t[t.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",t[t.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",t[t.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",t[t.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",t[t.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",t[t.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",t[t.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",t[t.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",t[t.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",t[t.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",t[t.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",t[t.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",t[t.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",t[t.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",t[t.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",t[t.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",t[t.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",t[t.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t[t.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",t[t.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",t[t.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",t[t.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",t[t.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",t[t.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",t[t.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",t[t.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",t[t.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",t[t.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",t[t.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",t[t.UNIFORM_TYPE=35383]="UNIFORM_TYPE",t[t.UNIFORM_SIZE=35384]="UNIFORM_SIZE",t[t.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",t[t.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",t[t.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",t[t.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",t[t.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",t[t.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",t[t.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",t[t.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",t[t.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",t[t.OBJECT_TYPE=37138]="OBJECT_TYPE",t[t.SYNC_CONDITION=37139]="SYNC_CONDITION",t[t.SYNC_STATUS=37140]="SYNC_STATUS",t[t.SYNC_FLAGS=37141]="SYNC_FLAGS",t[t.SYNC_FENCE=37142]="SYNC_FENCE",t[t.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",t[t.UNSIGNALED=37144]="UNSIGNALED",t[t.SIGNALED=37145]="SIGNALED",t[t.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",t[t.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",t[t.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",t[t.WAIT_FAILED=37149]="WAIT_FAILED",t[t.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",t[t.COLOR=6144]="COLOR",t[t.DEPTH=6145]="DEPTH",t[t.STENCIL=6146]="STENCIL",t[t.MIN=32775]="MIN",t[t.MAX=32776]="MAX",t[t.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",t[t.STREAM_READ=35041]="STREAM_READ",t[t.STREAM_COPY=35042]="STREAM_COPY",t[t.STATIC_READ=35045]="STATIC_READ",t[t.STATIC_COPY=35046]="STATIC_COPY",t[t.DYNAMIC_READ=35049]="DYNAMIC_READ",t[t.DYNAMIC_COPY=35050]="DYNAMIC_COPY",t[t.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",t[t.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",t[t.INVALID_INDEX=4294967295]="INVALID_INDEX",t[t.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",t[t.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",t[t.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",t[t.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",t[t.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",t[t.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",t[t.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",t[t.SRGB_EXT=35904]="SRGB_EXT",t[t.SRGB_ALPHA_EXT=35906]="SRGB_ALPHA_EXT",t[t.SRGB8_ALPHA8_EXT=35907]="SRGB8_ALPHA8_EXT",t[t.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT",t[t.R16_EXT=33322]="R16_EXT",t[t.RG16_EXT=33324]="RG16_EXT",t[t.RGB16_EXT=32852]="RGB16_EXT",t[t.RGBA16_EXT=32859]="RGBA16_EXT",t[t.R16_SNORM_EXT=36760]="R16_SNORM_EXT",t[t.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",t[t.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",t[t.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",t[t.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",t[t.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",t[t.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",t[t.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",t[t.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",t[t.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",t[t.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",t[t.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",t[t.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",t[t.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",t[t.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",t[t.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",t[t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",t[t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",t[t.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",t[t.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",t[t.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",t[t.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",t[t.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",t[t.UNSIGNED_INT_24_8_WEBGL=34042]="UNSIGNED_INT_24_8_WEBGL",t[t.HALF_FLOAT_OES=36193]="HALF_FLOAT_OES",t[t.RGBA32F_EXT=34836]="RGBA32F_EXT",t[t.RGB32F_EXT=34837]="RGB32F_EXT",t[t.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT",t[t.UNSIGNED_NORMALIZED_EXT=35863]="UNSIGNED_NORMALIZED_EXT",t[t.MIN_EXT=32775]="MIN_EXT",t[t.MAX_EXT=32776]="MAX_EXT",t[t.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT_OES",t[t.COLOR_ATTACHMENT0_WEBGL=36064]="COLOR_ATTACHMENT0_WEBGL",t[t.COLOR_ATTACHMENT1_WEBGL=36065]="COLOR_ATTACHMENT1_WEBGL",t[t.COLOR_ATTACHMENT2_WEBGL=36066]="COLOR_ATTACHMENT2_WEBGL",t[t.COLOR_ATTACHMENT3_WEBGL=36067]="COLOR_ATTACHMENT3_WEBGL",t[t.COLOR_ATTACHMENT4_WEBGL=36068]="COLOR_ATTACHMENT4_WEBGL",t[t.COLOR_ATTACHMENT5_WEBGL=36069]="COLOR_ATTACHMENT5_WEBGL",t[t.COLOR_ATTACHMENT6_WEBGL=36070]="COLOR_ATTACHMENT6_WEBGL",t[t.COLOR_ATTACHMENT7_WEBGL=36071]="COLOR_ATTACHMENT7_WEBGL",t[t.COLOR_ATTACHMENT8_WEBGL=36072]="COLOR_ATTACHMENT8_WEBGL",t[t.COLOR_ATTACHMENT9_WEBGL=36073]="COLOR_ATTACHMENT9_WEBGL",t[t.COLOR_ATTACHMENT10_WEBGL=36074]="COLOR_ATTACHMENT10_WEBGL",t[t.COLOR_ATTACHMENT11_WEBGL=36075]="COLOR_ATTACHMENT11_WEBGL",t[t.COLOR_ATTACHMENT12_WEBGL=36076]="COLOR_ATTACHMENT12_WEBGL",t[t.COLOR_ATTACHMENT13_WEBGL=36077]="COLOR_ATTACHMENT13_WEBGL",t[t.COLOR_ATTACHMENT14_WEBGL=36078]="COLOR_ATTACHMENT14_WEBGL",t[t.COLOR_ATTACHMENT15_WEBGL=36079]="COLOR_ATTACHMENT15_WEBGL",t[t.DRAW_BUFFER0_WEBGL=34853]="DRAW_BUFFER0_WEBGL",t[t.DRAW_BUFFER1_WEBGL=34854]="DRAW_BUFFER1_WEBGL",t[t.DRAW_BUFFER2_WEBGL=34855]="DRAW_BUFFER2_WEBGL",t[t.DRAW_BUFFER3_WEBGL=34856]="DRAW_BUFFER3_WEBGL",t[t.DRAW_BUFFER4_WEBGL=34857]="DRAW_BUFFER4_WEBGL",t[t.DRAW_BUFFER5_WEBGL=34858]="DRAW_BUFFER5_WEBGL",t[t.DRAW_BUFFER6_WEBGL=34859]="DRAW_BUFFER6_WEBGL",t[t.DRAW_BUFFER7_WEBGL=34860]="DRAW_BUFFER7_WEBGL",t[t.DRAW_BUFFER8_WEBGL=34861]="DRAW_BUFFER8_WEBGL",t[t.DRAW_BUFFER9_WEBGL=34862]="DRAW_BUFFER9_WEBGL",t[t.DRAW_BUFFER10_WEBGL=34863]="DRAW_BUFFER10_WEBGL",t[t.DRAW_BUFFER11_WEBGL=34864]="DRAW_BUFFER11_WEBGL",t[t.DRAW_BUFFER12_WEBGL=34865]="DRAW_BUFFER12_WEBGL",t[t.DRAW_BUFFER13_WEBGL=34866]="DRAW_BUFFER13_WEBGL",t[t.DRAW_BUFFER14_WEBGL=34867]="DRAW_BUFFER14_WEBGL",t[t.DRAW_BUFFER15_WEBGL=34868]="DRAW_BUFFER15_WEBGL",t[t.MAX_COLOR_ATTACHMENTS_WEBGL=36063]="MAX_COLOR_ATTACHMENTS_WEBGL",t[t.MAX_DRAW_BUFFERS_WEBGL=34852]="MAX_DRAW_BUFFERS_WEBGL",t[t.VERTEX_ARRAY_BINDING_OES=34229]="VERTEX_ARRAY_BINDING_OES",t[t.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",t[t.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",t[t.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",t[t.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",t[t.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",t[t.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",t[t.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",t}(ti||{});var Sr=t=>`${t}`;var ka=Sr`\
169
29
  #if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))
170
30
 
171
31
  struct AmbientLight {
@@ -200,7 +60,7 @@ float getPointLightAttenuation(PointLight pointLight, float distance) {
200
60
  }
201
61
 
202
62
  #endif
203
- `;var uS={lightSources:{}};function Kc(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:e=[0,0,0],intensity:r=1}=t;return e.map(n=>n*r/255)}function lS(t){let{ambientLight:e,pointLights:r=[],directionalLights:n=[]}=t,i={};return e?i["lighting_uAmbientLight.color"]=Kc(e):i["lighting_uAmbientLight.color"]=[0,0,0],r.forEach((o,s)=>{i[`lighting_uPointLight[${s}].color`]=Kc(o),i[`lighting_uPointLight[${s}].position`]=o.position,i[`lighting_uPointLight[${s}].attenuation`]=o.attenuation||[1,0,0]}),i.lighting_uPointLightCount=r.length,n.forEach((o,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=Kc(o),i[`lighting_uDirectionalLight[${s}].direction`]=o.direction}),i.lighting_uDirectionalLightCount=n.length,i}function Qp(){var t,e;let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:uS;if("lightSources"in r){let{ambientLight:n,pointLights:i,directionalLights:o}=r.lightSources||{};return n||i&&i.length>0||o&&o.length>0?Object.assign({},lS({ambientLight:n,pointLights:i,directionalLights:o}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in r){let n={pointLights:[],directionalLights:[]};for(let i of r.lights||[])switch(i.type){case"ambient":n.ambientLight=i;break;case"directional":(t=n.directionalLights)===null||t===void 0||t.push(i);break;case"point":(e=n.pointLights)===null||e===void 0||e.push(i);break;default:}return Qp({lightSources:n})}return{}}var $p={name:"lights",vs:Xc,fs:Xc,getUniforms:Qp,defines:{MAX_LIGHTS:3}};var em=ne`\
63
+ `;var aE={lightSources:{}};function Ga(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:e=[0,0,0],intensity:r=1}=t;return e.map(n=>n*r/255)}function cE(t){let{ambientLight:e,pointLights:r=[],directionalLights:n=[]}=t,s={};return e?s["lighting_uAmbientLight.color"]=Ga(e):s["lighting_uAmbientLight.color"]=[0,0,0],r.forEach((i,o)=>{s[`lighting_uPointLight[${o}].color`]=Ga(i),s[`lighting_uPointLight[${o}].position`]=i.position,s[`lighting_uPointLight[${o}].attenuation`]=i.attenuation||[1,0,0]}),s.lighting_uPointLightCount=r.length,n.forEach((i,o)=>{s[`lighting_uDirectionalLight[${o}].color`]=Ga(i),s[`lighting_uDirectionalLight[${o}].direction`]=i.direction}),s.lighting_uDirectionalLightCount=n.length,s}function ku(){var t,e;let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:aE;if("lightSources"in r){let{ambientLight:n,pointLights:s,directionalLights:i}=r.lightSources||{};return n||s&&s.length>0||i&&i.length>0?Object.assign({},cE({ambientLight:n,pointLights:s,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in r){let n={pointLights:[],directionalLights:[]};for(let s of r.lights||[])switch(s.type){case"ambient":n.ambientLight=s;break;case"directional":(t=n.directionalLights)===null||t===void 0||t.push(s);break;case"point":(e=n.pointLights)===null||e===void 0||e.push(s);break;default:}return ku({lightSources:n})}return{}}var Gu={name:"lights",vs:ka,fs:ka,getUniforms:ku,defines:{MAX_LIGHTS:3}};var Ku=Sr`\
204
64
  uniform mat4 u_MVPMatrix;
205
65
  uniform mat4 u_ModelMatrix;
206
66
  uniform mat4 u_NormalMatrix;
@@ -238,7 +98,7 @@ void pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, ve
238
98
  pbr_vUV = vec2(0.,0.);
239
99
  #endif
240
100
  }
241
- `;var tm=ne`\
101
+ `;var Ju=Sr`\
242
102
  #if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)
243
103
  # error PBR fragment shader: Texture LOD is not available
244
104
  #endif
@@ -637,22 +497,30 @@ vec4 pbr_filterColor(vec4 colorUnused)
637
497
 
638
498
  return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);
639
499
  }
640
- `;var Yc={name:"pbr",vs:em,fs:tm,defines:{LIGHTING_FRAGMENT:1},dependencies:[$p]};var Zc=P(_t(),1);var Go=class{constructor(e){this.modules=void 0,this.moduleUniforms=void 0,this.moduleBindings=void 0,this.moduleUniformsChanged=void 0;let r=Xn(Object.values(e));Zc.log.log(1,"Creating ShaderInputs with modules",r.map(n=>n.name))(),this.modules=e,this.moduleUniforms={},this.moduleBindings={};for(let[n,i]of Object.entries(e)){let o=n;this.moduleUniforms[o]=i.defaultUniforms||{},this.moduleBindings[o]={}}}destroy(){}setProps(e){for(let n of Object.keys(e)){var r;let i=n,o=e[i],s=this.modules[i];if(!s){Zc.log.warn(`Module ${n} not found`)();continue}let a=this.moduleUniforms[i],c=((r=s.getUniforms)===null||r===void 0?void 0:r.call(s,o,this.moduleUniforms[i]))||o;this.moduleUniforms[i]={...a,...c}}}getModules(){return Object.values(this.modules)}getUniformValues(){return this.moduleUniforms}getBindings(){let e={};for(let r of Object.values(this.moduleBindings))Object.assign(e,r);return e}getDebugTable(){let e={};for(let[n,i]of Object.entries(this.moduleUniforms))for(let[o,s]of Object.entries(i)){var r;e[`${n}.${o}`]={type:(r=this.modules[n].uniformTypes)===null||r===void 0?void 0:r[o],value:String(s)}}return e}};var vt=P(_t(),1),Ho=class{constructor(e){this.id=void 0,this.userData={},this.topology=void 0,this.bufferLayout=[],this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.id=e.id||(0,vt.uid)("geometry"),this.topology=e.topology,this.indices=e.indices||null,this.attributes=e.attributes,this.vertexCount=e.vertexCount,this.bufferLayout=e.bufferLayout||[],this.indices&&(0,vt.assert)(this.indices.usage===vt.Buffer.INDEX)}destroy(){var e;this.indices.destroy(),this.attributes.positions.destroy(),this.attributes.normals.destroy(),this.attributes.texCoords.destroy(),(e=this.attributes.colors)===null||e===void 0||e.destroy()}getVertexCount(){return this.vertexCount}getAttributes(){return this.attributes}getIndexes(){return this.indices}_calculateVertexCount(e){return e.byteLength/12}};function rm(t,e){if(e instanceof Ho)return e;let r=fS(t,e),{attributes:n,bufferLayout:i}=hS(t,e);return new Ho({topology:e.topology||"triangle-list",bufferLayout:i,vertexCount:e.vertexCount,indices:r,attributes:n})}function fS(t,e){if(!e.indices)return;let r=e.indices.value;return t.createBuffer({usage:vt.Buffer.INDEX,data:r})}function hS(t,e){let r=[],n={};for(let[o,s]of Object.entries(e.attributes)){let a=o;switch(o){case"POSITION":a="positions";break;case"NORMAL":a="normals";break;case"TEXCOORD_0":a="texCoords";break;case"COLOR_0":a="colors";break}n[a]=t.createBuffer({data:s.value,id:`${o}-buffer`});let{value:c,size:u,normalized:l}=s;r.push({name:a,format:(0,vt.getVertexFormatFromAttribute)(c,u,l)})}let i=e._calculateVertexCount(e.attributes,e.indices);return{attributes:n,bufferLayout:r,vertexCount:i}}var nm=P(_t(),1),Ht=class{static getDefaultPipelineFactory(e){return e._lumaData.defaultPipelineFactory=e._lumaData.defaultPipelineFactory||new Ht(e),e._lumaData.defaultPipelineFactory}constructor(e){this.device=void 0,this._hashCounter=0,this._hashes={},this._useCounts={},this._pipelineCache={},this.device=e}createRenderPipeline(e){let r={...Ht.defaultProps,...e},n=this._hashRenderPipeline({...r});if(!this._pipelineCache[n]){let i=this.device.createRenderPipeline({...r,vs:this.device.createShader({stage:"vertex",source:r.vs}),fs:r.fs?this.device.createShader({stage:"fragment",source:r.fs}):null});i.hash=n,this._pipelineCache[n]=i,this._useCounts[n]=0}return this._useCounts[n]++,this._pipelineCache[n]}release(e){let r=e.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._pipelineCache[r].destroy(),delete this._pipelineCache[r],delete this._useCounts[r])}_createRenderPipeline(e){if(!e.fs)throw new Error("fs");return this.device.createRenderPipeline({...e,vs:this.device.createShader({stage:"vertex",source:e.vs}),fs:e.fs?this.device.createShader({stage:"fragment",source:e.fs}):null})}_hashRenderPipeline(e){let r=this._getHash(e.vs),n=e.fs?this._getHash(e.fs):0,i="-";switch(this.device.info.type){case"webgpu":let o=this._getHash(JSON.stringify(e.parameters)),s=this._getHash(JSON.stringify(e.bufferLayout));return`${r}/${n}V${i}T${e.topology}P${o}BL${s}}`;default:return`${r}/${n}V${i}`}}_getHash(e){return this._hashes[e]===void 0&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}};Ht.defaultProps={...nm.RenderPipeline.defaultProps,vs:void 0,fs:void 0};function im(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r={},n=`Shader Layout for ${e}`;for(let i of t.attributes)if(i){let o=`${i.location} ${i.name}: ${i.type}`;r[`in ${o}`]={[n]:i.stepMode||"vertex"}}for(let i of t.varyings||[]){let o=`${i.location} ${i.name}`;r[`out ${o}`]={[n]:JSON.stringify(i.accessor)}}return r}var zr=2,dS=1e4,Vt=class{constructor(e,r){var n,i,o;this.device=void 0,this.id=void 0,this.vs=void 0,this.fs=void 0,this.pipelineFactory=void 0,this.userData={},this.parameters=void 0,this.topology=void 0,this.bufferLayout=void 0,this.vertexCount=void 0,this.instanceCount=0,this.indexBuffer=null,this.bufferAttributes={},this.constantAttributes={},this.bindings={},this.uniforms={},this.vertexArray=void 0,this.transformFeedback=null,this.pipeline=void 0,this.shaderInputs=void 0,this._uniformStore=void 0,this._pipelineNeedsUpdate="newly created",this._attributeInfos={},this._gpuGeometry=null,this._getModuleUniforms=void 0,this.props=void 0,this._lastLogTime=0,this._logOpen=!1,this.props={...Vt.defaultProps,...r},r=this.props,this.id=r.id||(0,ie.uid)("model"),this.device=e,Object.assign(this.userData,r.userData);let s=Object.fromEntries(((n=this.props.modules)===null||n===void 0?void 0:n.map(h=>[h.name,h]))||[]);this.setShaderInputs(r.shaderInputs||new Go(s));let a=pS(e),c=(((i=this.props.modules)===null||i===void 0?void 0:i.length)>0?this.props.modules:(o=this.shaderInputs)===null||o===void 0?void 0:o.getModules())||[],{vs:u,fs:l,getUniforms:f}=this.props.shaderAssembler.assembleShaders({platformInfo:a,...this.props,modules:c});if(this.vs=u,this.fs=l,this._getModuleUniforms=f,this.vertexCount=this.props.vertexCount,this.instanceCount=this.props.instanceCount,this.topology=this.props.topology,this.bufferLayout=this.props.bufferLayout,this.parameters=this.props.parameters,r.geometry&&(this._gpuGeometry=this.setGeometry(r.geometry)),this.pipelineFactory=r.pipelineFactory||Ht.getDefaultPipelineFactory(this.device),this.pipeline=this._updatePipeline(),this.vertexArray=e.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry),r.vertexCount&&this.setVertexCount(r.vertexCount),r.instanceCount&&this.setInstanceCount(r.instanceCount),r.indices)throw new Error("Model.props.indices removed. Use props.indexBuffer");r.indexBuffer&&this.setIndexBuffer(r.indexBuffer),r.attributes&&this.setAttributes(r.attributes),r.constantAttributes&&this.setConstantAttributes(r.constantAttributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&(ie.log.warn("Model.props.moduleSettings is deprecated. Use Model.shaderInputs.setProps()")(),this.updateModuleSettings(r.moduleSettings)),r.transformFeedback&&(this.transformFeedback=r.transformFeedback),Object.seal(this)}destroy(){this.pipelineFactory.release(this.pipeline),this._uniformStore.destroy()}predraw(){this.updateShaderInputs()}draw(e){this.predraw();try{this._logDrawCallStart(),this.pipeline=this._updatePipeline(),this.pipeline.setBindings(this.bindings),this.pipeline.setUniforms(this.uniforms),this.pipeline.draw({renderPass:e,vertexArray:this.vertexArray,vertexCount:this.vertexCount,instanceCount:this.instanceCount,transformFeedback:this.transformFeedback})}finally{this._logDrawCallEnd()}}setGeometry(e){let r=e&&rm(this.device,e);return this.setTopology(r.topology||"triangle-list"),this.bufferLayout=om(this.bufferLayout,r.bufferLayout),this.vertexArray&&this._setGeometryAttributes(r),r}_setGeometryAttributes(e){this.vertexCount=e.vertexCount,this.setAttributes(e.attributes,"ignore-unknown"),this.setIndexBuffer(e.indices)}setTopology(e){e!==this.topology&&(this.topology=e,this._setPipelineNeedsUpdate("topology"))}setBufferLayout(e){this.bufferLayout=this._gpuGeometry?om(e,this._gpuGeometry.bufferLayout):e,this._setPipelineNeedsUpdate("bufferLayout"),this.pipeline=this._updatePipeline(),this.vertexArray=this.device.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry)}setParameters(e){(0,ie.deepEqual)(e,this.parameters,2)||(this.parameters=e,this._setPipelineNeedsUpdate("parameters"))}setVertexCount(e){this.vertexCount=e}setInstanceCount(e){this.instanceCount=e}setShaderInputs(e){this.shaderInputs=e,this._uniformStore=new zt.UniformStore(this.shaderInputs.modules);for(let r of Object.keys(this.shaderInputs.modules)){let n=this._uniformStore.getManagedUniformBuffer(this.device,r);this.bindings[`${r}Uniforms`]=n}}updateShaderInputs(){this._uniformStore.setUniforms(this.shaderInputs.getUniformValues())}updateModuleSettings(e){ie.log.warn("Model.updateModuleSettings is deprecated. Use Model.shaderInputs.setProps()")();let{bindings:r,uniforms:n}=(0,ie.splitUniformsAndBindings)(this._getModuleUniforms(e));Object.assign(this.bindings,r),Object.assign(this.uniforms,n)}setBindings(e){Object.assign(this.bindings,e)}setUniforms(e){this.pipeline.setUniforms(e),Object.assign(this.uniforms,e)}setIndexBuffer(e){this.vertexArray.setIndexBuffer(e)}setTransformFeedback(e){this.transformFeedback=e}setAttributes(e,r){e.indices&&ie.log.warn(`Model:${this.id} setAttributes() - indexBuffer should be set using setIndexBuffer()`)();for(let[n,i]of Object.entries(e)){let o=this.bufferLayout.find(c=>sm(c).includes(n));if(!o){ie.log.warn(`Model(${this.id}): Missing layout for buffer "${n}".`)();continue}let s=sm(o),a=!1;for(let c of s){let u=this._attributeInfos[c];u&&(this.vertexArray.setBuffer(u.location,i),a=!0)}!a&&r!=="ignore-unknown"&&ie.log.warn(`Model(${this.id}): Ignoring buffer "${i.id}" for unknown attribute "${n}"`)()}}setConstantAttributes(e){for(let[r,n]of Object.entries(e)){let i=this._attributeInfos[r];i?this.vertexArray.setConstant(i.location,n):ie.log.warn(`Model "${this.id}: Ignoring constant supplied for unknown attribute "${r}"`)()}}_setPipelineNeedsUpdate(e){this._pipelineNeedsUpdate=this._pipelineNeedsUpdate||e}_updatePipeline(){return this._pipelineNeedsUpdate&&(this.pipeline&&ie.log.log(1,`Model ${this.id}: Recreating pipeline because "${this._pipelineNeedsUpdate}".`)(),this._pipelineNeedsUpdate=!1,this.pipeline=this.device.createRenderPipeline({...this.props,bufferLayout:this.bufferLayout,topology:this.topology,parameters:this.parameters,vs:this.device.createShader({id:"{$this.id}-vertex",stage:"vertex",source:this.vs}),fs:this.fs?this.device.createShader({id:"{$this.id}-fragment",stage:"fragment",source:this.fs}):null}),this._attributeInfos=(0,am.getAttributeInfosFromLayouts)(this.pipeline.shaderLayout,this.bufferLayout)),this.pipeline}_logDrawCallStart(){let e=ie.log.level>3?0:dS;Date.now()-this._lastLogTime<e||(this._lastLogTime=Date.now(),this._logOpen=!0,ie.log.group(zr,`>>> DRAWING MODEL ${this.id}`,{collapsed:ie.log.level<=2})())}_logDrawCallEnd(){if(this._logOpen){let e=im(this.pipeline.shaderLayout);ie.log.table(zr,e)();let r=this.shaderInputs.getDebugTable();for(let[i,o]of Object.entries(this.uniforms))r[i]={value:o};ie.log.table(zr,r)();let n=this._getAttributeDebugTable();ie.log.table(zr,this._attributeInfos)(),ie.log.table(zr,n)(),ie.log.groupEnd(zr)(),this._logOpen=!1}}_getAttributeDebugTable(){let e={};for(let[r,n]of Object.entries(this._attributeInfos))e[n.location]={name:r,type:n.shaderType,values:this._getBufferOrConstantValues(this.vertexArray.attributes[n.location],n.bufferDataType)};if(this.vertexArray.indexBuffer){let{indexBuffer:r}=this.vertexArray,n=r.indexType==="uint32"?new Uint32Array(r.debugData):new Uint16Array(r.debugData);e.indices={name:"indices",type:r.indexType,values:n.toString()}}return e}_getBufferOrConstantValues(e,r){let n=(0,zt.getTypedArrayFromDataType)(r);return(e instanceof zt.Buffer?new n(e.debugData):e).toString()}};Vt.defaultProps={...zt.RenderPipeline.defaultProps,vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:void 0,geometry:null,indexBuffer:null,attributes:{},constantAttributes:{},varyings:[],shaderInputs:void 0,pipelineFactory:void 0,transformFeedback:void 0,shaderAssembler:We.getDefaultShaderAssembler()};function om(t,e){let r=[...t];for(let n of e){let i=r.findIndex(o=>o.name===n.name);i<0?r.push(n):r[i]=n}return r}function pS(t){return{type:t.info.type,shaderLanguage:t.info.shadingLanguage,shaderLanguageVersion:t.info.shadingLanguageVersion,gpu:t.info.gpu,features:t.features}}function sm(t){var e;return t.attributes?(e=t.attributes)===null||e===void 0?void 0:e.map(r=>r.attribute):[t.name]}var jr=P(_t(),1),Yn=class{constructor(e){this.id=void 0,this.topology=void 0,this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.userData={};let{attributes:r={},indices:n=null,vertexCount:i=null}=e;this.id=e.id||(0,jr.uid)("geometry"),this.topology=e.topology,n&&(this.indices=ArrayBuffer.isView(n)?{value:n,size:1}:n),this.attributes={};for(let[o,s]of Object.entries(r)){let a=ArrayBuffer.isView(s)?{value:s}:s;(0,jr.assert)(ArrayBuffer.isView(a.value),`${this._print(o)}: must be typed array or object with value as typed array`),(o==="POSITION"||o==="positions")&&!a.size&&(a.size=3),o==="indices"?((0,jr.assert)(!this.indices),this.indices=a):this.attributes[o]=a}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=i||this._calculateVertexCount(this.attributes,this.indices)}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,r){return this}_calculateVertexCount(e,r){if(r)return r.value.length;let n=1/0;for(let i of Object.values(e)){let{value:o,size:s,constant:a}=i;!a&&o&&s>=1&&(n=Math.min(n,o.length/s))}return(0,jr.assert)(Number.isFinite(n)),n}};var Xt=P(ze()),J0=P(Ve()),q0=P(Vo());var um=P(_t(),1),at=function(t){return t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.LINEAR=9729]="LINEAR",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t}(at||{});function Qc(t,e,r,n){let i={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};t.features.has("glsl-texture-lod")&&(i.defines.USE_TEX_LOD=1);let{imageBasedLightingEnvironment:o}=n;return o&&(i.bindings.u_DiffuseEnvSampler=o.diffuseEnvSampler,i.bindings.u_SpecularEnvSampler=o.specularEnvSampler,i.bindings.u_brdfLUT=o.brdfLutTexture,i.uniforms.u_ScaleIBLAmbient=[1,1]),n!=null&&n.pbrDebug&&(i.defines.PBR_DEBUG=1,i.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],i.uniforms.u_ScaleFGDSpec=[0,0,0,0]),r.NORMAL&&(i.defines.HAS_NORMALS=1),r.TANGENT&&n!==null&&n!==void 0&&n.useTangents&&(i.defines.HAS_TANGENTS=1),r.TEXCOORD_0&&(i.defines.HAS_UV=1),n!=null&&n.imageBasedLightingEnvironment&&(i.defines.USE_IBL=1),n!=null&&n.lights&&(i.defines.USE_LIGHTS=1),e&&mS(t,e,i),i}function mS(t,e,r){if(r.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&gS(t,e.pbrMetallicRoughness,r),e.normalTexture){Zn(t,e.normalTexture,"u_NormalSampler","HAS_NORMALMAP",r);let{scale:n=1}=e.normalTexture;r.uniforms.u_NormalScale=n}if(e.occlusionTexture){Zn(t,e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP",r);let{strength:n=1}=e.occlusionTexture;r.uniforms.u_OcclusionStrength=n}switch(e.emissiveTexture&&(Zn(t,e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP",r),r.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),e.alphaMode){case"MASK":let{alphaCutoff:n=.5}=e;r.defines.ALPHA_CUTOFF=1,r.uniforms.u_AlphaCutoff=n;break;case"BLEND":um.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),r.parameters.blendColorOperation="add",r.parameters.blendColorSrcFactor="src-alpha",r.parameters.blendColorDstFactor="one-minus-src-alpha",r.parameters.blendAlphaOperation="add",r.parameters.blendAlphaSrcFactor="one",r.parameters.blendAlphaDstFactor="one-minus-src-alpha",r.glParameters.blend=!0,r.glParameters.blendEquation=at.FUNC_ADD,r.glParameters.blendFunc=[at.SRC_ALPHA,at.ONE_MINUS_SRC_ALPHA,at.ONE,at.ONE_MINUS_SRC_ALPHA];break}}function gS(t,e,r){e.baseColorTexture&&Zn(t,e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP",r),r.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&Zn(t,e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP",r);let{metallicFactor:n=1,roughnessFactor:i=1}=e;r.uniforms.u_MetallicRoughnessValues=[n,i]}function Zn(t,e,r){var n;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,o=arguments.length>4?arguments[4]:void 0,s=(e==null||(n=e.texture)===null||n===void 0||(n=n.sampler)===null||n===void 0?void 0:n.parameters)||{},a=e.texture.source.image,c,u={};a.compressed?(c=a,u={[at.TEXTURE_MIN_FILTER]:a.data.length>1?at.LINEAR_MIPMAP_NEAREST:at.LINEAR}):c={data:a};let l=t.createTexture({id:e.uniformName||e.id,parameters:{...s,...u},pixelStore:{[at.UNPACK_FLIP_Y_WEBGL]:!1},...c});o.bindings[r]=l,i&&(o.defines[i]=1),o.generatedTextures.push(l)}var lm="4.1.0-alpha.9";var zo={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},$c;async function tu(t){let e=t.modules||{};return e.basis?e.basis:($c=$c||yS(t),await $c)}async function yS(t){let e=null,r=null;return[e,r]=await Promise.all([await tt(zo.TRANSCODER,"textures",t),await tt(zo.TRANSCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await AS(e,r)}function AS(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(i=>{let{BasisFile:o,initializeBasis:s}=i;s(),n({BasisFile:o})})})}var eu;async function ru(t){let e=t.modules||{};return e.basisEncoder?e.basisEncoder:(eu=eu||_S(t),await eu)}async function _S(t){let e=null,r=null;return[e,r]=await Promise.all([await tt(zo.ENCODER,"textures",t),await tt(zo.ENCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await vS(e,r)}function vS(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(i=>{let{BasisFile:o,KTX2File:s,initializeBasis:a,BasisEncoder:c}=i;a(),n({BasisFile:o,KTX2File:s,BasisEncoder:c})})})}var lr={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var xS=["","WEBKIT_","MOZ_"],fm={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},jo=null;function hm(t){if(!jo){t=t||TS()||void 0,jo=new Set;for(let e of xS)for(let r in fm)if(t&&t.getExtension(`${e}${r}`)){let n=fm[r];jo.add(n)}}return jo}function TS(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var OG=new Uint8Array([0]);var dm,pm,mm,gm,ym,Am,_m,vm;(function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB"})(dm||(dm={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT"}(pm||(pm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC"}(mm||(mm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB"}(gm||(gm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2"}(ym||(ym={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(Am||(Am={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA"}(_m||(_m={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG"}(vm||(vm={}));var Oe=[171,75,84,88,32,50,48,187,13,10,26,10];function xm(t){let e=new Uint8Array(t);return!(e.byteLength<Oe.length||e[0]!==Oe[0]||e[1]!==Oe[1]||e[2]!==Oe[2]||e[3]!==Oe[3]||e[4]!==Oe[4]||e[5]!==Oe[5]||e[6]!==Oe[6]||e[7]!==Oe[7]||e[8]!==Oe[8]||e[9]!==Oe[9]||e[10]!==Oe[10]||e[11]!==Oe[11])}var bS={etc1:{basisFormat:0,compressed:!0,format:lr.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:lr.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:lr.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:lr.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:lr.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:lr.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function iu(t,e){if(e.basis.containerFormat==="auto"){if(xm(t)){let n=await ru(e);return Tm(n.KTX2File,t,e)}let{BasisFile:r}=await tu(e);return nu(r,t,e)}switch(e.basis.module){case"encoder":let r=await ru(e);switch(e.basis.containerFormat){case"ktx2":return Tm(r.KTX2File,t,e);case"basis":default:return nu(r.BasisFile,t,e)}case"transcoder":default:let{BasisFile:n}=await tu(e);return nu(n,t,e)}}function nu(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),o=[];for(let s=0;s<i;s++){let a=n.getNumLevels(s),c=[];for(let u=0;u<a;u++)c.push(ES(n,s,u,r));o.push(c)}return o}finally{n.close(),n.delete()}}function ES(t,e,r,n){let i=t.getImageWidth(e,r),o=t.getImageHeight(e,r),s=t.getHasAlpha(),{compressed:a,format:c,basisFormat:u}=bm(n,s),l=t.getImageTranscodedSizeInBytes(e,r,u),f=new Uint8Array(l);if(!t.transcodeImage(f,e,r,u,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:o,data:f,compressed:a,format:c,hasAlpha:s}}function Tm(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),o=[];for(let s=0;s<i;s++){o.push(SS(n,s,r));break}return[o]}finally{n.close(),n.delete()}}function SS(t,e,r){let{alphaFlag:n,height:i,width:o}=t.getImageLevelInfo(e,0,0),{compressed:s,format:a,basisFormat:c}=bm(r,n),u=t.getImageTranscodedSizeInBytes(e,0,0,c),l=new Uint8Array(u);if(!t.transcodeImage(l,e,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:o,height:i,data:l,compressed:s,levelSize:u,hasAlpha:n,format:a}}function bm(t,e){let r=t&&t.basis&&t.basis.format;return r==="auto"&&(r=ko()),typeof r=="object"&&(r=e?r.alpha:r.noAlpha),r=r.toLowerCase(),bS[r]}function ko(){let t=hm();return t.has("astc")?"astc-4x4":t.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:t.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:t.has("etc1")?"etc1":t.has("etc2")?"etc2":"rgb565"}var Em={name:"Basis",id:"basis",module:"textures",version:lm,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ou={...Em,parse:iu};function su(t){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let e=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=t||e;return!!(r&&r.indexOf("Electron")>=0)}function Xe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||su()}var BS=globalThis.self||globalThis.window||globalThis.global,kr=globalThis.window||globalThis.self||globalThis.global,CS=globalThis.document||{},fr=globalThis.process||{},MS=globalThis.console,YG=globalThis.navigator||{};var Jo=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",$G=Xe();var Mm=P(Vo());var Sm=`#version 300 es
500
+ `;var Ka={name:"pbr",vs:Ku,fs:Ju,defines:{LIGHTING_FRAGMENT:1},dependencies:[Gu]};var ju=v(Da(),1);var Zu=v(qs(),1);var Yu=`#version 300 es
641
501
  #define SHADER_NAME simple-mesh-layer-vs
502
+
503
+ // Scale the model
642
504
  uniform float sizeScale;
643
505
  uniform bool composeModelMatrix;
644
506
  uniform bool pickFeatureIds;
507
+
508
+ // Primitive attributes
645
509
  in vec3 positions;
646
510
  in vec3 normals;
647
511
  in vec3 colors;
648
512
  in vec2 texCoords;
649
513
  in vec4 uvRegions;
650
514
  in vec3 featureIdsPickingColors;
515
+
516
+ // Instance attributes
651
517
  in vec4 instanceColors;
652
518
  in vec3 instancePickingColors;
653
519
  in vec3 instanceModelMatrixCol0;
654
520
  in vec3 instanceModelMatrixCol1;
655
521
  in vec3 instanceModelMatrixCol2;
522
+
523
+ // Outputs to fragment shader
656
524
  out vec2 vTexCoord;
657
525
  out vec3 cameraPosition;
658
526
  out vec3 normals_commonspace;
@@ -661,6 +529,7 @@ out vec4 vColor;
661
529
 
662
530
  vec2 applyUVRegion(vec2 uv) {
663
531
  #ifdef HAS_UV_REGIONS
532
+ // https://github.com/Esri/i3s-spec/blob/master/docs/1.7/geometryUVRegion.cmn.md
664
533
  return fract(uv) * (uvRegions.zw - uvRegions.xy) + uvRegions.xy;
665
534
  #else
666
535
  return uv;
@@ -695,6 +564,7 @@ void main(void) {
695
564
  DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
696
565
 
697
566
  #ifdef MODULE_PBR
567
+ // set PBR data
698
568
  pbr_vPosition = geometry.position.xyz;
699
569
  #ifdef HAS_NORMALS
700
570
  pbr_vNormal = geometry.normal;
@@ -710,7 +580,7 @@ void main(void) {
710
580
 
711
581
  DECKGL_FILTER_COLOR(vColor, geometry);
712
582
  }
713
- `;var Bm=`#version 300 es
583
+ `;var qu=`#version 300 es
714
584
  #define SHADER_NAME simple-mesh-layer-fs
715
585
 
716
586
  precision highp float;
@@ -742,6 +612,11 @@ void main(void) {
742
612
 
743
613
  vec3 normal;
744
614
  if (flatShading) {
615
+
616
+ // NOTE(Tarek): This is necessary because
617
+ // headless.gl reports the extension as
618
+ // available but does not support it in
619
+ // the shader.
745
620
  #ifdef DERIVATIVES_AVAILABLE
746
621
  normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));
747
622
  #else
@@ -759,13 +634,6 @@ void main(void) {
759
634
 
760
635
  DECKGL_FILTER_COLOR(fragColor, geometry);
761
636
  }
762
- `;function qo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?qo=function(r){return typeof r}:qo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},qo(t)}function Cm(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function jt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Cm(Object(r),!0).forEach(function(n){wS(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Cm(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function wS(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function IS(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function kt(t,e,r){return typeof Reflect<"u"&&Reflect.get?kt=Reflect.get:kt=function(i,o,s){var a=OS(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},kt(t,e,r||t)}function OS(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=ct(t),t!==null););return t}function RS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&au(t,e)}function au(t,e){return au=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},au(t,e)}function LS(t){var e=DS();return function(){var n=ct(t),i;if(e){var o=ct(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return PS(this,i)}}function PS(t,e){if(e&&(qo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return FS(t)}function FS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function DS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ct(t){return ct=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ct(t)}function NS(t){var e=t.positions||t.POSITION,r=e.value.length/e.size,n=t.COLOR_0||t.colors;n||(t.colors={size:4,value:new Uint8Array(r*4).fill(255),normalized:!0})}var US={pbrMaterial:{type:"object",value:null},featureIds:{type:"array",value:null,optional:!0}},Wo=function(t){RS(r,t);var e=LS(r);function r(){return IS(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var o=kt(ct(r.prototype),"getShaders",this).call(this),s=o.modules;return s.push(Yc),jt(jt({},o),{},{vs:Sm,fs:Bm})},n.initializeState=function(){var o=this.props.featureIds;kt(ct(r.prototype),"initializeState",this).call(this);var s=this.getAttributeManager();o&&s.add({featureIdsPickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateFeatureIdsPickingColors}})},n.updateState=function(o){kt(ct(r.prototype),"updateState",this).call(this,o);var s=o.props,a=o.oldProps;s.pbrMaterial!==a.pbrMaterial&&this.updatePbrMaterialUniforms(s.pbrMaterial)},n.draw=function(o){var s=this.props.featureIds;this.state.model&&(this.state.model.setUniforms({u_Camera:this.state.model.uniforms.project_uCameraPosition,pickFeatureIds:Boolean(s)}),kt(ct(r.prototype),"draw",this).call(this,o))},n.getModel=function(o){var s=this.props,a=s.id,c=s.pbrMaterial,u=this.parseMaterial(c,o);this.setState({parsedPBRMaterial:u});var l=this.getShaders();NS(o.attributes);var f=new Vt(this.context.device,jt(jt({},this.getShaders()),{},{id:a,geometry:o,bufferLayout:this.getAttributeManager().getBufferLayouts(),defines:jt(jt(jt({},l.defines),u?.defines),{},{HAS_UV_REGIONS:o.attributes.uvRegions?1:0}),parameters:u?.parameters,isInstanced:!0}));return f},n.updatePbrMaterialUniforms=function(o){var s=this.state.model;if(s){var a=this.props.mesh,c=this.parseMaterial(o,a);this.setState({parsedPBRMaterial:c}),s.setBindings(c.bindings),s.setUniforms(c.uniforms)}},n.parseMaterial=function(o,s){var a=Boolean(o.pbrMetallicRoughness&&o.pbrMetallicRoughness.baseColorTexture);return Qc(this.context.device,jt({unlit:a},o),{NORMAL:s.attributes.normals,TEXCOORD_0:s.attributes.texCoords},{pbrDebug:!1,lights:!0,useTangents:!1})},n.calculateFeatureIdsPickingColors=function(o){for(var s=this.props.featureIds,a=new Uint8ClampedArray(s.length*o.size),c=[],u=0;u<s.length;u++)this.encodePickingColor(s[u],c),a[u*3]=c[0],a[u*3+1]=c[1],a[u*3+2]=c[2];o.value=a},n.finalizeState=function(o){var s;kt(ct(r.prototype),"finalizeState",this).call(this,o),(s=this.state.parsedPBRMaterial)===null||s===void 0||s.generatedTextures.forEach(function(a){return a.destroy()}),this.setState({parsedPBRMaterial:null})},r}(Mm.SimpleMeshLayer);Wo.layerName="MeshLayer";Wo.defaultProps=US;var W0=P(Jr());var xt=6356752314245179e-9,GS={radii:[6378137,6378137,xt],radiiSquared:[6378137*6378137,6378137*6378137,xt*xt],oneOverRadii:[1/6378137,1/6378137,1/xt],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(xt*xt)],maximumRadius:Math.max(6378137,6378137,xt),centerToleranceSquared:.1};function Xo(t){return t}var x4=new T;function HS(t,e=[],r=Xo){return"longitude"in t?(e[0]=r(t.longitude),e[1]=r(t.latitude),e[2]=t.height):"x"in t?(e[0]=r(t.x),e[1]=r(t.y),e[2]=t.z):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function Im(t,e=[]){return HS(t,e,Y._cartographicRadians?Xo:Fa)}function VS(t,e,r=Xo){return"longitude"in e?(e.longitude=r(t[0]),e.latitude=r(t[1]),e.height=t[2]):"x"in e?(e.x=r(t[0]),e.y=r(t[1]),e.z=t[2]):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function Om(t,e){return VS(t,e,Y._cartographicRadians?Xo:Da)}var Rm=1e-14,zS=new T,Lm={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},cu={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Qn={east:new T,north:new T,up:new T,west:new T,south:new T,down:new T},jS=new T,kS=new T,JS=new T;function uu(t,e,r,n,i,o){let s=Lm[e]&&Lm[e][r];le(s&&(!n||n===s));let a,c,u,l=zS.copy(i);if(_e(l.x,0,Rm)&&_e(l.y,0,Rm)){let h=Math.sign(l.z);a=jS.fromArray(cu[e]),e!=="east"&&e!=="west"&&a.scale(h),c=kS.fromArray(cu[r]),r!=="east"&&r!=="west"&&c.scale(h),u=JS.fromArray(cu[n]),n!=="east"&&n!=="west"&&u.scale(h)}else{let{up:h,east:d,north:p}=Qn;d.set(-l.y,l.x,0).normalize(),t.geodeticSurfaceNormal(l,h),p.copy(h).cross(d);let{down:g,west:m,south:A}=Qn;g.copy(h).scale(-1),m.copy(d).scale(-1),A.copy(p).scale(-1),a=Qn[e],c=Qn[r],u=Qn[n]}return o[0]=a.x,o[1]=a.y,o[2]=a.z,o[3]=0,o[4]=c.x,o[5]=c.y,o[6]=c.z,o[7]=0,o[8]=u.x,o[9]=u.y,o[10]=u.z,o[11]=0,o[12]=l.x,o[13]=l.y,o[14]=l.z,o[15]=1,o}var qr=new T,qS=new T,WS=new T;function Pm(t,e,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:o}=e;qr.from(t);let s=qr.x,a=qr.y,c=qr.z,u=n.x,l=n.y,f=n.z,h=s*s*u*u,d=a*a*l*l,p=c*c*f*f,g=h+d+p,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let A=qS;if(A.copy(t).scale(m),g<o)return A.to(r);let _=i.x,v=i.y,x=i.z,B=WS;B.set(A.x*_*2,A.y*v*2,A.z*x*2);let S=(1-m)*qr.len()/(.5*B.len()),C=0,E,b,y,M;do{S-=C,E=1/(1+S*_),b=1/(1+S*v),y=1/(1+S*x);let I=E*E,O=b*b,R=y*y,F=I*E,X=O*b,z=R*y;M=h*I+d*O+p*R-1;let W=-2*(h*F*_+d*X*v+p*z*x);C=M/W}while(Math.abs(M)>je.EPSILON12);return qr.scale([E,b,y]).to(r)}var Ko=new T,Fm=new T,YS=new T,Ke=new T,ZS=new T,Yo=new T,U=class{constructor(e=0,r=0,n=0){L(this,"radii",void 0),L(this,"radiiSquared",void 0),L(this,"radiiToTheFourth",void 0),L(this,"oneOverRadii",void 0),L(this,"oneOverRadiiSquared",void 0),L(this,"minimumRadius",void 0),L(this,"maximumRadius",void 0),L(this,"centerToleranceSquared",je.EPSILON1),L(this,"squaredXOverSquaredZ",void 0),le(e>=0),le(r>=0),le(n>=0),this.radii=new T(e,r,n),this.radiiSquared=new T(e*e,r*r,n*n),this.radiiToTheFourth=new T(e*e*e*e,r*r*r*r,n*n*n*n),this.oneOverRadii=new T(e===0?0:1/e,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new T(e===0?0:1/(e*e),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(e,r,n),this.maximumRadius=Math.max(e,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}toString(){return this.radii.toString()}cartographicToCartesian(e,r=[0,0,0]){let n=Fm,i=YS,[,,o]=e;this.geodeticSurfaceNormalCartographic(e,n),i.copy(this.radiiSquared).scale(n);let s=Math.sqrt(n.dot(i));return i.scale(1/s),n.scale(o),i.add(n),i.to(r)}cartesianToCartographic(e,r=[0,0,0]){Yo.from(e);let n=this.scaleToGeodeticSurface(Yo,Ke);if(!n)return;let i=this.geodeticSurfaceNormal(n,Fm),o=ZS;o.copy(Yo).subtract(n);let s=Math.atan2(i.y,i.x),a=Math.asin(i.z),c=Math.sign(Pr.dot(o,Yo))*Pr.length(o);return Om([s,a,c],r)}eastNorthUpToFixedFrame(e,r=new D){return uu(this,"east","north","up",e,r)}localFrameToFixedFrame(e,r,n,i,o=new D){return uu(this,e,r,n,i,o)}geocentricSurfaceNormal(e,r=[0,0,0]){return Ko.from(e).normalize().to(r)}geodeticSurfaceNormalCartographic(e,r=[0,0,0]){let n=Im(e),i=n[0],o=n[1],s=Math.cos(o);return Ko.set(s*Math.cos(i),s*Math.sin(i),Math.sin(o)).normalize(),Ko.to(r)}geodeticSurfaceNormal(e,r=[0,0,0]){return Ko.from(e).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(e,r){return Pm(e,this,r)}scaleToGeocentricSurface(e,r=[0,0,0]){Ke.from(e);let n=Ke.x,i=Ke.y,o=Ke.z,s=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*s.x+i*i*s.y+o*o*s.z);return Ke.multiplyScalar(a).to(r)}transformPositionToScaledSpace(e,r=[0,0,0]){return Ke.from(e).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(e,r=[0,0,0]){return Ke.from(e).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(e,r=0,n=[0,0,0]){le(_e(this.radii.x,this.radii.y,je.EPSILON15)),le(this.radii.z>0),Ke.from(e);let i=Ke.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Ke.set(0,0,i).to(n)}};L(U,"WGS84",new U(6378137,6378137,xt));var Zo=class{constructor(e,r,n){this.item=void 0,this.previous=void 0,this.next=void 0,this.item=e,this.previous=r,this.next=n}};var Qo=class{constructor(){this.head=null,this.tail=null,this._length=0}get length(){return this._length}add(e){let r=new Zo(e,this.tail,null);return this.tail?(this.tail.next=r,this.tail=r):(this.head=r,this.tail=r),++this._length,r}remove(e){e&&(e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,--this._length)}splice(e,r){e!==r&&(this.remove(r),this._insert(e,r))}_insert(e,r){let n=e.next;e.next=r,this.tail===e?this.tail=r:n.previous=r,r.next=n,r.previous=e,++this._length}};var $o=class{constructor(){this._list=void 0,this._sentinel=void 0,this._trimTiles=void 0,this._list=new Qo,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}reset(){this._list.splice(this._list.tail,this._sentinel)}touch(e){let r=e._cacheNode;r&&this._list.splice(this._sentinel,r)}add(e,r,n){r._cacheNode||(r._cacheNode=this._list.add(r),n&&n(e,r))}unloadTile(e,r,n){let i=r._cacheNode;i&&(this._list.remove(i),r._cacheNode=null,n&&n(e,r))}unloadTiles(e,r){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=e.maximumMemoryUsage*1024*1024,s=this._sentinel,a=i.head;for(;a!==s&&(e.gpuMemoryUsageInBytes>o||n);){let c=a.item;a=a.next,this.unloadTile(e,c,r)}}trim(){this._trimTiles=!0}};function Dm(t,e){H(t),H(e);let{rtcCenter:r,gltfUpAxis:n}=e,{computedTransform:i,boundingVolume:{center:o}}=t,s=new D(i);switch(r&&s.translate(r),n){case"Z":break;case"Y":let f=new D().rotateX(Math.PI/2);s=s.multiplyRight(f);break;case"X":let h=new D().rotateY(-Math.PI/2);s=s.multiplyRight(h);break;default:break}e.isQuantized&&s.translate(e.quantizedVolumeOffset).scale(e.quantizedVolumeScale);let a=new T(o);e.cartesianModelMatrix=s,e.cartesianOrigin=a;let c=U.WGS84.cartesianToCartographic(a,new T),l=U.WGS84.eastNorthUpToFixedFrame(a).invert();e.cartographicModelMatrix=l.multiplyRight(s),e.cartographicOrigin=c,e.coordinateSystem||(e.modelMatrix=e.cartographicModelMatrix)}var Nm=new T,lu=new T,fu=new ce([new fe,new fe,new fe,new fe,new fe,new fe]);function Gm(t,e){let{cameraDirection:r,cameraUp:n,height:i}=t,{metersPerUnit:o}=t.distanceScales,s=es(t,t.center),a=U.WGS84.eastNorthUpToFixedFrame(s),c=t.unprojectPosition(t.cameraPosition),u=U.WGS84.cartographicToCartesian(c,new T),l=new T(a.transformAsVector(new T(r).scale(o))).normalize(),f=new T(a.transformAsVector(new T(n).scale(o))).normalize();QS(t);let h=t.constructor,{longitude:d,latitude:p,width:g,bearing:m,zoom:A}=t,_=new h({longitude:d,latitude:p,height:i,width:g,bearing:m,zoom:A,pitch:0});return{camera:{position:u,direction:l,up:f},viewport:t,topDownViewport:_,height:i,cullingVolume:fu,frameNumber:e,sseDenominator:1.15}}function Hm(t,e,r){if(r===0||t.length<=r)return[t,[]];let n=[],{longitude:i,latitude:o}=e.viewport;for(let[u,l]of t.entries()){let[f,h]=l.header.mbs,d=Math.abs(i-f),p=Math.abs(o-h),g=Math.sqrt(p*p+d*d);n.push([u,g])}let s=n.sort((u,l)=>u[1]-l[1]),a=[];for(let u=0;u<r;u++)a.push(t[s[u][0]]);let c=[];for(let u=r;u<s.length;u++)c.push(t[s[u][0]]);return[a,c]}function QS(t){let e=t.getFrustumPlanes(),r=Um(e.near,t.cameraPosition),n=es(t,r),i=es(t,t.cameraPosition,lu),o=0;fu.planes[o++].fromPointNormal(n,Nm.copy(n).subtract(i));for(let s in e){if(s==="near")continue;let a=e[s],c=Um(a,r,lu),u=es(t,c,lu);fu.planes[o++].fromPointNormal(u,Nm.copy(n).subtract(u))}}function Um(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new T,n=t.normal.dot(e);return r.copy(t.normal).scale(t.distance-n).add(e),r}function es(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new T,n=t.unprojectPosition(e);return U.WGS84.cartographicToCartesian(n,r)}var $S=6378137,eB=6378137,hu=6356752314245179e-9,Wr=new T;function Vm(t,e){if(t instanceof Je){let{halfAxes:r}=t,n=tB(r);return Math.log2(hu/(n+e[2]))}else if(t instanceof Pe){let{radius:r}=t;return Math.log2(hu/(r+e[2]))}else if(t.width&&t.height){let{width:r,height:n}=t,i=Math.log2($S/r),o=Math.log2(eB/n);return(i+o)/2}return 1}function du(t,e,r){U.WGS84.cartographicToCartesian([t.xmax,t.ymax,t.zmax],Wr);let n=Math.sqrt(Math.pow(Wr[0]-r[0],2)+Math.pow(Wr[1]-r[1],2)+Math.pow(Wr[2]-r[2],2));return Math.log2(hu/(n+e[2]))}function zm(t,e,r){let[n,i,o,s]=t;return du({xmin:n,xmax:o,ymin:i,ymax:s,zmin:0,zmax:0},e,r)}function tB(t){t.getColumn(0,Wr);let e=t.getColumn(1),r=t.getColumn(2);return Wr.add(e).add(r).len()}var og=P(Jr(),1);var ve={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},be=function(t){return t[t.ADD=1]="ADD",t[t.REPLACE=2]="REPLACE",t}({}),ut=function(t){return t.EMPTY="empty",t.SCENEGRAPH="scenegraph",t.POINTCLOUD="pointcloud",t.MESH="mesh",t}({}),pe=function(t){return t.I3S="I3S",t.TILES3D="TILES3D",t}({}),hr=function(t){return t.GEOMETRIC_ERROR="geometricError",t.MAX_SCREEN_THRESHOLD="maxScreenThreshold",t}({}),jm={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0};function Wm(t){return t!=null}var me=new T,ts=new T,rB=new T,nB=new T,dr=new T,km=new T,Jm=new T,qm=new T;function rs(t,e,r){if(H(t,"3D Tile: boundingVolume must be defined"),t.box)return Km(t.box,e,r);if(t.region)return oB(t.region);if(t.sphere)return iB(t.sphere,e,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Xm(t,e){if(t.box)return sB(e);if(t.region){let[r,n,i,o,s,a]=t.region;return[[Ie(r),Ie(n),s],[Ie(i),Ie(o),a]]}if(t.sphere)return aB(e);throw new Error("Unkown boundingVolume type")}function Km(t,e,r){let n=new T(t[0],t[1],t[2]);e.transform(n,n);let i=[];if(t.length===10){let u=t.slice(3,6),l=new nt;l.fromArray(t,6);let f=new T([1,0,0]),h=new T([0,1,0]),d=new T([0,0,1]);f.transformByQuaternion(l),f.scale(u[0]),h.transformByQuaternion(l),h.scale(u[1]),d.transformByQuaternion(l),d.scale(u[2]),i=[...f.toArray(),...h.toArray(),...d.toArray()]}else i=[...t.slice(3,6),...t.slice(6,9),...t.slice(9,12)];let o=e.transformAsVector(i.slice(0,3)),s=e.transformAsVector(i.slice(3,6)),a=e.transformAsVector(i.slice(6,9)),c=new j([o[0],o[1],o[2],s[0],s[1],s[2],a[0],a[1],a[2]]);return Wm(r)?(r.center=n,r.halfAxes=c,r):new Je(n,c)}function iB(t,e,r){let n=new T(t[0],t[1],t[2]);e.transform(n,n);let i=e.getScale(ts),o=Math.max(Math.max(i[0],i[1]),i[2]),s=t[3]*o;return Wm(r)?(r.center=n,r.radius=s,r):new Pe(n,s)}function oB(t){let[e,r,n,i,o,s]=t,a=U.WGS84.cartographicToCartesian([Ie(e),Ie(i),o],rB),c=U.WGS84.cartographicToCartesian([Ie(n),Ie(r),s],nB),u=new T().addVectors(a,c).multiplyByScalar(.5);return U.WGS84.cartesianToCartographic(u,dr),U.WGS84.cartographicToCartesian([Ie(n),dr[1],dr[2]],km),U.WGS84.cartographicToCartesian([dr[0],Ie(i),dr[2]],Jm),U.WGS84.cartographicToCartesian([dr[0],dr[1],s],qm),Km([...u,...km.subtract(u),...Jm.subtract(u),...qm.subtract(u)],new D)}function sB(t){let e=Ym(),{halfAxes:r}=t,n=new T(r.getColumn(0)),i=new T(r.getColumn(1)),o=new T(r.getColumn(2));for(let s=0;s<2;s++){for(let a=0;a<2;a++){for(let c=0;c<2;c++)me.copy(t.center),me.add(n),me.add(i),me.add(o),Zm(e,me),o.negate();i.negate()}n.negate()}return e}function aB(t){let e=Ym(),{center:r,radius:n}=t,i=U.WGS84.scaleToGeodeticSurface(r,me),o;i?o=U.WGS84.geodeticSurfaceNormal(i):o=new T(0,0,1);let s=new T(o[2],-o[1],0);s.len()>0?s.normalize():s=new T(0,1,0);let a=s.clone().cross(o);for(let c of[s,a,o]){ts.copy(c).scale(n);for(let u=0;u<2;u++)me.copy(r),me.add(ts),Zm(e,me),ts.negate()}return e}function Ym(){return[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]]}function Zm(t,e){U.WGS84.cartesianToCartographic(e,me),t[0][0]=Math.min(t[0][0],me[0]),t[0][1]=Math.min(t[0][1],me[1]),t[0][2]=Math.min(t[0][2],me[2]),t[1][0]=Math.max(t[1][0],me[0]),t[1][1]=Math.max(t[1][1],me[1]),t[1][2]=Math.max(t[1][2],me[2])}var c8=new T,u8=new T,l8=new D,f8=new T,h8=new T,d8=new T;function cB(t,e){let r=t*e;return 1-Math.exp(-(r*r))}function uB(t,e){if(t.dynamicScreenSpaceError&&t.dynamicScreenSpaceErrorComputedDensity){let r=t.dynamicScreenSpaceErrorComputedDensity,n=t.dynamicScreenSpaceErrorFactor;return cB(e,r)*n}return 0}function Qm(t,e,r){let n=t.tileset,i=t.parent&&t.parent.lodMetricValue||t.lodMetricValue,o=r?i:t.lodMetricValue;if(o===0)return 0;let s=Math.max(t._distanceToCamera,1e-7),{height:a,sseDenominator:c}=e,{viewDistanceScale:u}=n.options,l=o*a*(u||1)/(s*c);return l-=uB(n,s),l}var pu=new T,$m=new T,Jt=new T,eg=new T,lB=new T,mu=new D,tg=new D;function rg(t,e){if(t.lodMetricValue===0||isNaN(t.lodMetricValue))return"DIG";let r=2*gu(t,e);return r<2?"OUT":!t.header.children||r<=t.lodMetricValue?"DRAW":t.header.children?"DIG":"OUT"}function gu(t,e){let{topDownViewport:r}=e,n=t.header.mbs[1],i=t.header.mbs[0],o=t.header.mbs[2],s=t.header.mbs[3],a=[...t.boundingVolume.center],c=r.unprojectPosition(r.cameraPosition);U.WGS84.cartographicToCartesian(c,pu),$m.copy(pu).subtract(a).normalize(),U.WGS84.eastNorthUpToFixedFrame(a,mu),tg.copy(mu).invert(),Jt.copy(pu).transform(tg);let u=Math.sqrt(Jt[0]*Jt[0]+Jt[1]*Jt[1]),l=u*u/Jt[2];eg.copy([Jt[0],Jt[1],l]);let h=eg.transform(mu).subtract(a).normalize(),p=$m.cross(h).normalize().scale(s).add(a),g=U.WGS84.cartesianToCartographic(p),m=r.project([i,n,o]),A=r.project(g);return lB.copy(m).subtract(A).magnitude()}function ng(t){return{assetGltfUpAxis:t.asset&&t.asset.gltfUpAxis||"Y"}}var $n=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this._map=new Map,this._array=void 0,this._length=void 0,this._array=new Array(e),this._length=e}get length(){return this._length}set length(e){this._length=e,e>this._array.length&&(this._array.length=e)}get values(){return this._array}get(e){return H(e<this._array.length),this._array[e]}set(e,r){H(e>=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=r,this._map.set(r,e)}delete(e){let r=this._map.get(e);r>=0&&(this._array.splice(r,1),this._map.delete(e),this.length--)}peek(){return this._array[this._length-1]}push(e){if(!this._map.has(e)){let r=this.length++;this._array[r]=e,this._map.set(e,r)}}pop(){let e=this._array[--this.length];return this._map.delete(e),e}reserve(e){H(e>=0),e>this._array.length&&(this._array.length=e)}resize(e){H(e>=0),this.length=e}trim(e){e==null&&(e=this.length),this._array.length=e}reset(){this._array=[],this._map=new Map,this._length=0}find(e){return this._map.has(e)}};var fB={loadSiblings:!1,skipLevelOfDetail:!1,maximumScreenSpaceError:2,updateTransforms:!0,onTraversalEnd:()=>{},viewportTraversersMap:{},basePath:""},lt=class{traversalFinished(e){return!0}constructor(e){this.options=void 0,this.root=null,this.selectedTiles={},this.requestedTiles={},this.emptyTiles={},this.lastUpdate=new Date().getTime(),this.updateDebounceTime=1e3,this._traversalStack=new $n,this._emptyTraversalStack=new $n,this._frameNumber=null,this.options={...fB,...e}}traverse(e,r,n){this.root=e,this.options={...this.options,...n},this.reset(),this.updateTile(e,r),this._frameNumber=r.frameNumber,this.executeTraversal(e,r)}reset(){this.requestedTiles={},this.selectedTiles={},this.emptyTiles={},this._traversalStack.reset(),this._emptyTraversalStack.reset()}executeTraversal(e,r){let n=this._traversalStack;for(e._selectionDepth=1,n.push(e);n.length>0;){let o=n.pop(),s=!1;this.canTraverse(o,r)&&(this.updateChildTiles(o,r),s=this.updateAndPushChildren(o,r,n,o.hasRenderContent?o._selectionDepth+1:o._selectionDepth));let a=o.parent,c=Boolean(!a||a._shouldRefine),u=!s;o.hasRenderContent?o.refine===be.ADD?(this.loadTile(o,r),this.selectTile(o,r)):o.refine===be.REPLACE&&(this.loadTile(o,r),u&&this.selectTile(o,r)):(this.emptyTiles[o.id]=o,this.loadTile(o,r),u&&this.selectTile(o,r)),this.touchTile(o,r),o._shouldRefine=s&&c}let i=new Date().getTime();(this.traversalFinished(r)||i-this.lastUpdate>this.updateDebounceTime)&&(this.lastUpdate=i,this.options.onTraversalEnd(r))}updateChildTiles(e,r){let n=e.children;for(let i of n)this.updateTile(i,r)}updateAndPushChildren(e,r,n,i){let{loadSiblings:o,skipLevelOfDetail:s}=this.options,a=e.children;a.sort(this.compareDistanceToCamera.bind(this));let c=e.refine===be.REPLACE&&e.hasRenderContent&&!s,u=!1,l=!0;for(let f of a)if(f._selectionDepth=i,f.isVisibleAndInRequestVolume?(n.find(f)&&n.delete(f),n.push(f),u=!0):(c||o)&&(this.loadTile(f,r),this.touchTile(f,r)),c){let h;if(f._inRequestVolume?f.hasRenderContent?h=f.contentAvailable:h=this.executeEmptyTraversal(f,r):h=!1,l=l&&h,!l)return!1}return u||(l=!1),l}updateTile(e,r){this.updateTileVisibility(e,r)}selectTile(e,r){this.shouldSelectTile(e)&&(e._selectedFrame=r.frameNumber,this.selectedTiles[e.id]=e)}loadTile(e,r){this.shouldLoadTile(e)&&(e._requestedFrame=r.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}touchTile(e,r){e.tileset._cache.touch(e),e._touchedFrame=r.frameNumber}canTraverse(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return e.hasChildren?e.hasTilesetContent?!e.contentExpired:!i&&!e.isVisibleAndInRequestVolume?!1:this.shouldRefine(e,r,n):!1}shouldLoadTile(e){return e.hasUnloadedContent||e.contentExpired}shouldSelectTile(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}shouldRefine(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=e._screenSpaceError;return n&&(i=e.getScreenSpaceError(r,!0)),i>this.options.maximumScreenSpaceError}updateTileVisibility(e,r){let n=[];if(this.options.viewportTraversersMap)for(let i in this.options.viewportTraversersMap)this.options.viewportTraversersMap[i]===r.viewport.id&&n.push(i);else n.push(r.viewport.id);e.updateVisibility(r,n)}compareDistanceToCamera(e,r){return e._distanceToCamera-r._distanceToCamera}anyChildrenVisible(e,r){let n=!1;for(let i of e.children)i.updateVisibility(r),n=n||i.isVisibleAndInRequestVolume;return n}executeEmptyTraversal(e,r){let n=!0,i=this._emptyTraversalStack;for(i.push(e);i.length>0;){let o=i.pop(),s=!o.hasRenderContent&&this.canTraverse(o,r,!1,!1),a=!o.hasRenderContent&&o.children.length===0;if(!s&&!o.contentAvailable&&!a&&(n=!1),this.updateTile(o,r),o.isVisibleAndInRequestVolume||(this.loadTile(o,r),this.touchTile(o,r)),s){let c=o.children;for(let u of c)i.push(u)}}return n}};var ig=new T;function hB(t){return t!=null}var pr=class{constructor(e,r,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";this.tileset=void 0,this.header=void 0,this.id=void 0,this.url=void 0,this.parent=void 0,this.refine=void 0,this.type=void 0,this.contentUrl=void 0,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=ve.UNLOADED,this.gpuMemoryUsageInBytes=0,this.children=[],this.depth=0,this.viewportIds=[],this.transform=new D,this.extensions=null,this.implicitTiling=null,this.userData={},this.computedTransform=void 0,this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.traverser=new lt({}),this._cacheNode=null,this._frameNumber=null,this._expireDate=null,this._expiredContent=null,this._boundingBox=void 0,this._distanceToCamera=0,this._screenSpaceError=0,this._visibilityPlaneMask=void 0,this._visible=void 0,this._contentBoundingVolume=void 0,this._viewerRequestVolume=void 0,this._initialTransform=new D,this._priority=0,this._selectedFrame=0,this._requestedFrame=0,this._selectionDepth=0,this._touchedFrame=0,this._centerZDepth=0,this._shouldRefine=!1,this._stackLength=0,this._visitedFrame=0,this._inRequestVolume=!1,this._lodJudge=null,this.header=r,this.tileset=e,this.id=i||r.id,this.url=r.url,this.parent=n,this.refine=this._getRefine(r.refine),this.type=r.type,this.contentUrl=r.contentUrl,this._initializeLodMetric(r),this._initializeTransforms(r),this._initializeBoundingVolumes(r),this._initializeContent(r),this._initializeRenderingState(r),Object.seal(this)}destroy(){this.header=null}isDestroyed(){return this.header===null}get selected(){return this._selectedFrame===this.tileset._frameNumber}get isVisible(){return this._visible}get isVisibleAndInRequestVolume(){return this._visible&&this._inRequestVolume}get hasRenderContent(){return!this.hasEmptyContent&&!this.hasTilesetContent}get hasChildren(){return this.children.length>0||this.header.children&&this.header.children.length>0}get contentReady(){return this.contentState===ve.READY||this.hasEmptyContent}get contentAvailable(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}get hasUnloadedContent(){return this.hasRenderContent&&this.contentUnloaded}get contentUnloaded(){return this.contentState===ve.UNLOADED}get contentExpired(){return this.contentState===ve.EXPIRED}get contentFailed(){return this.contentState===ve.FAILED}get distanceToCamera(){return this._distanceToCamera}get screenSpaceError(){return this._screenSpaceError}get boundingBox(){return this._boundingBox||(this._boundingBox=Xm(this.header.boundingVolume,this.boundingVolume)),this._boundingBox}getScreenSpaceError(e,r){switch(this.tileset.type){case pe.I3S:return gu(this,e);case pe.TILES3D:return Qm(this,e,r);default:throw new Error("Unsupported tileset type")}}unselect(){this._selectedFrame=0}_getGpuMemoryUsageInBytes(){return this.content.gpuMemoryUsageInBytes||this.content.byteLength||0}_getPriority(){let e=this.tileset._traverser,{skipLevelOfDetail:r}=e.options,n=this.refine===be.ADD||r;if(n&&!this.isVisible&&this._visible!==void 0||this.tileset._frameNumber-this._touchedFrame>=1||this.contentState===ve.UNLOADED)return-1;let i=this.parent,s=i&&(!n||this._screenSpaceError===0||i.hasTilesetContent)?i._screenSpaceError:this._screenSpaceError,a=e.root?e.root._screenSpaceError:0;return Math.max(a-s,0)}async loadContent(){if(this.hasEmptyContent)return!1;if(this.content)return!0;this.contentExpired&&(this._expireDate=null),this.contentState=ve.LOADING;let r=await this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));if(!r)return this.contentState=ve.UNLOADED,!1;try{let n=this.tileset.getTileUrl(this.contentUrl),i=this.tileset.loader,o={...this.tileset.loadOptions,[i.id]:{...this.tileset.loadOptions[i.id],isTileset:this.type==="json",...this._getLoaderSpecificOptions(i.id)}};return this.content=await(0,og.load)(n,i,o),this.tileset.options.contentLoader&&await this.tileset.options.contentLoader(this),this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=ve.READY,this._onContentLoaded(),!0}catch(n){throw this.contentState=ve.FAILED,n}finally{r.done()}}unloadContent(){return this.content&&this.content.destroy&&this.content.destroy(),this.content=null,this.header.content&&this.header.content.destroy&&this.header.content.destroy(),this.header.content=null,this.contentState=ve.UNLOADED,!0}updateVisibility(e,r){if(this._frameNumber===e.frameNumber)return;let n=this.parent,i=n?n._visibilityPlaneMask:ce.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){let o=n?n.computedTransform:this.tileset.modelMatrix;this._updateTransform(o)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,i),this._visible=this._visibilityPlaneMask!==ce.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=r}visibility(e,r){let{cullingVolume:n}=e,{boundingVolume:i}=this;return n.computeVisibilityWithPlaneMask(i,r)}contentVisibility(){return!0}distanceToTile(e){let r=this.boundingVolume;return Math.sqrt(Math.max(r.distanceSquaredTo(e.camera.position),0))}cameraSpaceZDepth(e){let{camera:r}=e,n=this.boundingVolume;return ig.subVectors(n.center,r.position),r.direction.dot(ig)}insideViewerRequestVolume(e){let r=this._viewerRequestVolume;return!r||r.distanceSquaredTo(e.camera.position)<=0}updateExpiration(){if(hB(this._expireDate)&&this.contentReady&&!this.hasEmptyContent){let e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=ve.EXPIRED,this._expiredContent=this.content)}}get extras(){return this.header.extras}_initializeLodMetric(e){"lodMetricType"in e?this.lodMetricType=e.lodMetricType:(this.lodMetricType=this.parent&&this.parent.lodMetricType||this.tileset.lodMetricType,console.warn("3D Tile: Required prop lodMetricType is undefined. Using parent lodMetricType")),"lodMetricValue"in e?this.lodMetricValue=e.lodMetricValue:(this.lodMetricValue=this.parent&&this.parent.lodMetricValue||this.tileset.lodMetricValue,console.warn("3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue"))}_initializeTransforms(e){this.transform=e.transform?new D(e.transform):new D;let r=this.parent,n=this.tileset,i=r&&r.computedTransform?r.computedTransform.clone():n.modelMatrix.clone();this.computedTransform=new D(i).multiplyRight(this.transform);let o=r&&r._initialTransform?r._initialTransform.clone():new D;this._initialTransform=new D(o).multiplyRight(this.transform)}_initializeBoundingVolumes(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}_initializeContent(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=ve.UNLOADED,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}_initializeRenderingState(e){this.depth=e.level||(this.parent?this.parent.depth+1:0),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._visibilityPlaneMask=ce.MASK_INDETERMINATE,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._frameNumber=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._priority=0}_getRefine(e){return e||this.parent&&this.parent.refine||be.REPLACE}_isTileset(){return this.contentUrl.indexOf(".json")!==-1}_onContentLoaded(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0;break;default:}this._isTileset()?this.hasTilesetContent=!0:this.gpuMemoryUsageInBytes=this._getGpuMemoryUsageInBytes()}_updateBoundingVolume(e){this.boundingVolume=rs(e.boundingVolume,this.computedTransform,this.boundingVolume);let r=e.content;r&&(r.boundingVolume&&(this._contentBoundingVolume=rs(r.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=rs(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}_updateTransform(){let r=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:new D).clone().multiplyRight(this.transform);r.equals(this.computedTransform)||(this.computedTransform=r,this._updateBoundingVolume(this.header))}_getLoaderSpecificOptions(e){switch(e){case"i3s":return{...this.tileset.options.i3s,_tileOptions:{attributeUrls:this.header.attributeUrls,textureUrl:this.header.textureUrl,textureFormat:this.header.textureFormat,textureLoaderOptions:this.header.textureLoaderOptions,materialDefinition:this.header.materialDefinition,isDracoGeometry:this.header.isDracoGeometry,mbs:this.header.mbs},_tilesetOptions:{store:this.tileset.tileset.store,attributeStorageInfo:this.tileset.tileset.attributeStorageInfo,fields:this.tileset.tileset.fields},isTileHeader:!1};case"3d-tiles":case"cesium-ion":default:return ng(this.tileset.tileset)}}};var ns=class extends lt{compareDistanceToCamera(e,r){return r._distanceToCamera===0&&e._distanceToCamera===0?r._centerZDepth-e._centerZDepth:r._distanceToCamera-e._distanceToCamera}updateTileVisibility(e,r){if(super.updateTileVisibility(e,r),!e.isVisibleAndInRequestVolume)return;let n=e.children.length>0;if(e.hasTilesetContent&&n){let s=e.children[0];this.updateTileVisibility(s,r),e._visible=s._visible;return}if(this.meetsScreenSpaceErrorEarly(e,r)){e._visible=!1;return}let i=e.refine===be.REPLACE,o=e._optimChildrenWithinParent===jm.USE_OPTIMIZATION;if(i&&o&&n&&!this.anyChildrenVisible(e,r)){e._visible=!1;return}}meetsScreenSpaceErrorEarly(e,r){let{parent:n}=e;return!n||n.hasTilesetContent||n.refine!==be.ADD?!1:!this.shouldRefine(e,r,!0)}};var sg=P(Jr(),1);var is=class{constructor(){this.frameNumberMap=new Map}register(e,r){let n=this.frameNumberMap.get(e)||new Map,i=n.get(r)||0;n.set(r,i+1),this.frameNumberMap.set(e,n)}deregister(e,r){let n=this.frameNumberMap.get(e);if(!n)return;let i=n.get(r)||1;n.set(r,i-1)}isZero(e,r){var n;return(((n=this.frameNumberMap.get(e))===null||n===void 0?void 0:n.get(r))||0)===0}};var yu={REQUESTED:"REQUESTED",COMPLETED:"COMPLETED",ERROR:"ERROR"},os=class{constructor(){this._statusMap=void 0,this.pendingTilesRegister=new is,this._statusMap={}}add(e,r,n,i){if(!this._statusMap[r]){let{frameNumber:o,viewport:{id:s}}=i;this._statusMap[r]={request:e,callback:n,key:r,frameState:i,status:yu.REQUESTED},this.pendingTilesRegister.register(s,o),e().then(a=>{this._statusMap[r].status=yu.COMPLETED;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),this._statusMap[r].callback(a,i)}).catch(a=>{this._statusMap[r].status=yu.ERROR;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),n(a)})}}update(e,r){if(this._statusMap[e]){let{frameNumber:n,viewport:{id:i}}=this._statusMap[e].frameState;this.pendingTilesRegister.deregister(i,n);let{frameNumber:o,viewport:{id:s}}=r;this.pendingTilesRegister.register(s,o),this._statusMap[e].frameState=r}}find(e){return this._statusMap[e]}hasPendingTiles(e,r){return!this.pendingTilesRegister.isZero(e,r)}};var ss=class extends lt{constructor(e){super(e),this._tileManager=void 0,this._tileManager=new os}traversalFinished(e){return!this._tileManager.hasPendingTiles(e.viewport.id,this._frameNumber||0)}shouldRefine(e,r){return e._lodJudge=rg(e,r),e._lodJudge==="DIG"}updateChildTiles(e,r){let n=e.header.children||[],i=e.children,o=e.tileset;for(let s of n){let a=`${s.id}-${r.viewport.id}`,c=i&&i.find(u=>u.id===a);if(c)c&&this.updateTile(c,r);else{let u=()=>this._loadTile(s.id,o);this._tileManager.find(a)?this._tileManager.update(a,r):(o.tileset.nodePages&&(u=()=>o.tileset.nodePagesTile.formTileFromNodePages(s.id)),this._tileManager.add(u,a,f=>this._onTileLoad(f,e,a),r))}}return!1}async _loadTile(e,r){let{loader:n}=r,i=r.getTileUrl(`${r.url}/nodes/${e}`),o={...r.loadOptions,i3s:{...r.loadOptions.i3s,isTileHeader:!0}};return await(0,sg.load)(i,n,o)}_onTileLoad(e,r,n){let i=new pr(r.tileset,e,r,n);r.children.push(i);let o=this._tileManager.find(i.id).frameState;this.updateTile(i,o),this._frameNumber===o.frameNumber&&(this.traversalFinished(o)||new Date().getTime()-this.lastUpdate>this.updateDebounceTime)&&this.executeTraversal(i,o)}};var dB={description:"",ellipsoid:U.WGS84,modelMatrix:new D,throttleRequests:!0,maxRequests:64,maximumMemoryUsage:32,maximumTilesSelected:0,debounceTime:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{},onTraversalComplete:t=>t,contentLoader:void 0,viewDistanceScale:1,maximumScreenSpaceError:8,loadTiles:!0,updateTransforms:!0,viewportTraversersMap:null,loadOptions:{fetch:{}},attributions:[],basePath:"",i3s:{}},as="Tiles In Tileset(s)",Au="Tiles In Memory",ag="Tiles In View",cg="Tiles To Render",ug="Tiles Loaded",_u="Tiles Loading",lg="Tiles Unloaded",fg="Failed Tile Loads",hg="Points/Vertices",vu="Tile Memory Use",ei=class{constructor(e,r){this.options=void 0,this.loadOptions=void 0,this.type=void 0,this.tileset=void 0,this.loader=void 0,this.url=void 0,this.basePath=void 0,this.modelMatrix=void 0,this.ellipsoid=void 0,this.lodMetricType=void 0,this.lodMetricValue=void 0,this.refine=void 0,this.root=null,this.roots={},this.asset={},this.description="",this.properties=void 0,this.extras=null,this.attributions={},this.credits={},this.stats=void 0,this.contentFormats={draco:!1,meshopt:!1,dds:!1,ktx2:!1},this.cartographicCenter=null,this.cartesianCenter=null,this.zoom=1,this.boundingVolume=null,this.dynamicScreenSpaceErrorComputedDensity=0,this.maximumMemoryUsage=32,this.gpuMemoryUsageInBytes=0,this._frameNumber=0,this._queryParams={},this._extensionsUsed=[],this._tiles={},this._pendingCount=0,this.selectedTiles=[],this.traverseCounter=0,this.geometricError=0,this.lastUpdatedVieports=null,this._requestedTiles=[],this._emptyTiles=[],this.frameStateData={},this._traverser=void 0,this._cache=new $o,this._requestScheduler=void 0,this.updatePromise=null,this.tilesetInitializationPromise=void 0,this.options={...dB,...r},this.tileset=e,this.loader=e.loader,this.type=e.type,this.url=e.url,this.basePath=e.basePath||It.dirname(this.url),this.modelMatrix=this.options.modelMatrix,this.ellipsoid=this.options.ellipsoid,this.lodMetricType=e.lodMetricType,this.lodMetricValue=e.lodMetricValue,this.refine=e.root.refine,this.loadOptions=this.options.loadOptions||{},this._traverser=this._initializeTraverser(),this._requestScheduler=new wt({throttleRequests:this.options.throttleRequests,maxRequests:this.options.maxRequests}),this.stats=new Mt({id:this.url}),this._initializeStats(),this.tilesetInitializationPromise=this._initializeTileSet(e)}destroy(){this._destroy()}isLoaded(){return this._pendingCount===0&&this._frameNumber!==0&&this._requestedTiles.length===0}get tiles(){return Object.values(this._tiles)}get frameNumber(){return this._frameNumber}get queryParams(){return new URLSearchParams(this._queryParams).toString()}setProps(e){this.options={...this.options,...e}}getTileUrl(e){if(e.startsWith("data:"))return e;let n=e;return this.queryParams.length&&(n=`${e}${e.includes("?")?"&":"?"}${this.queryParams}`),n}hasExtension(e){return Boolean(this._extensionsUsed.indexOf(e)>-1)}update(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.tilesetInitializationPromise.then(()=>{!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e&&this.doUpdate(e)})}async selectTiles(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return await this.tilesetInitializationPromise,e&&(this.lastUpdatedVieports=e),this.updatePromise||(this.updatePromise=new Promise(r=>{setTimeout(()=>{this.lastUpdatedVieports&&this.doUpdate(this.lastUpdatedVieports),r(this._frameNumber),this.updatePromise=null},this.options.debounceTime)})),this.updatePromise}doUpdate(e){if("loadTiles"in this.options&&!this.options.loadTiles||this.traverseCounter>0)return;let r=e instanceof Array?e:[e];this._cache.reset(),this._frameNumber++,this.traverseCounter=r.length;let n=[];for(let i of r){let o=i.id;this._needTraverse(o)?n.push(o):this.traverseCounter--}for(let i of r){let o=i.id;if(this.roots[o]||(this.roots[o]=this._initializeTileHeaders(this.tileset,null)),!n.includes(o))continue;let s=Gm(i,this._frameNumber);this._traverser.traverse(this.roots[o],s,this.options)}}_needTraverse(e){let r=e;return this.options.viewportTraversersMap&&(r=this.options.viewportTraversersMap[e]),r===e}_onTraversalEnd(e){let r=e.viewport.id;this.frameStateData[r]||(this.frameStateData[r]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});let n=this.frameStateData[r],i=Object.values(this._traverser.selectedTiles),[o,s]=Hm(i,e,this.options.maximumTilesSelected);n.selectedTiles=o;for(let a of s)a.unselect();n._requestedTiles=Object.values(this._traverser.requestedTiles),n._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,!(this.traverseCounter>0)&&this._updateTiles()}_updateTiles(){this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[];for(let e in this.frameStateData){let r=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(r.selectedTiles),this._requestedTiles=this._requestedTiles.concat(r._requestedTiles),this._emptyTiles=this._emptyTiles.concat(r._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);for(let e of this.selectedTiles)this._tiles[e.id]=e;this._loadTiles(),this._unloadTiles(),this._updateStats()}_tilesChanged(e,r){if(e.length!==r.length)return!0;let n=new Set(e.map(s=>s.id)),i=new Set(r.map(s=>s.id)),o=e.filter(s=>!i.has(s.id)).length>0;return o=o||r.filter(s=>!n.has(s.id)).length>0,o}_loadTiles(){for(let e of this._requestedTiles)e.contentUnloaded&&this._loadTile(e)}_unloadTiles(){this._cache.unloadTiles(this,(e,r)=>e._unloadTile(r))}_updateStats(){let e=0,r=0;for(let n of this.selectedTiles)n.contentAvailable&&n.content&&(e++,n.content.pointCount?r+=n.content.pointCount:r+=n.content.vertexCount);this.stats.get(ag).count=this.selectedTiles.length,this.stats.get(cg).count=e,this.stats.get(hg).count=r}async _initializeTileSet(e){this.type===pe.I3S&&(this.calculateViewPropsI3S(),e.root=await e.root),this.root=this._initializeTileHeaders(e,null),this.type===pe.TILES3D&&(this._initializeTiles3DTileset(e),this.calculateViewPropsTiles3D()),this.type===pe.I3S&&this._initializeI3STileset()}calculateViewPropsI3S(){var e;let r=this.tileset.fullExtent;if(r){let{xmin:i,xmax:o,ymin:s,ymax:a,zmin:c,zmax:u}=r;this.cartographicCenter=new T(i+(o-i)/2,s+(a-s)/2,c+(u-c)/2),this.cartesianCenter=new T,U.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=du(r,this.cartographicCenter,this.cartesianCenter);return}let n=(e=this.tileset.store)===null||e===void 0?void 0:e.extent;if(n){let[i,o,s,a]=n;this.cartographicCenter=new T(i+(s-i)/2,o+(a-o)/2,0),this.cartesianCenter=new T,U.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=zm(n,this.cartographicCenter,this.cartesianCenter);return}console.warn("Extent is not defined in the tileset header"),this.cartographicCenter=new T,this.zoom=1}calculateViewPropsTiles3D(){let e=this.root,{center:r}=e.boundingVolume;if(!r){console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new T,this.zoom=1;return}r[0]!==0||r[1]!==0||r[2]!==0?(this.cartographicCenter=new T,U.WGS84.cartesianToCartographic(r,this.cartographicCenter)):this.cartographicCenter=new T(0,0,-U.WGS84.radii[0]),this.cartesianCenter=r,this.zoom=Vm(e.boundingVolume,this.cartographicCenter)}_initializeStats(){this.stats.get(as),this.stats.get(_u),this.stats.get(Au),this.stats.get(ag),this.stats.get(cg),this.stats.get(ug),this.stats.get(lg),this.stats.get(fg),this.stats.get(hg),this.stats.get(vu,"memory")}_initializeTileHeaders(e,r){let n=new pr(this,e.root,r);if(r&&(r.children.push(n),n.depth=r.depth+1),this.type===pe.TILES3D){let o=[];for(o.push(n);o.length>0;){let s=o.pop();this.stats.get(as).incrementCount();let a=s.header.children||[];for(let c of a){var i;let u=new pr(this,c,s);if((i=u.contentUrl)!==null&&i!==void 0&&i.includes("?session=")){let f=new URL(u.contentUrl).searchParams.get("session");f&&(this._queryParams.session=f)}s.children.push(u),u.depth=s.depth+1,o.push(u)}}}return n}_initializeTraverser(){let e;switch(this.type){case pe.TILES3D:e=ns;break;case pe.I3S:e=ss;break;default:e=lt}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}_destroyTileHeaders(e){this._destroySubtree(e)}async _loadTile(e){let r;try{this._onStartTileLoading(),r=await e.loadContent()}catch(n){this._onTileLoadError(e,n instanceof Error?n:new Error("load failed"))}finally{this._onEndTileLoading(),this._onTileLoad(e,r)}}_onTileLoadError(e,r){this.stats.get(fg).incrementCount();let n=r.message||r.toString(),i=e.url;console.error(`A 3D tile failed to load: ${e.url} ${n}`),this.options.onTileError(e,n,i)}_onTileLoad(e,r){if(r){if(this.type===pe.I3S){var n,i;let o=((n=this.tileset)===null||n===void 0||(i=n.nodePagesTile)===null||i===void 0?void 0:i.nodesInNodePages)||0;this.stats.get(as).reset(),this.stats.get(as).addCount(o)}e&&e.content&&Dm(e,e.content),this.updateContentTypes(e),this._addTileToCache(e),this.options.onTileLoad(e)}}updateContentTypes(e){if(this.type===pe.I3S)switch(e.header.isDracoGeometry&&(this.contentFormats.draco=!0),e.header.textureFormat){case"dds":this.contentFormats.dds=!0;break;case"ktx2":this.contentFormats.ktx2=!0;break;default:}else if(this.type===pe.TILES3D){var r;let{extensionsRemoved:n=[]}=((r=e.content)===null||r===void 0?void 0:r.gltf)||{};n.includes("KHR_draco_mesh_compression")&&(this.contentFormats.draco=!0),n.includes("EXT_meshopt_compression")&&(this.contentFormats.meshopt=!0),n.includes("KHR_texture_basisu")&&(this.contentFormats.ktx2=!0)}}_onStartTileLoading(){this._pendingCount++,this.stats.get(_u).incrementCount()}_onEndTileLoading(){this._pendingCount--,this.stats.get(_u).decrementCount()}_addTileToCache(e){this._cache.add(this,e,r=>r._updateCacheStats(e))}_updateCacheStats(e){this.stats.get(ug).incrementCount(),this.stats.get(Au).incrementCount(),this.gpuMemoryUsageInBytes+=e.gpuMemoryUsageInBytes||0,this.stats.get(vu).count=this.gpuMemoryUsageInBytes}_unloadTile(e){this.gpuMemoryUsageInBytes-=e.gpuMemoryUsageInBytes||0,this.stats.get(Au).decrementCount(),this.stats.get(lg).incrementCount(),this.stats.get(vu).count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}_destroy(){let e=[];for(this.root&&e.push(this.root);e.length>0;){let r=e.pop();for(let n of r.children)e.push(n);this._destroyTile(r)}this.root=null}_destroySubtree(e){let r=e,n=[];for(n.push(r);n.length>0;){e=n.pop();for(let i of e.children)n.push(i);e!==r&&this._destroyTile(e)}r.children=[]}_destroyTile(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}_initializeTiles3DTileset(e){if(e.queryString){let r=new URLSearchParams(e.queryString),n=Object.fromEntries(r.entries());this._queryParams={...this._queryParams,...n}}if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if(this.asset.version!=="0.0"&&this.asset.version!=="1.0"&&this.asset.version!=="1.1")throw new Error("The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.");"tilesetVersion"in this.asset&&(this._queryParams.v=this.asset.tilesetVersion),this.credits={attributions:this.options.attributions||[]},this.description=this.options.description||"",this.properties=e.properties,this.geometricError=e.geometricError,this._extensionsUsed=e.extensionsUsed||[],this.extras=e.extras}_initializeI3STileset(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}};var cs="4.1.0-alpha.9";var mr={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},c9=Object.keys(mr);function xu(t,e,r){H(t instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(t,e,r);return n.decode(i)}function dg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=new DataView(t);return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}var pg="4.1.0-alpha.9";var mg={name:"Draco",id:"draco",module:"draco",version:pg,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function gg(t){switch(t.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function gr(t){let e=1/0,r=1/0,n=1/0,i=-1/0,o=-1/0,s=-1/0,a=t.POSITION?t.POSITION.value:[],c=a&&a.length;for(let u=0;u<c;u+=3){let l=a[u],f=a[u+1],h=a[u+2];e=l<e?l:e,r=f<r?f:r,n=h<n?h:n,i=l>i?l:i,o=f>o?f:o,s=h>s?h:s}return[[e,r,n],[i,o,s]]}function Tu(t,e,r){let n=gg(e.value),i=r||yg(e);return{name:t,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function yg(t){let e={};return"byteOffset"in t&&(e.byteOffset=t.byteOffset.toString(10)),"byteStride"in t&&(e.byteStride=t.byteStride.toString(10)),"normalized"in t&&(e.normalized=t.normalized.toString()),e}function _g(t,e,r){let n=vg(e.metadata),i=[],o=pB(e.attributes);for(let s in t){let a=t[s],c=Ag(s,a,o[s]);i.push(c)}if(r){let s=Ag("indices",r);i.push(s)}return{fields:i,metadata:n}}function pB(t){let e={};for(let r in t){let n=t[r];e[n.name||"undefined"]=n}return e}function Ag(t,e,r){let n=r?vg(r.metadata):void 0;return Tu(t,e,n)}function vg(t){Object.entries(t);let e={};for(let r in t)e[`${r}.string`]=JSON.stringify(t[r]);return e}var xg={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},mB={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},gB=4,ti=class{constructor(e){this.draco=void 0,this.decoder=void 0,this.metadataQuerier=void 0,this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(r);let i=this.decoder.GetEncodedGeometryType(n),o=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let s;switch(i){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,o);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,o);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!o.ptr){let h=`DRACO decompression failed: ${s.error_msg()}`;throw new Error(h)}let a=this._getDracoLoaderData(o,i,r),c=this._getMeshData(o,a,r),u=gr(c.attributes),l=_g(c.attributes,a,c.indices);return{loader:"draco",loaderData:a,header:{vertexCount:o.num_points(),boundingBox:u},...c,schema:l}}finally{this.draco.destroy(n),o&&this.draco.destroy(o)}}_getDracoLoaderData(e,r,n){let i=this._getTopLevelMetadata(e),o=this._getDracoAttributes(e,n);return{geometry_type:r,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:o}}_getDracoAttributes(e,r){let n={};for(let i=0;i<e.num_attributes();i++){let o=this.decoder.GetAttribute(e,i),s=this._getAttributeMetadata(e,i);n[o.unique_id()]={unique_id:o.unique_id(),attribute_type:o.attribute_type(),data_type:o.data_type(),num_components:o.num_components(),byte_offset:o.byte_offset(),byte_stride:o.byte_stride(),normalized:o.normalized(),attribute_index:i,metadata:s};let a=this._getQuantizationTransform(o,r);a&&(n[o.unique_id()].quantization_transform=a);let c=this._getOctahedronTransform(o,r);c&&(n[o.unique_id()].octahedron_transform=c)}return n}_getMeshData(e,r,n){let i=this._getMeshAttributes(r,e,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(e,r,n){let i={};for(let o of Object.values(e.attributes)){let s=this._deduceAttributeName(o,n);o.name=s;let{value:a,size:c}=this._getAttributeValues(r,o);i[s]={value:a,size:c,byteOffset:o.byte_offset,byteStride:o.byte_stride,normalized:o.normalized}}return i}_getTriangleListIndices(e){let n=e.num_faces()*3,i=n*gB,o=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(e,i,o),new Uint32Array(this.draco.HEAPF32.buffer,o,n).slice()}finally{this.draco._free(o)}}_getTriangleStripIndices(e){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,r),_B(r)}finally{this.draco.destroy(r)}}_getAttributeValues(e,r){let n=mB[r.data_type],i=r.num_components,s=e.num_points()*i,a=s*n.BYTES_PER_ELEMENT,c=yB(this.draco,n),u,l=this.draco._malloc(a);try{let f=this.decoder.GetAttribute(e,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,f,c,a,l),u=new n(this.draco.HEAPF32.buffer,l,s).slice()}finally{this.draco._free(l)}return{value:u,size:i}}_deduceAttributeName(e,r){let n=e.unique_id;for(let[s,a]of Object.entries(r.extraAttributes||{}))if(a===n)return s;let i=e.attribute_type;for(let s in xg)if(this.draco[s]===i)return xg[s];let o=r.attributeNameEntry||"name";return e.metadata[o]?e.metadata[o].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){let r=this.decoder.GetMetadata(e);return this._getDracoMetadata(r)}_getAttributeMetadata(e,r){let n=this.decoder.GetAttributeMetadata(e,r);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(e);for(let i=0;i<n;i++){let o=this.metadataQuerier.GetEntryName(e,i);r[o]=this._getDracoMetadataField(e,o)}return r}_getDracoMetadataField(e,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,r,n);let i=AB(n);return{int:this.metadataQuerier.GetIntEntry(e,r),string:this.metadataQuerier.GetStringEntry(e,r),double:this.metadataQuerier.GetDoubleEntry(e,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=e,i=[...r,...n];for(let o of i)this.decoder.SkipAttributeTransform(this.draco[o])}_getQuantizationTransform(e,r){let{quantizedAttributes:n=[]}=r,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){let s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits(),range:s.range(),min_values:new Float32Array([1,2,3]).map(a=>s.min_value(a))}}finally{this.draco.destroy(s)}}return null}_getOctahedronTransform(e,r){let{octahedronAttributes:n=[]}=r,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){let s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits()}}finally{this.draco.destroy(s)}}return null}};function yB(t,e){switch(e){case Float32Array:return t.DT_FLOAT32;case Int8Array:return t.DT_INT8;case Int16Array:return t.DT_INT16;case Int32Array:return t.DT_INT32;case Uint8Array:return t.DT_UINT8;case Uint16Array:return t.DT_UINT16;case Uint32Array:return t.DT_UINT32;default:return t.DT_INVALID}}function AB(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}function _B(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}var vB="1.5.6",xB="1.4.1",bu=`https://www.gstatic.com/draco/versioned/decoders/${vB}`,Ee={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Eu={[Ee.DECODER]:`${bu}/${Ee.DECODER}`,[Ee.DECODER_WASM]:`${bu}/${Ee.DECODER_WASM}`,[Ee.FALLBACK_DECODER]:`${bu}/${Ee.FALLBACK_DECODER}`,[Ee.ENCODER]:`https://raw.githubusercontent.com/google/draco/${xB}/javascript/${Ee.ENCODER}`},ri;async function Tg(t){let e=t.modules||{};return e.draco3d?ri=ri||e.draco3d.createDecoderModule({}).then(r=>({draco:r})):ri=ri||TB(t),await ri}async function TB(t){let e,r;switch(t.draco&&t.draco.decoderType){case"js":e=await tt(Eu[Ee.FALLBACK_DECODER],"draco",t,Ee.FALLBACK_DECODER);break;case"wasm":default:[e,r]=await Promise.all([await tt(Eu[Ee.DECODER],"draco",t,Ee.DECODER),await tt(Eu[Ee.DECODER_WASM],"draco",t,Ee.DECODER_WASM)])}return e=e||globalThis.DracoDecoderModule,await bB(e,r)}function bB(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t({...r,onModuleLoaded:i=>n({draco:i})})})}var us={...mg,parse:EB};async function EB(t,e){let{draco:r}=await Tg(e),n=new ti(r);try{return n.parseSync(t,e?.draco)}finally{n.destroy()}}var SB={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},se={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},N={...SB,...se};var Su={[se.DOUBLE]:Float64Array,[se.FLOAT]:Float32Array,[se.UNSIGNED_SHORT]:Uint16Array,[se.UNSIGNED_INT]:Uint32Array,[se.UNSIGNED_BYTE]:Uint8Array,[se.BYTE]:Int8Array,[se.SHORT]:Int16Array,[se.INT]:Int32Array},BB={DOUBLE:se.DOUBLE,FLOAT:se.FLOAT,UNSIGNED_SHORT:se.UNSIGNED_SHORT,UNSIGNED_INT:se.UNSIGNED_INT,UNSIGNED_BYTE:se.UNSIGNED_BYTE,BYTE:se.BYTE,SHORT:se.SHORT,INT:se.INT},Bu="Failed to convert GL type",ge=class{static fromTypedArray(e){e=ArrayBuffer.isView(e)?e.constructor:e;for(let r in Su)if(Su[r]===e)return r;throw new Error(Bu)}static fromName(e){let r=BB[e];if(!r)throw new Error(Bu);return r}static getArrayType(e){switch(e){case se.UNSIGNED_SHORT_5_6_5:case se.UNSIGNED_SHORT_4_4_4_4:case se.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Su[e];if(!r)throw new Error(Bu);return r}}static getByteSize(e){return ge.getArrayType(e).BYTES_PER_ELEMENT}static validate(e){return Boolean(ge.getArrayType(e))}static createTypedArray(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;i===void 0&&(i=(r.byteLength-n)/ge.getByteSize(e));let o=ge.getArrayType(e);return new o(r,n,i)}};function bg(t,e){if(!t)throw new Error(`math.gl assertion failed. ${e}`)}function Cu(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0],r=t>>11&31,n=t>>5&63,i=t&31;return e[0]=r<<3,e[1]=n<<2,e[2]=i<<3,e}var z9=1/256;var j9=new or,k9=new T,J9=new or,q9=new or,W9=new Uint8Array(1);function Eg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:255;return Ni(t,0,e)/e*2-1}function Sg(t){return t<0?-1:1}function Bg(t,e,r,n){if(bg(n),t<0||t>r||e<0||e>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Eg(t,r),n.y=Eg(e,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Sg(i),n.y=(1-Math.abs(i))*Sg(n.y)}return n.normalize()}function Mu(t,e,r){return Bg(t,e,255,r)}var Tt=class{constructor(e,r){this.json=void 0,this.buffer=void 0,this.featuresLength=0,this._cachedTypedArrays={},this.json=e,this.buffer=r}getExtension(e){return this.json.extensions&&this.json.extensions[e]}hasProperty(e){return Boolean(this.json[e])}getGlobalProperty(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:N.UNSIGNED_INT,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,i=this.json[e];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(e,r,n,1,i.byteOffset):i}getPropertyArray(e,r,n){let i=this.json[e];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=ge.fromName(i.componentType)),this._getTypedArrayFromBinary(e,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(e,r,i)}getProperty(e,r,n,i,o){let s=this.json[e];if(!s)return s;let a=this.getPropertyArray(e,r,n);if(n===1)return a[i];for(let c=0;c<n;++c)o[c]=a[n*i+c];return o}_getTypedArrayFromBinary(e,r,n,i,o){let s=this._cachedTypedArrays,a=s[e];return a||(a=ge.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+o,i*n),s[e]=a),a}_getTypedArrayFromArray(e,r,n){let i=this._cachedTypedArrays,o=i[e];return o||(o=ge.createTypedArray(r,n),i[e]=o),o}};var CB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},MB={SCALAR:(t,e)=>t[e],VEC2:(t,e)=>[t[2*e+0],t[2*e+1]],VEC3:(t,e)=>[t[3*e+0],t[3*e+1],t[3*e+2]],VEC4:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT2:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT3:(t,e)=>[t[9*e+0],t[9*e+1],t[9*e+2],t[9*e+3],t[9*e+4],t[9*e+5],t[9*e+6],t[9*e+7],t[9*e+8]],MAT4:(t,e)=>[t[16*e+0],t[16*e+1],t[16*e+2],t[16*e+3],t[16*e+4],t[16*e+5],t[16*e+6],t[16*e+7],t[16*e+8],t[16*e+9],t[16*e+10],t[16*e+11],t[16*e+12],t[16*e+13],t[16*e+14],t[16*e+15]]},wB={SCALAR:(t,e,r)=>{e[r]=t},VEC2:(t,e,r)=>{e[2*r+0]=t[0],e[2*r+1]=t[1]},VEC3:(t,e,r)=>{e[3*r+0]=t[0],e[3*r+1]=t[1],e[3*r+2]=t[2]},VEC4:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT2:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT3:(t,e,r)=>{e[9*r+0]=t[0],e[9*r+1]=t[1],e[9*r+2]=t[2],e[9*r+3]=t[3],e[9*r+4]=t[4],e[9*r+5]=t[5],e[9*r+6]=t[6],e[9*r+7]=t[7],e[9*r+8]=t[8],e[9*r+9]=t[9]},MAT4:(t,e,r)=>{e[16*r+0]=t[0],e[16*r+1]=t[1],e[16*r+2]=t[2],e[16*r+3]=t[3],e[16*r+4]=t[4],e[16*r+5]=t[5],e[16*r+6]=t[6],e[16*r+7]=t[7],e[16*r+8]=t[8],e[16*r+9]=t[9],e[16*r+10]=t[10],e[16*r+11]=t[11],e[16*r+12]=t[12],e[16*r+13]=t[13],e[16*r+14]=t[14],e[16*r+15]=t[15]}};function Cg(t,e,r,n){let{componentType:i}=t;H(t.componentType);let o=typeof i=="string"?ge.fromName(i):i,s=CB[t.type],a=MB[t.type],c=wB[t.type];return r+=t.byteOffset,{values:ge.createTypedArray(o,e,r,s*n),type:o,size:s,unpacker:a,packer:c}}var ft=t=>t!==void 0;function Mg(t,e,r){if(!e)return null;let n=t.getExtension("3DTILES_batch_table_hierarchy"),i=e.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),e.extensions=e.extensions||{},e.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?IB(n,r):null}function IB(t,e){let r,n,i,o=t.instancesLength,s=t.classes,a=t.classIds,c=t.parentCounts,u=t.parentIds,l=o;ft(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,i=getBinaryAccessor(a),a=i.createArrayBufferView(e.buffer,e.byteOffset+a.byteOffset,o));let f;if(ft(c))for(ft(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(e.buffer,e.byteOffset+c.byteOffset,o)),f=new Uint16Array(o),l=0,r=0;r<o;++r)f[r]=l,l+=c[r];ft(u)&&ft(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(e.buffer,e.byteOffset+u.byteOffset,l));let h=s.length;for(r=0;r<h;++r){let m=s[r].length,A=s[r].instances,_=getBinaryProperties(m,A,e);s[r].instances=combine(_,A)}let d=new Array(h).fill(0),p=new Uint16Array(o);for(r=0;r<o;++r)n=a[r],p[r]=d[n],++d[n];let g={classes:s,classIds:a,classIndexes:p,parentCounts:c,parentIndexes:f,parentIds:u};return LB(g),g}function Xr(t,e,r){if(!t)return;let n=t.parentCounts;return t.parentIds?r(t,e):n>0?OB(t,e,r):RB(t,e,r)}function OB(t,e,r){let n=t.classIds,i=t.parentCounts,o=t.parentIds,s=t.parentIndexes,a=n.length,c=scratchVisited;c.length=Math.max(c.length,a);let u=++marker,l=scratchStack;for(l.length=0,l.push(e);l.length>0;){if(e=l.pop(),c[e]===u)continue;c[e]=u;let f=r(t,e);if(ft(f))return f;let h=i[e],d=s[e];for(let p=0;p<h;++p){let g=o[d+p];g!==e&&l.push(g)}}return null}function RB(t,e,r){let n=!0;for(;n;){let i=r(t,e);if(ft(i))return i;let o=t.parentIds[e];n=o!==e,e=o}throw new Error("traverseHierarchySingleParent")}function LB(t){let e=[],n=t.classIds.length;for(let i=0;i<n;++i)wg(t,i,stack)}function wg(t,e,r){let n=t.parentCounts,i=t.parentIds,o=t.parentIndexes,a=t.classIds.length;if(!ft(i))return;assert(e<a,`Parent index ${e} exceeds the total number of instances: ${a}`),assert(r.indexOf(e)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(e);let c=ft(n)?n[e]:1,u=ft(n)?o[e]:e;for(let l=0;l<c;++l){let f=i[u+l];f!==e&&wg(t,f,r)}r.pop(e)}function Se(t){return t!=null}var ls=(t,e)=>t,PB={HIERARCHY:!0,extensions:!0,extras:!0},yr=class{constructor(e,r,n){var i;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};this.json=void 0,this.binary=void 0,this.featureCount=void 0,this._extensions=void 0,this._properties=void 0,this._binaryProperties=void 0,this._hierarchy=void 0,H(n>=0),this.json=e||{},this.binary=r,this.featureCount=n,this._extensions=((i=this.json)===null||i===void 0?void 0:i.extensions)||{},this._properties={};for(let s in this.json)PB[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Mg(this,this.json,this.binary))}getExtension(e){return this.json&&this.json.extensions&&this.json.extensions[e]}memorySizeInBytes(){return 0}isClass(e,r){if(this._checkBatchId(e),H(typeof r=="string",r),this._hierarchy){let n=Xr(this._hierarchy,e,(i,o)=>{let s=i.classIds[o];return i.classes[s].name===r});return Se(n)}return!1}isExactClass(e,r){return H(typeof r=="string",r),this.getExactClassName(e)===r}getExactClassName(e){if(this._checkBatchId(e),this._hierarchy){let r=this._hierarchy.classIds[e];return this._hierarchy.classes[r].name}}hasProperty(e,r){return this._checkBatchId(e),H(typeof r=="string",r),Se(this._properties[r])||this._hasPropertyInHierarchy(e,r)}getPropertyNames(e,r){this._checkBatchId(e),r=Se(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(e,r),r}getProperty(e,r){if(this._checkBatchId(e),H(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Se(i))return this._getBinaryProperty(i,e)}let n=this._properties[r];if(Se(n))return ls(n[e],!0);if(this._hierarchy){let i=this._getHierarchyProperty(e,r);if(Se(i))return i}}setProperty(e,r,n){let i=this.featureCount;if(this._checkBatchId(e),H(typeof r=="string",r),this._binaryProperties){let s=this._binaryProperties[r];if(s){this._setBinaryProperty(s,e,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,e,r,n))return;let o=this._properties[r];Se(o)||(this._properties[r]=new Array(i),o=this._properties[r]),o[e]=ls(n,!0)}_checkBatchId(e){if(!(e>=0&&e<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(e,r){return e.unpack(e.typedArray,r)}_setBinaryProperty(e,r,n){e.pack(n,e.typedArray,r)}_initializeBinaryProperties(){let e=null;for(let r in this._properties){let n=this._properties[r],i=this._initializeBinaryProperty(r,n);i&&(e=e||{},e[r]=i)}return e}_initializeBinaryProperty(e,r){if("byteOffset"in r){let n=r;H(this.binary,`Property ${e} requires a batch table binary.`),H(n.type,`Property ${e} requires a type.`);let i=Cg(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(e,r){if(!this._hierarchy)return!1;let n=Xr(this._hierarchy,e,(i,o)=>{let s=i.classIds[o],a=i.classes[s].instances;return Se(a[r])});return Se(n)}_getPropertyNamesInHierarchy(e,r){Xr(this._hierarchy,e,(n,i)=>{let o=n.classIds[i],s=n.classes[o].instances;for(let a in s)s.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(e,r){return Xr(this._hierarchy,e,(n,i)=>{let o=n.classIds[i],s=n.classes[o],a=n.classIndexes[i],c=s.instances[r];return Se(c)?Se(c.typedArray)?this._getBinaryProperty(c,a):ls(c[a],!0):null})}_setHierarchyProperty(e,r,n,i){let o=Xr(this._hierarchy,r,(s,a)=>{let c=s.classIds[a],u=s.classes[c],l=s.classIndexes[a],f=u.instances[n];return Se(f)?(H(a===r,`Inherited property "${n}" is read-only.`),Se(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=ls(i,!0),!0):!1});return Se(o)}};function qt(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=new DataView(e);if(t.magic=n.getUint32(r,!0),r+=4,t.version=n.getUint32(r,!0),r+=4,t.byteLength=n.getUint32(r,!0),r+=4,t.version!==1)throw new Error(`3D Tile Version ${t.version} not supported`);return r}var Kr=4,Ig="b3dm tile in legacy format.";function Yr(t,e,r){let n=new DataView(e),i;t.header=t.header||{};let o=n.getUint32(r,!0);r+=Kr;let s=n.getUint32(r,!0);r+=Kr;let a=n.getUint32(r,!0);r+=Kr;let c=n.getUint32(r,!0);return r+=Kr,a>=570425344?(r-=Kr*2,i=o,a=s,c=0,o=0,s=0,console.warn(Ig)):c>=570425344&&(r-=Kr,i=a,a=o,c=s,o=0,s=0,console.warn(Ig)),t.header.featureTableJsonByteLength=o,t.header.featureTableBinaryByteLength=s,t.header.batchTableJsonByteLength=a,t.header.batchTableBinaryByteLength=c,t.header.batchLength=i,r}function Zr(t,e,r,n){return r=FB(t,e,r,n),r=DB(t,e,r,n),r}function FB(t,e,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:o,batchLength:s}=t.header||{};if(t.featureTableJson={BATCH_LENGTH:s||0},i&&i>0){let a=xu(e,r,i);t.featureTableJson=JSON.parse(a)}return r+=i||0,t.featureTableBinary=new Uint8Array(e,r,o),r+=o||0,r}function DB(t,e,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:o}=t.header||{};if(i&&i>0){let s=xu(e,r,i);t.batchTableJson=JSON.parse(s),r+=i,o&&o>0&&(t.batchTableBinary=new Uint8Array(e,r,o),t.batchTableBinary=new Uint8Array(t.batchTableBinary),r+=o)}return r}function wu(t,e,r){if(!e&&(!t||!t.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:o=0}=t;if(n&&r){let s=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let c=n[a],l=r.getProperty(c,"dimensions").map(f=>f*255);s[a*3]=l[0],s[a*3+1]=l[1],s[a*3+2]=l[2]}return{type:N.UNSIGNED_BYTE,value:s,size:3,normalized:!0}}if(e&&i){let s=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let c=Cu(e[a]);s[a*3]=c[0],s[a*3+1]=c[1],s[a*3+2]=c[2]}return{type:N.UNSIGNED_BYTE,value:s,size:3,normalized:!0}}return e&&e.length===o*3?{type:N.UNSIGNED_BYTE,value:e,size:3,normalized:!0}:{type:N.UNSIGNED_BYTE,value:e||new Uint8ClampedArray,size:4,normalized:!0}}var Og=new T;function Rg(t,e){if(!e)return null;if(t.isOctEncoded16P){let r=new Float32Array((t.pointsLength||0)*3);for(let n=0;n<(t.pointsLength||0);n++)Mu(e[n*2],e[n*2+1],Og),Og.toArray(r,n*3);return{type:N.FLOAT,size:2,value:r}}return{type:N.FLOAT,size:2,value:e}}function Lg(t,e,r){return t.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(t.isQuantized=!1,NB(t,e)):{type:N.UNSIGNED_SHORT,value:e,size:3,normalized:!0}:e}function NB(t,e){let r=new T,n=new Float32Array(t.pointCount*3);for(let i=0;i<t.pointCount;i++)r.set(e[i*3],e[i*3+1],e[i*3+2]).scale(1/t.quantizedRange).multiply(t.quantizedVolumeScale).add(t.quantizedVolumeOffset).toArray(n,i*3);return n}async function Pg(t,e,r,n,i){r=qt(t,e,r),r=Yr(t,e,r),r=Zr(t,e,r,n),UB(t);let{featureTable:o,batchTable:s}=GB(t);return await kB(t,o,s,n,i),HB(t,o,n),VB(t,o,s),zB(t,o),r}function UB(t){t.attributes={positions:null,colors:null,normals:null,batchIds:null},t.isQuantized=!1,t.isTranslucent=!1,t.isRGB565=!1,t.isOctEncoded16P=!1}function GB(t){let e=new Tt(t.featureTableJson,t.featureTableBinary),r=e.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");e.featuresLength=r,t.featuresLength=r,t.pointsLength=r,t.pointCount=r,t.rtcCenter=e.getGlobalProperty("RTC_CENTER",N.FLOAT,3);let n=jB(t,e);return{featureTable:e,batchTable:n}}function HB(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.positions){if(e.hasProperty("POSITION"))t.attributes.positions=e.getPropertyArray("POSITION",N.FLOAT,3);else if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",N.UNSIGNED_SHORT,3);if(t.isQuantized=!0,t.quantizedRange=(1<<16)-1,t.quantizedVolumeScale=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",N.FLOAT,3),!t.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(t.quantizedVolumeOffset=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",N.FLOAT,3),!t.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");t.attributes.positions=Lg(t,n,r)}}if(!t.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function VB(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.colors){let n=null;e.hasProperty("RGBA")?(n=e.getPropertyArray("RGBA",N.UNSIGNED_BYTE,4),t.isTranslucent=!0):e.hasProperty("RGB")?n=e.getPropertyArray("RGB",N.UNSIGNED_BYTE,3):e.hasProperty("RGB565")&&(n=e.getPropertyArray("RGB565",N.UNSIGNED_SHORT,1),t.isRGB565=!0),t.attributes.colors=wu(t,n,r)}e.hasProperty("CONSTANT_RGBA")&&(t.constantRGBA=e.getGlobalProperty("CONSTANT_RGBA",N.UNSIGNED_BYTE,4))}function zB(t,e){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.normals){let r=null;e.hasProperty("NORMAL")?r=e.getPropertyArray("NORMAL",N.FLOAT,3):e.hasProperty("NORMAL_OCT16P")&&(r=e.getPropertyArray("NORMAL_OCT16P",N.UNSIGNED_BYTE,2),t.isOctEncoded16P=!0),t.attributes.normals=Rg(t,r)}}function jB(t,e){let r=null;if(!t.batchIds&&e.hasProperty("BATCH_ID")&&(t.batchIds=e.getPropertyArray("BATCH_ID",N.UNSIGNED_SHORT,1),t.batchIds)){let n=e.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:o}=t;r=new yr(i,o,n)}return r}async function kB(t,e,r,n,i){let o,s,a,c=t.batchTableJson&&t.batchTableJson.extensions&&t.batchTableJson.extensions["3DTILES_draco_point_compression"];c&&(a=c.properties);let u=e.getExtension("3DTILES_draco_point_compression");if(u){s=u.properties;let f=u.byteOffset,h=u.byteLength;if(!s||!Number.isFinite(f)||!h)throw new Error("Draco properties, byteOffset, and byteLength must be defined");o=(t.featureTableBinary||[]).slice(f,f+h),t.hasPositions=Number.isFinite(s.POSITION),t.hasColors=Number.isFinite(s.RGB)||Number.isFinite(s.RGBA),t.hasNormals=Number.isFinite(s.NORMAL),t.hasBatchIds=Number.isFinite(s.BATCH_ID),t.isTranslucent=Number.isFinite(s.RGBA)}if(!o)return!0;let l={buffer:o,properties:{...s,...a},featureTableProperties:s,batchTableProperties:a,dequantizeInShader:!1};return await JB(t,l,n,i)}async function JB(t,e,r,n){if(!n)return;let i={...r,draco:{...r?.draco,extraAttributes:e.batchTableProperties||{}}};delete i["3d-tiles"];let o=await Ce(e.buffer,us,i,n),s=o.attributes.POSITION&&o.attributes.POSITION.value,a=o.attributes.COLOR_0&&o.attributes.COLOR_0.value,c=o.attributes.NORMAL&&o.attributes.NORMAL.value,u=o.attributes.BATCH_ID&&o.attributes.BATCH_ID.value,l=s&&o.attributes.POSITION.value.quantization,f=c&&o.attributes.NORMAL.value.quantization;if(l){let d=o.POSITION.data.quantization,p=d.range;t.quantizedVolumeScale=new T(p,p,p),t.quantizedVolumeOffset=new T(d.minValues),t.quantizedRange=(1<<d.quantizationBits)-1,t.isQuantizedDraco=!0}f&&(t.octEncodedRange=(1<<o.NORMAL.data.quantization.quantizationBits)-1,t.isOctEncodedDraco=!0);let h={};if(e.batchTableProperties)for(let d of Object.keys(e.batchTableProperties))o.attributes[d]&&o.attributes[d].value&&(h[d.toLowerCase()]=o.attributes[d].value);t.attributes={positions:s,colors:wu(t,a,void 0),normals:c,batchIds:u,...h}}var Iu={};de(Iu,{decode:()=>nC,name:()=>rC});function ue(t,e){if(!t)throw new Error(e||"assert failed: gltf")}var fs={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hs={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var qB=1.33,Fg=["SCALAR","VEC2","VEC3","VEC4"],WB=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],XB=new Map(WB),KB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},YB={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},ZB={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function ds(t){return Fg[t-1]||Fg[0]}function Qr(t){let e=XB.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function $r(t,e){let r=ZB[t.componentType],n=KB[t.type],i=YB[t.componentType],o=t.count*n,s=t.count*n*i;ue(s>=0&&s<=e.byteLength);let a=hs[t.componentType],c=fs[t.type];return{ArrayType:r,length:o,byteLength:s,componentByteSize:a,numberOfComponentsInElement:c}}function ni(t){let{images:e,bufferViews:r}=t;e=e||[],r=r||[];let n=e.map(s=>s.bufferView);r=r.filter(s=>!n.includes(s));let i=r.reduce((s,a)=>s+a.byteLength,0),o=e.reduce((s,a)=>{let{width:c,height:u}=a.image;return s+c*u},0);return i+Math.ceil(4*o*qB)}function Dg(t,e,r){let n=t.bufferViews[r];ue(n);let i=n.buffer,o=e[i];ue(o);let s=(n.byteOffset||0)+o.byteOffset;return new Uint8Array(o.arrayBuffer,s,n.byteLength)}function Ng(t,e,r){var n,i;let o=typeof r=="number"?(n=t.accessors)===null||n===void 0?void 0:n[r]:r;if(!o)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let s=(i=t.bufferViews)===null||i===void 0?void 0:i[o.bufferView||0];if(!s)throw new Error(`No gltf buffer view for accessor ${s}`);let{arrayBuffer:a,byteOffset:c}=e[s.buffer],u=(c||0)+(o.byteOffset||0)+(s.byteOffset||0),{ArrayType:l,length:f,componentByteSize:h,numberOfComponentsInElement:d}=$r(o,s),p=h*d,g=s.byteStride||p;if(typeof s.byteStride>"u"||s.byteStride===p)return new l(a,u,f);let m=new l(f);for(let A=0;A<o.count;A++){let _=new l(a,u+A*g,d);m.set(_,A*d)}return m}function QB(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var q=class{constructor(e){this.gltf=void 0,this.sourceBuffers=void 0,this.byteLength=void 0,this.gltf={json:e?.json||QB(),buffers:e?.buffers||[],images:e?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){let r=this.getUsedExtensions().find(i=>i===e),n=this.getRequiredExtensions().find(i=>i===e);return typeof r=="string"||typeof n=="string"}getExtension(e){let r=this.getUsedExtensions().find(i=>i===e),n=this.json.extensions||{};return r?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,r){return(e.extensions||{})[r]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,r){if(typeof r=="object")return r;let n=this.json[e]&&this.json[e][r];if(!n)throw new Error(`glTF file error: Could not find ${e}[${r}]`);return n}getTypedArrayForBufferView(e){e=this.getBufferView(e);let r=e.buffer,n=this.gltf.buffers[r];ue(n);let i=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,e.byteLength)}getTypedArrayForAccessor(e){let r=this.getAccessor(e);return Ng(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(e){e=this.getAccessor(e);let r=this.getBufferView(e.bufferView),i=this.getBuffer(r.buffer).data,o=r.byteOffset||0;return new Uint8Array(i,o,r.byteLength)}addApplicationData(e,r){return this.json[e]=r,this}addExtraData(e,r){return this.json.extras=this.json.extras||{},this.json.extras[e]=r,this}addObjectExtension(e,r,n){return e.extensions=e.extensions||{},e.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(e,r,n){let i=e.extensions||{};i[r]=n}removeObjectExtension(e,r){let n=e?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ue(r),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=r,this.registerUsedExtension(e),r}addRequiredExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ue(r),this.addExtension(e,r),this.registerRequiredExtension(e),r}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===e)||this.json.extensionsRequired.push(e)}removeExtension(e){var r;if((r=this.json.extensions)!==null&&r!==void 0&&r[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(e)||n.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){let{nodeIndices:r}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(e){let{meshIndex:r,matrix:n}=e;this.json.nodes=this.json.nodes||[];let i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(e){let{attributes:r,indices:n,material:i,mode:o=4}=e,a={primitives:[{attributes:this._addAttributes(r),mode:o}]};if(n){let c=this._addIndices(n);a.primitives[0].indices=c}return Number.isFinite(i)&&(a.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){let n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,r){let n=ir(e),i=r||n?.mimeType,s={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(s),this.json.images.length-1}addBufferView(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.byteLength,i=e.byteLength;ue(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);let o={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ct(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(o),this.json.bufferViews.length-1}addAccessor(e,r){let n={bufferView:e,type:ds(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{size:3},n=this.addBufferView(e),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,r.size));let o={size:r.size,componentType:Qr(e),count:Math.round(e.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(o,r))}addTexture(e){let{imageIndex:r}=e,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,r;this.gltf.buffers=[];let n=this.byteLength,i=new ArrayBuffer(n),o=new Uint8Array(i),s=0;for(let a of this.sourceBuffers||[])s=Aa(a,o,s);(e=this.json)!==null&&e!==void 0&&(r=e.buffers)!==null&&r!==void 0&&r[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(e,r){let n=!0;for(;n;){let i=e.indexOf(r);i>-1?e.splice(i,1):n=!1}}_addAttributes(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={};for(let n in e){let i=e[n],o=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);r[o]=s}return r}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,r){let n={min:null,max:null};if(e.length<r)return n;n.min=[],n.max=[];let i=e.subarray(0,r);for(let o of i)n.min.push(o),n.max.push(o);for(let o=r;o<e.length;o+=r)for(let s=0;s<r;s++)n.min[0+s]=Math.min(n.min[0+s],e[o+s]),n.max[0+s]=Math.max(n.max[0+s],e[o+s]);return n}};function Ug(t){return(t%1+1)%1}var Gg={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},$B={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Hg={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function ii(t,e){return Hg[e]*Gg[t]}function en(t,e,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=t.getTypedArrayForBufferView(e),o=tn(i,"SCALAR",r,n+1);return o instanceof BigInt64Array||o instanceof BigUint64Array?null:o}function tn(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=Gg[e],o=$B[r],s=Hg[r],a=n*i,c=a*s,u=t.buffer,l=t.byteOffset;return l%s!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new o(u,l,a)}function rn(t,e,r){var n,i;let o=`TEXCOORD_${e.texCoord||0}`,s=r.attributes[o],a=t.getTypedArrayForAccessor(s),c=t.gltf.json,u=e.index,l=(n=c.textures)===null||n===void 0||(i=n[u])===null||i===void 0?void 0:i.source;if(typeof l<"u"){var f,h,d;let p=(f=c.images)===null||f===void 0||(h=f[l])===null||h===void 0?void 0:h.mimeType,g=(d=t.gltf.images)===null||d===void 0?void 0:d[l];if(g&&typeof g.width<"u"){let m=[];for(let A=0;A<a.length;A+=2){let _=eC(g,p,a,A,e.channels);m.push(_)}return m}}return[]}function ps(t,e,r,n,i){if(!(r!=null&&r.length))return;let o=[];for(let l of r){let f=n.findIndex(h=>h===l);f===-1&&(f=n.push(l)-1),o.push(f)}let s=new Uint32Array(o),a=t.gltf.buffers.push({arrayBuffer:s.buffer,byteOffset:s.byteOffset,byteLength:s.byteLength})-1,c=t.addBufferView(s,a,0),u=t.addAccessor(c,{size:1,componentType:Qr(s),count:s.length});i.attributes[e]=u}function eC(t,e,r,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[0],o={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},s=r[n],a=r[n+1],c=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(c=4);let u=tC(s,a,t,c),l=0;for(let f of i){let h=typeof f=="number"?Object.values(o)[f]:o[f],d=u+h.offset,p=Bn(t);if(p.data.length<=d)throw new Error(`${p.data.length} <= ${d}`);let g=p.data[d];l|=g<<h.shift}return l}function tC(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=r.width,o=Ug(t)*(i-1),s=Math.round(o),a=r.height,c=Ug(e)*(a-1),u=Math.round(c),l=r.components?r.components:n;return(u*i+s)*l}function ms(t,e,r,n,i){let o=[];for(let s=0;s<e;s++){let a=r[s],c=r[s+1]-r[s];if(c+a>n)break;let u=a/i,l=c/i;o.push(t.slice(u,u+l))}return o}function gs(t,e,r){let n=[];for(let i=0;i<e;i++){let o=i*r;n.push(t.slice(o,o+r))}return n}function ys(t,e,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],o=new TextDecoder("utf8"),s=0;for(let a=0;a<t;a++){let c=n[a+1]-n[a];if(c+s<=e.length){let u=e.subarray(s,c+s),l=o.decode(u);i.push(l),s+=c}}return i}return[]}var Vg="EXT_mesh_features",rC=Vg;async function nC(t,e){let r=new q(t);iC(r,e)}function iC(t,e){let r=t.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)oC(t,i,e)}function oC(t,e,r){var n,i;if(!(r!=null&&(n=r.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let o=(i=e.extensions)===null||i===void 0?void 0:i[Vg],s=o?.featureIds;if(s)for(let c of s){var a;let u;if(typeof c.attribute<"u"){let l=`_FEATURE_ID_${c.attribute}`,f=e.attributes[l];u=t.getTypedArrayForAccessor(f)}else typeof c.texture<"u"&&r!==null&&r!==void 0&&(a=r.gltf)!==null&&a!==void 0&&a.loadImages?u=rn(t,c.texture,e):u=[];c.data=u}}var Lu={};de(Lu,{decode:()=>aC,name:()=>sC});var Ou="EXT_structural_metadata",sC=Ou;async function aC(t,e){let r=new q(t);cC(r,e)}function cC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.getExtension(Ou);i&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&uC(t,i),lC(t,i))}function uC(t,e){let r=e.propertyTextures,n=t.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let o of i.primitives)hC(t,r,o,e)}function lC(t,e){let r=e.schema;if(!r)return;let n=r.classes,i=e.propertyTables;if(n&&i)for(let o in n){let s=fC(i,o);s&&pC(t,r,s)}}function fC(t,e){for(let r of t)if(r.class===e)return r;return null}function hC(t,e,r,n){var i;if(!e)return;let o=(i=r.extensions)===null||i===void 0?void 0:i[Ou],s=o?.propertyTextures;if(s)for(let a of s){let c=e[a];dC(t,c,r,n)}}function dC(t,e,r,n){if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=e.class;for(let s in e.properties){var o;let a=`${i}_${s}`,c=(o=e.properties)===null||o===void 0?void 0:o[s];if(!c)continue;c.data||(c.data=[]);let u=c.data,l=rn(t,c,r);l!==null&&(ps(t,a,l,u,r),c.data=u,n.dataAttributeNames.push(a))}}function pC(t,e,r){var n;let i=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let a in i.properties){var s;let c=i.properties[a],u=(s=r.properties)===null||s===void 0?void 0:s[a];if(u){let l=mC(t,e,c,o,u);u.data=l}}}function mC(t,e,r,n,i){let o=[],s=i.values,a=t.getTypedArrayForBufferView(s),c=gC(t,r,i,n),u=yC(t,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{o=AC(r,n,a,c);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{o=ys(n,a,c,u);break}case"ENUM":{o=_C(e,r,n,a,c);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return o}function gC(t,e,r,n){return e.array&&typeof e.count>"u"&&typeof r.arrayOffsets<"u"?en(t,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function yC(t,e,r){return typeof e.stringOffsets<"u"?en(t,e.stringOffsets,e.stringOffsetType||"UINT32",r):null}function AC(t,e,r,n){let i=t.array,o=t.count,s=ii(t.type,t.componentType),a=r.byteLength/s,c;return t.componentType?c=tn(r,t.type,t.componentType,a):c=r,i?n?ms(c,e,n,r.length,s):o?gs(c,e,o):[]:c}function _C(t,e,r,n,i){var o;let s=e.enumType;if(!s)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let a=(o=t.enums)===null||o===void 0?void 0:o[s];if(!a)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${s}`);let c=a.valueType||"UINT16",u=ii(e.type,c),l=n.byteLength/u,f=tn(n,e.type,c,l);if(f||(f=n),e.array){if(i)return vC({valuesData:f,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:a});let h=e.count;return h?xC(f,r,h,a):[]}return Ru(f,0,r,a)}function vC(t){let{valuesData:e,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:o,enumEntry:s}=t,a=[];for(let c=0;c<r;c++){let u=n[c],l=n[c+1]-n[c];if(l+u>i)break;let f=u/o,h=l/o,d=Ru(e,f,h,s);a.push(d)}return a}function xC(t,e,r,n){let i=[];for(let o=0;o<e;o++){let s=r*o,a=Ru(t,s,r,n);i.push(a)}return i}function Ru(t,e,r,n){let i=[];for(let o=0;o<r;o++)if(t instanceof BigInt64Array||t instanceof BigUint64Array)i.push("");else{let s=t[e+o],a=TC(n,s);a?i.push(a.name):i.push("")}return i}function TC(t,e){for(let r of t.values)if(r.value===e)return r;return null}var Pu={};de(Pu,{decode:()=>EC,name:()=>bC});var zg="EXT_feature_metadata",bC=zg;async function EC(t,e){let r=new q(t);SC(r,e)}function SC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.getExtension(zg);i&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&BC(t,i),CC(t,i))}function BC(t,e){let r=e.schema;if(!r)return;let n=r.classes,{featureTextures:i}=e;if(n&&i)for(let o in n){let s=n[o],a=wC(i,o);a&&OC(t,a,s)}}function CC(t,e){let r=e.schema;if(!r)return;let n=r.classes,i=e.featureTables;if(n&&i)for(let o in n){let s=MC(i,o);s&&IC(t,r,s)}}function MC(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function wC(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function IC(t,e,r){var n;if(!r.class)return;let i=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let a in i.properties){var s;let c=i.properties[a],u=(s=r.properties)===null||s===void 0?void 0:s[a];if(u){let l=RC(t,e,c,o,u);u.data=l}}}function OC(t,e,r){let n=e.class;for(let o in r.properties){var i;let s=e==null||(i=e.properties)===null||i===void 0?void 0:i[o];if(s){let a=NC(t,s,n);s.data=a}}}function RC(t,e,r,n,i){let o=[],s=i.bufferView,a=t.getTypedArrayForBufferView(s),c=LC(t,r,i,n),u=PC(t,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?o=ys(n,a,c,u):FC(r)&&(o=DC(r,n,a,c)),o}function LC(t,e,r,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?en(t,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function PC(t,e,r,n){return typeof r.stringOffsetBufferView<"u"?en(t,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function FC(t){let e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(t.type)||typeof t.componentType<"u"&&e.includes(t.componentType)}function DC(t,e,r,n){let i=t.type==="ARRAY",o=t.componentCount,s="SCALAR",a=t.componentType||t.type,c=ii(s,a),u=r.byteLength/c,l=tn(r,s,a,u);return i?n?ms(l,e,n,r.length,c):o?gs(l,e,o):[]:l}function NC(t,e,r){let n=t.gltf.json;if(!n.meshes)return[];let i=[];for(let o of n.meshes)for(let s of o.primitives)UC(t,r,e,i,s);return i}function UC(t,e,r,n,i){let o={channels:r.channels,...r.texture},s=rn(t,o,i);s&&ps(t,e,s,n,i)}var jg="4.1.0-alpha.9";var nn=!0,kg=1735152710,Nu=12,As=8,GC=1313821514,HC=5130562,VC=0,zC=0,jC=1;function kC(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}function Jg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=new DataView(t),{magic:i=kg}=r,o=n.getUint32(e,!1);return o===i||o===kg}function qg(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=new DataView(e),o=kC(i,r+0),s=i.getUint32(r+4,nn),a=i.getUint32(r+8,nn);switch(Object.assign(t,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:o,version:s,json:{},binChunks:[]}),r+=Nu,t.version){case 1:return JC(t,i,r);case 2:return qC(t,i,r,n={});default:throw new Error(`Invalid GLB version ${t.version}. Only supports version 1 and 2.`)}}function JC(t,e,r){H(t.header.byteLength>Nu+As);let n=e.getUint32(r+0,nn),i=e.getUint32(r+4,nn);return r+=As,H(i===VC),Fu(t,e,r,n),r+=n,r+=Du(t,e,r,t.header.byteLength),r}function qC(t,e,r,n){return H(t.header.byteLength>Nu+As),WC(t,e,r,n),r+t.header.byteLength}function WC(t,e,r,n){for(;r+8<=t.header.byteLength;){let i=e.getUint32(r+0,nn),o=e.getUint32(r+4,nn);switch(r+=As,o){case GC:Fu(t,e,r,i);break;case HC:Du(t,e,r,i);break;case zC:n.strict||Fu(t,e,r,i);break;case jC:n.strict||Du(t,e,r,i);break;default:break}r+=Ct(i,4)}return r}function Fu(t,e,r,n){let i=new Uint8Array(e.buffer,r,n),s=new TextDecoder("utf8").decode(i);return t.json=JSON.parse(s),Ct(n,4)}function Du(t,e,r,n){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:e.buffer}),Ct(n,4)}function Uu(t,e){if(t.startsWith("data:")||t.startsWith("http:")||t.startsWith("https:"))return t;let n=e.baseUri||e.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${t}`);return n.substr(0,n.lastIndexOf("/")+1)+t}var Hu={};de(Hu,{decode:()=>oM,name:()=>iM});var XC="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",KC="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",YC=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),ZC=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),QC={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},$C={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Wg(t,e,r,n,i){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"NONE",s=await eM();nM(s,s.exports[$C[i]],t,e,r,n,s.exports[QC[o||"NONE"]])}var Gu;async function eM(){return Gu||(Gu=tM()),Gu}async function tM(){let t=XC;WebAssembly.validate(YC)&&(t=KC,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let e=await WebAssembly.instantiate(rM(t),{});return await e.instance.exports.__wasm_call_ctors(),e.instance}function rM(t){let e=new Uint8Array(t.length);for(let n=0;n<t.length;++n){let i=t.charCodeAt(n);e[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<t.length;++n)e[r++]=e[n]<60?ZC[e[n]]:(e[n]-60)*64+e[++n];return e.buffer.slice(0,r)}function nM(t,e,r,n,i,o,s){let a=t.exports.sbrk,c=n+3&-4,u=a(c*i),l=a(o.length),f=new Uint8Array(t.exports.memory.buffer);f.set(o,l);let h=e(u,n,i,l,o.length);if(h===0&&s&&s(u,c,i),r.set(f.subarray(u,u+n*i)),a(u-a(0)),h!==0)throw new Error(`Malformed buffer data: ${h}`)}var _s="EXT_meshopt_compression",iM=_s;async function oM(t,e){var r,n;let i=new q(t);if(!(e!=null&&(r=e.gltf)!==null&&r!==void 0&&r.decompressMeshes)||!((n=e.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let o=[];for(let s of t.json.bufferViews||[])o.push(sM(i,s));await Promise.all(o),i.removeExtension(_s)}async function sM(t,e){let r=t.getObjectExtension(e,_s);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:o,count:s,mode:a,filter:c="NONE",buffer:u}=r,l=t.gltf.buffers[u],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),h=new Uint8Array(t.gltf.buffers[e.buffer].arrayBuffer,e.byteOffset,e.byteLength);await Wg(h,s,o,f,a,c),t.removeObjectExtension(e,_s)}}var Vu={};de(Vu,{name:()=>aM,preprocess:()=>cM});var on="EXT_texture_webp",aM=on;function cM(t,e){let r=new q(t);if(!Ia("image/webp")){if(r.getRequiredExtensions().includes(on))throw new Error(`gltf: Required extension ${on} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let o=r.getObjectExtension(i,on);o&&(i.source=o.source),r.removeObjectExtension(i,on)}r.removeExtension(on)}var zu={};de(zu,{name:()=>uM,preprocess:()=>lM});var vs="KHR_texture_basisu",uM=vs;function lM(t,e){let r=new q(t),{json:n}=r;for(let i of n.textures||[]){let o=r.getObjectExtension(i,vs);o&&(i.source=o.source,r.removeObjectExtension(i,vs))}r.removeExtension(vs)}var ku={};de(ku,{decode:()=>mM,encode:()=>gM,name:()=>dM,preprocess:()=>pM});function Xg(t){let e={};for(let r in t){let n=t[r];if(r!=="indices"){let i=ju(n);e[r]=i}}return e}function ju(t){let{buffer:e,size:r,count:n}=fM(t);return{value:e,size:r,byteOffset:0,count:n,type:ds(r),componentType:Qr(e)}}function fM(t){let e=t,r=1,n=0;return t&&t.value&&(e=t.value,r=t.size||1),e&&(ArrayBuffer.isView(e)||(e=hM(e,Float32Array)),n=e.length/r),{buffer:e,size:r,count:n}}function hM(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t?Array.isArray(t)?new e(t):r&&!(t instanceof e)?new e(t):t:null}var Wt="KHR_draco_mesh_compression",dM=Wt;function pM(t,e,r){let n=new q(t);for(let i of Kg(n))n.getObjectExtension(i,Wt)}async function mM(t,e,r){var n;if(!(e!=null&&(n=e.gltf)!==null&&n!==void 0&&n.decompressMeshes))return;let i=new q(t),o=[];for(let s of Kg(i))i.getObjectExtension(s,Wt)&&o.push(yM(i,s,e,r));await Promise.all(o),i.removeExtension(Wt)}function gM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=new q(t);for(let n of r.json.meshes||[])AM(n,e),r.addRequiredExtension(Wt)}async function yM(t,e,r,n){let i=t.getObjectExtension(e,Wt);if(!i)return;let o=t.getTypedArrayForBufferView(i.bufferView),s=$t(o.buffer,o.byteOffset),a={...r};delete a["3d-tiles"];let c=await Ce(s,us,a,n),u=Xg(c.attributes);for(let[l,f]of Object.entries(u))if(l in e.attributes){let h=e.attributes[l],d=t.getAccessor(h);d!=null&&d.min&&d!==null&&d!==void 0&&d.max&&(f.min=d.min,f.max=d.max)}e.attributes=u,c.indices&&(e.indices=ju(c.indices)),t.removeObjectExtension(e,Wt),_M(e)}function AM(t,e){var r;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let s=i.DracoWriter.encodeSync({attributes:t}),a=o==null||(r=o.parseSync)===null||r===void 0?void 0:r.call(o,{attributes:t}),c=i._addFauxAttributes(a.attributes),u=i.addBufferView(s);return{primitives:[{attributes:c,mode:n,extensions:{[Wt]:{bufferView:u,attributes:c}}}]}}function _M(t){if(!t.attributes&&Object.keys(t.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Kg(t){for(let e of t.json.meshes||[])for(let r of e.primitives)yield r}var qu={};de(qu,{decode:()=>bM,name:()=>vM});var Ju="KHR_texture_transform",vM=Ju,xs=new T,xM=new j,TM=new j;async function bM(t,e){var r;if(!new q(t).hasExtension(Ju)||!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let o=t.json.materials||[];for(let s=0;s<o.length;s++)EM(s,t)}function EM(t,e){var r,n,i;let o=[],s=(r=e.json.materials)===null||r===void 0?void 0:r[t],a=s==null||(n=s.pbrMetallicRoughness)===null||n===void 0?void 0:n.baseColorTexture;a&&oi(e,t,a,o);let c=s?.emissiveTexture;c&&oi(e,t,c,o);let u=s?.normalTexture;u&&oi(e,t,u,o);let l=s?.occlusionTexture;l&&oi(e,t,l,o);let f=s==null||(i=s.pbrMetallicRoughness)===null||i===void 0?void 0:i.metallicRoughnessTexture;f&&oi(e,t,f,o)}function oi(t,e,r,n){let i=SM(r,n);if(!i)return;let o=t.json.meshes||[];for(let s of o)for(let a of s.primitives){let c=a.material;Number.isFinite(c)&&e===c&&BM(t,a,i)}}function SM(t,e){var r;let n=(r=t.extensions)===null||r===void 0?void 0:r[Ju],{texCoord:i=0}=t,{texCoord:o=i}=n;if(!(e.findIndex(a=>{let[c,u]=a;return c===i&&u===o})!==-1)){let a=wM(n);return i!==o&&(t.texCoord=o),e.push([i,o]),{originalTexCoord:i,texCoord:o,matrix:a}}return null}function BM(t,e,r){let{originalTexCoord:n,texCoord:i,matrix:o}=r,s=e.attributes[`TEXCOORD_${n}`];if(Number.isFinite(s)){var a;let u=(a=t.json.accessors)===null||a===void 0?void 0:a[s];if(u&&u.bufferView){var c;let l=(c=t.json.bufferViews)===null||c===void 0?void 0:c[u.bufferView];if(l){let{arrayBuffer:f,byteOffset:h}=t.buffers[l.buffer],d=(h||0)+(u.byteOffset||0)+(l.byteOffset||0),{ArrayType:p,length:g}=$r(u,l),m=hs[u.componentType],A=fs[u.type],_=l.byteStride||m*A,v=new Float32Array(g);for(let x=0;x<u.count;x++){let B=new p(f,d+x*_,2);xs.set(B[0],B[1],1),xs.transformByMatrix3(o),v.set([xs[0],xs[1]],x*A)}n===i?CM(u,l,t.buffers,v):MM(i,u,e,t,v)}}}}function CM(t,e,r,n){t.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),e.buffer=r.length-1,e.byteLength=n.buffer.byteLength,e.byteOffset=0,delete e.byteStride}function MM(t,e,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let o=n.json.bufferViews;if(!o)return;o.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let s=n.json.accessors;s&&(s.push({bufferView:o?.length-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),r.attributes[`TEXCOORD_${t}`]=s.length-1)}function wM(t){let{offset:e=[0,0],rotation:r=0,scale:n=[1,1]}=t,i=new j().set(1,0,0,0,1,0,e[0],e[1],1),o=xM.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),s=TM.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(o).multiplyRight(s)}var Wu={};de(Wu,{decode:()=>OM,encode:()=>RM,name:()=>IM});var Ar="KHR_lights_punctual",IM=Ar;async function OM(t){let e=new q(t),{json:r}=e,n=e.getExtension(Ar);n&&(e.json.lights=n.lights,e.removeExtension(Ar));for(let i of r.nodes||[]){let o=e.getObjectExtension(i,Ar);o&&(i.light=o.light),e.removeObjectExtension(i,Ar)}}async function RM(t){let e=new q(t),{json:r}=e;if(r.lights){let n=e.addExtension(Ar);ue(!n.lights),n.lights=r.lights,delete r.lights}if(e.json.lights){for(let n of e.json.lights){let i=n.node;e.addObjectExtension(i,Ar,n)}delete e.json.lights}}var Xu={};de(Xu,{decode:()=>PM,encode:()=>FM,name:()=>LM});var si="KHR_materials_unlit",LM=si;async function PM(t){let e=new q(t),{json:r}=e;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),e.removeObjectExtension(n,si);e.removeExtension(si)}function FM(t){let e=new q(t),{json:r}=e;if(e.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,e.addObjectExtension(n,si,{}),e.addExtension(si))}var Ku={};de(Ku,{decode:()=>NM,encode:()=>UM,name:()=>DM});var ai="KHR_techniques_webgl",DM=ai;async function NM(t){let e=new q(t),{json:r}=e,n=e.getExtension(ai);if(n){let i=GM(n,e);for(let o of r.materials||[]){let s=e.getObjectExtension(o,ai);s&&(o.technique=Object.assign({},s,i[s.technique]),o.technique.values=HM(o.technique,e)),e.removeObjectExtension(o,ai)}e.removeExtension(ai)}}async function UM(t,e){}function GM(t,e){let{programs:r=[],shaders:n=[],techniques:i=[]}=t,o=new TextDecoder;return n.forEach(s=>{if(Number.isFinite(s.bufferView))s.code=o.decode(e.getTypedArrayForBufferView(s.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(s=>{s.fragmentShader=n[s.fragmentShader],s.vertexShader=n[s.vertexShader]}),i.forEach(s=>{s.program=r[s.program]}),i}function HM(t,e){let r=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(n=>{t.uniforms[n].value&&!(n in r)&&(r[n]=t.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=e.getTexture(r[n].index))}),r}var Yg=[Lu,Iu,Hu,Vu,zu,ku,Wu,Xu,Ku,qu,Pu];function Zg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Yg.filter(o=>$g(o.name,e));for(let o of n){var i;(i=o.preprocess)===null||i===void 0||i.call(o,t,e,r)}}async function Qg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Yg.filter(o=>$g(o.name,e));for(let o of n){var i;await((i=o.decode)===null||i===void 0?void 0:i.call(o,t,e,r))}}function $g(t,e){var r;let n=(e==null||(r=e.gltf)===null||r===void 0?void 0:r.excludeExtensions)||{};return!(t in n&&!n[t])}var Yu="KHR_binary_glTF";function e0(t){let e=new q(t),{json:r}=e;for(let n of r.images||[]){let i=e.getObjectExtension(n,Yu);i&&Object.assign(n,i),e.removeObjectExtension(n,Yu)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,e.removeExtension(Yu)}var t0={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},zM={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Zu=class{constructor(){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}},this.json=void 0}normalize(e,r){this.json=e.json;let n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),e0(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(let r in t0)this._convertTopLevelObjectToArray(e,r)}_convertTopLevelObjectToArray(e,r){let n=e[r];if(!(!n||Array.isArray(n))){e[r]=[];for(let i in n){let o=n[i];o.id=o.id||i;let s=e[r].length;e[r].push(o),this.idToIndexMap[r][i]=s}}}_convertObjectIdsToArrayIndices(e){for(let r in t0)this._convertIdsToIndices(e,r);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(let r of e.textures)this._convertTextureIds(r);for(let r of e.meshes)this._convertMeshIds(r);for(let r of e.nodes)this._convertNodeIds(r);for(let r of e.scenes)this._convertSceneIds(r)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(let r of e.primitives){let{attributes:n,indices:i,material:o}=r;for(let s in n)n[s]=this._convertIdToIndex(n[s],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),o&&(r.material=this._convertIdToIndex(o,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(r=>this._convertIdToIndex(r,"node"))),e.meshes&&(e.meshes=e.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(e,r){e[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),e[r]=[]);for(let n of e[r])for(let i in n){let o=n[i],s=this._convertIdToIndex(o,i);n[i]=s}}_convertIdToIndex(e,r){let n=zM[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${e}`);return i}return e}_updateObjects(e){for(let r of this.json.buffers)delete r.type}_updateMaterial(e){for(let o of e.materials){var r,n,i;o.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let s=((r=o.values)===null||r===void 0?void 0:r.tex)||((n=o.values)===null||n===void 0?void 0:n.texture2d_0)||((i=o.values)===null||i===void 0?void 0:i.diffuseTex),a=e.textures.findIndex(c=>c.id===s);a!==-1&&(o.pbrMetallicRoughness.baseColorTexture={index:a})}}};function r0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new Zu().normalize(t,e)}async function n0(t,e){var r,n,i;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return jM(t,e,o,s),r0(t,{normalize:s==null||(r=s.gltf)===null||r===void 0?void 0:r.normalize}),Zg(t,s,a),s!=null&&(n=s.gltf)!==null&&n!==void 0&&n.loadBuffers&&t.json.buffers&&await kM(t,s,a),s!=null&&(i=s.gltf)!==null&&i!==void 0&&i.loadImages&&await JM(t,s,a),await Qg(t,s,a),t}function jM(t,e,r,n){if(n.uri&&(t.baseUri=n.uri),e instanceof ArrayBuffer&&!Jg(e,r,n)&&(e=new TextDecoder().decode(e)),typeof e=="string")t.json=ya(e);else if(e instanceof ArrayBuffer){let s={};r=qg(s,e,r,n.glb),ue(s.type==="glTF",`Invalid GLB magic string ${s.type}`),t._glb=s,t.json=s.json}else ue(!1,"GLTF: must be ArrayBuffer or string");let i=t.json.buffers||[];if(t.buffers=new Array(i.length).fill(null),t._glb&&t._glb.header.hasBinChunk){let{binChunks:s}=t._glb;t.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}let o=t.json.images||[];t.images=new Array(o.length).fill({})}async function kM(t,e,r){let n=t.json.buffers||[];for(let s=0;s<n.length;++s){let a=n[s];if(a.uri){var i,o;let{fetch:c}=r;ue(c);let u=Uu(a.uri,e),l=await(r==null||(i=r.fetch)===null||i===void 0?void 0:i.call(r,u)),f=await(l==null||(o=l.arrayBuffer)===null||o===void 0?void 0:o.call(l));t.buffers[s]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete a.uri}else t.buffers[s]===null&&(t.buffers[s]={arrayBuffer:new ArrayBuffer(a.byteLength),byteOffset:0,byteLength:a.byteLength})}}async function JM(t,e,r){let n=qM(t),i=t.json.images||[],o=[];for(let s of n)o.push(WM(t,i[s],s,e,r));return await Promise.all(o)}function qM(t){let e=new Set,r=t.json.textures||[];for(let n of r)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function WM(t,e,r,n,i){let o;if(e.uri&&!e.hasOwnProperty("bufferView")){let a=Uu(e.uri,n),{fetch:c}=i;o=await(await c(a)).arrayBuffer(),e.bufferView={data:o}}if(Number.isFinite(e.bufferView)){let a=Dg(t.json,t.buffers,e.bufferView);o=$t(a.buffer,a.byteOffset,a.byteLength)}ue(o,"glTF image has no data");let s=await Ce(o,[Ot,ou],{...n,mimeType:e.mimeType,basis:n.basis||{format:ko()}},i);s&&s[0]&&(s={compressed:!0,mipmaps:!1,width:s[0].width,height:s[0].height,data:s[0]}),t.images=t.images||[],t.images[r]=s}var _r={name:"glTF",id:"gltf",module:"gltf",version:jg,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:XM,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function XM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;e={..._r.options,...e},e.gltf={..._r.options.gltf,...e.gltf};let{byteOffset:n=0}=e;return await n0({},t,n,e,r)}var KM={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},YM={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},De={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},ZM={magFilter:De.TEXTURE_MAG_FILTER,minFilter:De.TEXTURE_MIN_FILTER,wrapS:De.TEXTURE_WRAP_S,wrapT:De.TEXTURE_WRAP_T},QM={[De.TEXTURE_MAG_FILTER]:De.LINEAR,[De.TEXTURE_MIN_FILTER]:De.NEAREST_MIPMAP_LINEAR,[De.TEXTURE_WRAP_S]:De.REPEAT,[De.TEXTURE_WRAP_T]:De.REPEAT};function $M(){return{id:"default-sampler",parameters:QM}}function ew(t){return YM[t]}function tw(t){return KM[t]}var Qu=class{constructor(){this.baseUri="",this.jsonUnprocessed=void 0,this.json=void 0,this.buffers=[],this.images=[]}postProcess(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{json:n,buffers:i=[],images:o=[]}=e,{baseUri:s=""}=e;return ue(n),this.baseUri=s,this.buffers=i,this.images=o,this.jsonUnprocessed=n,this.json=this._resolveTree(e.json,r),this.json}_resolveTree(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={...e};return this.json=n,e.bufferViews&&(n.bufferViews=e.bufferViews.map((i,o)=>this._resolveBufferView(i,o))),e.images&&(n.images=e.images.map((i,o)=>this._resolveImage(i,o))),e.samplers&&(n.samplers=e.samplers.map((i,o)=>this._resolveSampler(i,o))),e.textures&&(n.textures=e.textures.map((i,o)=>this._resolveTexture(i,o))),e.accessors&&(n.accessors=e.accessors.map((i,o)=>this._resolveAccessor(i,o))),e.materials&&(n.materials=e.materials.map((i,o)=>this._resolveMaterial(i,o))),e.meshes&&(n.meshes=e.meshes.map((i,o)=>this._resolveMesh(i,o))),e.nodes&&(n.nodes=e.nodes.map((i,o)=>this._resolveNode(i,o)),n.nodes=n.nodes.map((i,o)=>this._resolveNodeChildren(i))),e.skins&&(n.skins=e.skins.map((i,o)=>this._resolveSkin(i,o))),e.scenes&&(n.scenes=e.scenes.map((i,o)=>this._resolveScene(i,o))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(e){return this._get(this.json.scenes,e)}getNode(e){return this._get(this.json.nodes,e)}getSkin(e){return this._get(this.json.skins,e)}getMesh(e){return this._get(this.json.meshes,e)}getMaterial(e){return this._get(this.json.materials,e)}getAccessor(e){return this._get(this.json.accessors,e)}getCamera(e){return this._get(this.json.cameras,e)}getTexture(e){return this._get(this.json.textures,e)}getSampler(e){return this._get(this.json.samplers,e)}getImage(e){return this._get(this.json.images,e)}getBufferView(e){return this._get(this.json.bufferViews,e)}getBuffer(e){return this._get(this.json.buffers,e)}_get(e,r){if(typeof r=="object")return r;let n=e&&e[r];return n||console.warn(`glTF file error: Could not find ${e}[${r}]`),n}_resolveScene(e,r){return{...e,id:e.id||`scene-${r}`,nodes:(e.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(e,r){let n={...e,id:e?.id||`node-${r}`};return e.mesh!==void 0&&(n.mesh=this.getMesh(e.mesh)),e.camera!==void 0&&(n.camera=this.getCamera(e.camera)),e.skin!==void 0&&(n.skin=this.getSkin(e.skin)),e.meshes!==void 0&&e.meshes.length&&(n.mesh=e.meshes.reduce((i,o)=>{let s=this.getMesh(o);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),n}_resolveNodeChildren(e){return e.children&&(e.children=e.children.map(r=>this.getNode(r))),e}_resolveSkin(e,r){let n=typeof e.inverseBindMatrices=="number"?this.getAccessor(e.inverseBindMatrices):void 0;return{...e,id:e.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(e,r){let n={...e,id:e.id||`mesh-${r}`,primitives:[]};return e.primitives&&(n.primitives=e.primitives.map(i=>{let o={...i,attributes:{},indices:void 0,material:void 0},s=i.attributes;for(let a in s)o.attributes[a]=this.getAccessor(s[a]);return i.indices!==void 0&&(o.indices=this.getAccessor(i.indices)),i.material!==void 0&&(o.material=this.getMaterial(i.material)),o})),n}_resolveMaterial(e,r){let n={...e,id:e.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(e,r){let n=ew(e.componentType),i=tw(e.type),o=n*i,s={...e,id:e.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:o,value:void 0,bufferView:void 0,sparse:void 0};if(e.bufferView!==void 0&&(s.bufferView=this.getBufferView(e.bufferView)),s.bufferView){let a=s.bufferView.buffer,{ArrayType:c,byteLength:u}=$r(s,s.bufferView),l=(s.bufferView.byteOffset||0)+(s.byteOffset||0)+a.byteOffset,f=a.arrayBuffer.slice(l,l+u);s.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(a,l,s.bufferView.byteStride,s.bytesPerElement,s.count)),s.value=new c(f)}return s}_getValueFromInterleavedBuffer(e,r,n,i,o){let s=new Uint8Array(o*i);for(let a=0;a<o;a++){let c=r+a*n;s.set(new Uint8Array(e.arrayBuffer.slice(c,c+i)),a*i)}return s.buffer}_resolveTexture(e,r){return{...e,id:e.id||`texture-${r}`,sampler:typeof e.sampler=="number"?this.getSampler(e.sampler):$M(),source:typeof e.source=="number"?this.getImage(e.source):void 0}}_resolveSampler(e,r){let n={id:e.id||`sampler-${r}`,...e,parameters:{}};for(let i in n){let o=this._enumSamplerParameter(i);o!==void 0&&(n.parameters[o]=n[i])}return n}_enumSamplerParameter(e){return ZM[e]}_resolveImage(e,r){let n={...e,id:e.id||`image-${r}`,image:null,bufferView:e.bufferView!==void 0?this.getBufferView(e.bufferView):void 0},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(e,r){let n=e.buffer,i=this.buffers[n].arrayBuffer,o=this.buffers[n].byteOffset||0;return e.byteOffset&&(o+=e.byteOffset),{id:`bufferView-${r}`,...e,buffer:this.buffers[n],data:new Uint8Array(i,o,e.byteLength)}}_resolveCamera(e,r){let n={...e,id:e.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function ci(t,e){return new Qu().postProcess(t,e)}var Ts={URI:0,EMBEDDED:1};function bs(t,e,r,n){t.rotateYtoZ=!0;let i=(t.byteOffset||0)+(t.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return t.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",t.gltfArrayBuffer=$t(e,r,i),t.gltfByteOffset=0,t.gltfByteLength=i,r%4===0||console.warn(`${t.type}: embedded glb is not aligned to a 4-byte boundary.`),(t.byteOffset||0)+(t.byteLength||0)}async function Es(t,e,r,n){let i=r?.["3d-tiles"]||{};if(rw(t,e,r),i.loadGLTF){if(!n)return;if(t.gltfUrl){let{fetch:o}=n,s=await o(t.gltfUrl,r);t.gltfArrayBuffer=await s.arrayBuffer(),t.gltfByteOffset=0}if(t.gltfArrayBuffer){let o=await Ce(t.gltfArrayBuffer,_r,r,n);t.gltf=ci(o),t.gpuMemoryUsageInBytes=ni(t.gltf),delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength}}}function rw(t,e,r){switch(e){case Ts.URI:if(t.gltfArrayBuffer){let n=new Uint8Array(t.gltfArrayBuffer,t.gltfByteOffset),o=new TextDecoder().decode(n);t.gltfUrl=o.replace(/[\s\0]+$/,"")}delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength;break;case Ts.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function i0(t,e,r,n,i){var o;r=nw(t,e,r,n,i),await Es(t,Ts.EMBEDDED,n,i);let s=t==null||(o=t.gltf)===null||o===void 0?void 0:o.extensions;return s&&s.CESIUM_RTC&&(t.rtcCenter=s.CESIUM_RTC.center),r}function nw(t,e,r,n,i){r=qt(t,e,r),r=Yr(t,e,r),r=Zr(t,e,r,n),r=bs(t,e,r,n);let o=new Tt(t.featureTableJson,t.featureTableBinary);return t.rtcCenter=o.getGlobalProperty("RTC_CENTER",N.FLOAT,3),r}async function o0(t,e,r,n,i){return r=iw(t,e,r,n,i),await Es(t,t.gltfFormat||0,n,i),r}function iw(t,e,r,n,i){var o;if(r=qt(t,e,r),t.version!==1)throw new Error(`Instanced 3D Model version ${t.version} is not supported`);r=Yr(t,e,r);let s=new DataView(e);if(t.gltfFormat=s.getUint32(r,!0),r+=4,r=Zr(t,e,r,n),r=bs(t,e,r,n),!(t!=null&&(o=t.header)!==null&&o!==void 0&&o.featureTableJsonByteLength)||t.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let a=new Tt(t.featureTableJson,t.featureTableBinary),c=a.getGlobalProperty("INSTANCES_LENGTH");if(a.featuresLength=c,!Number.isFinite(c))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");t.eastNorthUp=a.getGlobalProperty("EAST_NORTH_UP"),t.rtcCenter=a.getGlobalProperty("RTC_CENTER",N.FLOAT,3);let u=new yr(t.batchTableJson,t.batchTableBinary,c);return ow(t,a,u,c),r}function ow(t,e,r,n){let i=new Array(n),o=new T,s=new T,a=new T,c=new T,u=new j,l=new nt,f=new T,h={},d=new D,p=[],g=[],m=[],A=[];for(let _=0;_<n;_++){let v;if(e.hasProperty("POSITION"))v=e.getProperty("POSITION",N.FLOAT,3,_,o);else if(e.hasProperty("POSITION_QUANTIZED")){v=e.getProperty("POSITION_QUANTIZED",N.UNSIGNED_SHORT,3,_,o);let y=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",N.FLOAT,3);if(!y)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let M=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",N.FLOAT,3);if(!M)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let I=65535;for(let O=0;O<3;O++)v[O]=v[O]/I*M[O]+y[O]}if(!v)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");o.copy(v),h.translation=o,t.normalUp=e.getProperty("NORMAL_UP",N.FLOAT,3,_,p),t.normalRight=e.getProperty("NORMAL_RIGHT",N.FLOAT,3,_,g);let x=!1;if(t.normalUp){if(!t.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");t.hasCustomOrientation=!0}else{if(t.octNormalUp=e.getProperty("NORMAL_UP_OCT32P",N.UNSIGNED_SHORT,2,_,p),t.octNormalRight=e.getProperty("NORMAL_RIGHT_OCT32P",N.UNSIGNED_SHORT,2,_,g),t.octNormalUp)throw t.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");t.eastNorthUp?(U.WGS84.eastNorthUpToFixedFrame(o,d),d.getRotationMatrix3(u)):u.identity()}x&&(c.copy(s).cross(a).normalize(),u.setColumn(0,s),u.setColumn(1,a),u.setColumn(2,c)),l.fromMatrix3(u),h.rotation=l,f.set(1,1,1);let B=e.getProperty("SCALE",N.FLOAT,1,_,m);Number.isFinite(B)&&f.multiplyByScalar(B);let S=e.getProperty("SCALE_NON_UNIFORM",N.FLOAT,3,_,p);S&&f.scale(S),h.scale=f;let C=e.getProperty("BATCH_ID",N.UNSIGNED_SHORT,1,_,A);C===void 0&&(C=_);let E=new D().fromQuaternion(h.rotation);d.identity(),d.translate(h.translation),d.multiplyRight(E),d.scale(h.scale);let b=d.clone();i[_]={modelMatrix:b,batchId:C}}t.instances=i}async function s0(t,e,r,n,i,o){r=qt(t,e,r);let s=new DataView(e);for(t.tilesLength=s.getUint32(r,!0),r+=4,t.tiles=[];t.tiles.length<t.tilesLength&&(t.byteLength||0)-r>12;){let a={shape:"tile3d"};t.tiles.push(a),r=await o(e,r,n,i,a)}return r}async function a0(t,e,r,n){var i,o;if(t.rotateYtoZ=!0,t.gltfUpAxis=r!=null&&(i=r["3d-tiles"])!==null&&i!==void 0&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r!=null&&(o=r["3d-tiles"])!==null&&o!==void 0&&o.loadGLTF){if(!n)return e.byteLength;let s=await Ce(e,_r,r,n);t.gltf=ci(s),t.gpuMemoryUsageInBytes=ni(t.gltf)}else t.gltfArrayBuffer=e;return e.byteLength}async function $u(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{shape:"tile3d"};switch(i.byteOffset=e,i.type=dg(t,e),i.type){case mr.COMPOSITE:return await s0(i,t,e,r,n,$u);case mr.BATCHED_3D_MODEL:return await i0(i,t,e,r,n);case mr.GLTF:return await a0(i,t,r,n);case mr.INSTANCED_3D_MODEL:return await o0(i,t,e,r,n);case mr.POINT_CLOUD:return await Pg(i,t,e,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function el(t,e,r){if(new Uint32Array(t.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(t.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let o=c0(t.slice(8,16)),s=new Uint8Array(t,24,o),c=new TextDecoder("utf8").decode(s),u=JSON.parse(c),l=c0(t.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=t.slice(24+o)),await Ss(u,u.tileAvailability,f,r),Array.isArray(u.contentAvailability))for(let h of u.contentAvailability)await Ss(u,h,f,r);else await Ss(u,u.contentAvailability,f,r);return await Ss(u,u.childSubtreeAvailability,f,r),u}async function Ss(t,e,r,n){let i=Number.isFinite(e.bitstream)?e.bitstream:e.bufferView;if(typeof i!="number")return;let o=t.bufferViews[i],s=t.buffers[o.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(s.uri){let c=`${n?.baseUrl||""}/${s.uri}`,l=await(await n.fetch(c)).arrayBuffer();e.explicitBitstream=new Uint8Array(l,o.byteOffset,o.byteLength);return}let a=t.buffers.slice(0,o.buffer).reduce((c,u)=>c+u.byteLength,0);e.explicitBitstream=new Uint8Array(r.slice(a,a+s.byteLength),o.byteOffset,o.byteLength)}function c0(t){let e=new DataView(t),r=e.getUint32(0,!0),n=e.getUint32(4,!0);return r+2**32*n}var Bs={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:cs,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:el,options:{}};var G0=P(Jr(),1);var F0=P(Jr(),1);function sw(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var Cs=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=sw(n),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function u0(t){let e;return t<10?e="".concat(t.toFixed(2),"ms"):t<100?e="".concat(t.toFixed(1),"ms"):t<1e3?e="".concat(t.toFixed(0),"ms"):e="".concat((t/1e3).toFixed(2),"s"),e}function l0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(e-t.length,0);return"".concat(" ".repeat(r)).concat(t)}function Ms(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>n&&(r=Math.min(r,n/t.width));let o=t.width*r,s=t.height*r,a=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}var ws;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(ws||(ws={}));var aw=10;function f0(t){return typeof t!="string"?t:(t=t.toUpperCase(),ws[t]||ws.WHITE)}function h0(t,e,r){if(!Xe&&typeof t=="string"){if(e){let n=f0(e);t="\x1B[".concat(n,"m").concat(t,"\x1B[39m")}if(r){let n=f0(r);t="\x1B[".concat(n+aw,"m").concat(t,"\x1B[49m")}}return t}function d0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(r),i=t;for(let o of n){let s=i[o];typeof s=="function"&&(e.find(a=>o===a)||(i[o]=s.bind(t)))}}function sn(t,e){if(!t)throw new Error(e||"Assertion failed")}function vr(){let t;if(Xe()&&kr.performance){var e,r;t=kr===null||kr===void 0||(e=kr.performance)===null||e===void 0||(r=e.now)===null||r===void 0?void 0:r.call(e)}else if("hrtime"in fr){var n;let i=fr===null||fr===void 0||(n=fr.hrtime)===null||n===void 0?void 0:n.call(fr);t=i[0]*1e3+i[1]/1e6}else t=Date.now();return t}var an={debug:Xe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cw={enabled:!0,level:0};function Ne(){}var p0={},m0={once:!0},ui=class{constructor(){let{id:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Jo,this._startTs=vr(),this._deltaTs=vr(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Cs("__probe-".concat(this.id,"__"),cw),this.timeStamp("".concat(this.id," started")),d0(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((vr()-this._startTs).toPrecision(10))}getDelta(){return Number((vr()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,r){this._storage.setConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){sn(e,r)}warn(e){return this._getLogFunction(0,e,an.warn,arguments,m0)}error(e){return this._getLogFunction(0,e,an.error,arguments)}deprecated(e,r){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(e,r){return this.error("`".concat(e,"` has been removed. Use `").concat(r,"` instead"))}probe(e,r){return this._getLogFunction(e,r,an.log,arguments,{time:!0,once:!0})}log(e,r){return this._getLogFunction(e,r,an.debug,arguments)}info(e,r){return this._getLogFunction(e,r,console.info,arguments)}once(e,r){return this._getLogFunction(e,r,an.debug||an.info,arguments,m0)}table(e,r,n){return r?this._getLogFunction(e,r,console.table||Ne,n&&[n],{tag:hw(r)}):Ne}image(e){let{logLevel:r,priority:n,image:i,message:o="",scale:s=1}=e;return this._shouldLog(r||n)?Xe()?fw({image:i,message:o,scale:s}):lw({image:i,message:o,scale:s}):Ne}time(e,r){return this._getLogFunction(e,r,console.time?console.time:console.info)}timeEnd(e,r){return this._getLogFunction(e,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,r){return this._getLogFunction(e,r,console.timeStamp||Ne)}group(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=g0({logLevel:e,message:r,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(e,r,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||Ne)}withGroup(e,r,n){this.group(e,r)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=y0(e)}_getLogFunction(e,r,n,i,o){if(this._shouldLog(e)){o=g0({logLevel:e,message:r,args:i,opts:o}),n=n||o.method,sn(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=vr();let s=o.tag||o.message;if(o.once&&s)if(!p0[s])p0[s]=vr();else return Ne;return r=uw(this.id,o.message,o),n.bind(console,r,...o.args)}return Ne}};ui.VERSION=Jo;function y0(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return sn(Number.isFinite(e)&&e>=0),e}function g0(t){let{logLevel:e,message:r}=t;t.logLevel=y0(e);let n=t.args?Array.from(t.args):[];for(;n.length&&n.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&n.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let i=typeof t.message;return sn(i==="string"||i==="object"),Object.assign(t,{args:n},t.opts)}function uw(t,e,r){if(typeof e=="string"){let n=r.time?l0(u0(r.total)):"";e=r.time?"".concat(t,": ").concat(n," ").concat(e):"".concat(t,": ").concat(e),e=h0(e,r.color,r.background)}return e}function lw(t){let{image:e,message:r="",scale:n=1}=t;return console.warn("removed"),Ne}function fw(t){let{image:e,message:r="",scale:n=1}=t;if(typeof e=="string"){let o=new Image;return o.onload=()=>{let s=Ms(o,r,n);console.log(...s)},o.src=e,Ne}let i=e.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Ms(e,r,n)),Ne;if(i.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Ms(o,r,n)),o.src=e.toDataURL(),Ne}return Ne}function hw(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}var tl=new ui({id:"@probe.gl/log"});var Ue=null;try{Ue=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Z(t,e,r){this.low=t|0,this.high=e|0,this.unsigned=!!r}Z.prototype.__isLong__;Object.defineProperty(Z.prototype,"__isLong__",{value:!0});function ye(t){return(t&&t.__isLong__)===!0}function A0(t){var e=Math.clz32(t&-t);return t?31-e:e}Z.isLong=ye;var _0={},v0={};function xr(t,e){var r,n,i;return e?(t>>>=0,(i=0<=t&&t<256)&&(n=v0[t],n)?n:(r=V(t,0,!0),i&&(v0[t]=r),r)):(t|=0,(i=-128<=t&&t<128)&&(n=_0[t],n)?n:(r=V(t,t<0?-1:0,!1),i&&(_0[t]=r),r))}Z.fromInt=xr;function Ge(t,e){if(isNaN(t))return e?bt:Ye;if(e){if(t<0)return bt;if(t>=E0)return C0}else{if(t<=-T0)return Be;if(t+1>=T0)return B0}return t<0?Ge(-t,e).neg():V(t%un|0,t/un|0,e)}Z.fromNumber=Ge;function V(t,e,r){return new Z(t,e,r)}Z.fromBits=V;var Is=Math.pow;function nl(t,e,r){if(t.length===0)throw Error("empty string");if(typeof e=="number"?(r=e,e=!1):e=!!e,t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return e?bt:Ye;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=t.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return nl(t.substring(1),e,r).neg();for(var i=Ge(Is(r,8)),o=Ye,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),r);if(a<8){var u=Ge(Is(r,a));o=o.mul(u).add(Ge(c))}else o=o.mul(i),o=o.add(Ge(c))}return o.unsigned=e,o}Z.fromString=nl;function Ze(t,e){return typeof t=="number"?Ge(t,e):typeof t=="string"?nl(t,e):V(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}Z.fromValue=Ze;var x0=1<<16,dw=1<<24,un=x0*x0,E0=un*un,T0=E0/2,b0=xr(dw),Ye=xr(0);Z.ZERO=Ye;var bt=xr(0,!0);Z.UZERO=bt;var cn=xr(1);Z.ONE=cn;var S0=xr(1,!0);Z.UONE=S0;var rl=xr(-1);Z.NEG_ONE=rl;var B0=V(-1,2147483647,!1);Z.MAX_VALUE=B0;var C0=V(-1,-1,!0);Z.MAX_UNSIGNED_VALUE=C0;var Be=V(0,-2147483648,!1);Z.MIN_VALUE=Be;var w=Z.prototype;w.toInt=function(){return this.unsigned?this.low>>>0:this.low};w.toNumber=function(){return this.unsigned?(this.high>>>0)*un+(this.low>>>0):this.high*un+(this.low>>>0)};w.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Be)){var r=Ge(e),n=this.div(r),i=n.mul(r).sub(this);return n.toString(e)+i.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var o=Ge(Is(e,6),this.unsigned),s=this,a="";;){var c=s.div(o),u=s.sub(c.mul(o)).toInt()>>>0,l=u.toString(e);if(s=c,s.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};w.getHighBits=function(){return this.high};w.getHighBitsUnsigned=function(){return this.high>>>0};w.getLowBits=function(){return this.low};w.getLowBitsUnsigned=function(){return this.low>>>0};w.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Be)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,r=31;r>0&&!(e&1<<r);r--);return this.high!=0?r+33:r+1};w.isZero=function(){return this.high===0&&this.low===0};w.eqz=w.isZero;w.isNegative=function(){return!this.unsigned&&this.high<0};w.isPositive=function(){return this.unsigned||this.high>=0};w.isOdd=function(){return(this.low&1)===1};w.isEven=function(){return(this.low&1)===0};w.equals=function(e){return ye(e)||(e=Ze(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};w.eq=w.equals;w.notEquals=function(e){return!this.eq(e)};w.neq=w.notEquals;w.ne=w.notEquals;w.lessThan=function(e){return this.comp(e)<0};w.lt=w.lessThan;w.lessThanOrEqual=function(e){return this.comp(e)<=0};w.lte=w.lessThanOrEqual;w.le=w.lessThanOrEqual;w.greaterThan=function(e){return this.comp(e)>0};w.gt=w.greaterThan;w.greaterThanOrEqual=function(e){return this.comp(e)>=0};w.gte=w.greaterThanOrEqual;w.ge=w.greaterThanOrEqual;w.compare=function(e){if(ye(e)||(e=Ze(e)),this.eq(e))return 0;var r=this.isNegative(),n=e.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};w.comp=w.compare;w.negate=function(){return!this.unsigned&&this.eq(Be)?Be:this.not().add(cn)};w.neg=w.negate;w.add=function(e){ye(e)||(e=Ze(e));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,o=this.low&65535,s=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,l=0,f=0,h=0,d=0;return d+=o+u,h+=d>>>16,d&=65535,h+=i+c,f+=h>>>16,h&=65535,f+=n+a,l+=f>>>16,f&=65535,l+=r+s,l&=65535,V(h<<16|d,l<<16|f,this.unsigned)};w.subtract=function(e){return ye(e)||(e=Ze(e)),this.add(e.neg())};w.sub=w.subtract;w.multiply=function(e){if(this.isZero())return this;if(ye(e)||(e=Ze(e)),Ue){var r=Ue.mul(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}if(e.isZero())return this.unsigned?bt:Ye;if(this.eq(Be))return e.isOdd()?Be:Ye;if(e.eq(Be))return this.isOdd()?Be:Ye;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(b0)&&e.lt(b0))return Ge(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,o=this.low>>>16,s=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,l=e.low&65535,f=0,h=0,d=0,p=0;return p+=s*l,d+=p>>>16,p&=65535,d+=o*l,h+=d>>>16,d&=65535,d+=s*u,h+=d>>>16,d&=65535,h+=i*l,f+=h>>>16,h&=65535,h+=o*u,f+=h>>>16,h&=65535,h+=s*c,f+=h>>>16,h&=65535,f+=n*l+i*u+o*c+s*a,f&=65535,V(d<<16|p,f<<16|h,this.unsigned)};w.mul=w.multiply;w.divide=function(e){if(ye(e)||(e=Ze(e)),e.isZero())throw Error("division by zero");if(Ue){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var r=(this.unsigned?Ue.div_u:Ue.div_s)(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?bt:Ye;var n,i,o;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return bt;if(e.gt(this.shru(1)))return S0;o=bt}else{if(this.eq(Be)){if(e.eq(cn)||e.eq(rl))return Be;if(e.eq(Be))return cn;var s=this.shr(1);return n=s.div(e).shl(1),n.eq(Ye)?e.isNegative()?cn:rl:(i=this.sub(e.mul(n)),o=n.add(i.div(e)),o)}else if(e.eq(Be))return this.unsigned?bt:Ye;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();o=Ye}for(i=this;i.gte(e);){n=Math.max(1,Math.floor(i.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),c=a<=48?1:Is(2,a-48),u=Ge(n),l=u.mul(e);l.isNegative()||l.gt(i);)n-=c,u=Ge(n,this.unsigned),l=u.mul(e);u.isZero()&&(u=cn),o=o.add(u),i=i.sub(l)}return o};w.div=w.divide;w.modulo=function(e){if(ye(e)||(e=Ze(e)),Ue){var r=(this.unsigned?Ue.rem_u:Ue.rem_s)(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};w.mod=w.modulo;w.rem=w.modulo;w.not=function(){return V(~this.low,~this.high,this.unsigned)};w.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};w.clz=w.countLeadingZeros;w.countTrailingZeros=function(){return this.low?A0(this.low):A0(this.high)+32};w.ctz=w.countTrailingZeros;w.and=function(e){return ye(e)||(e=Ze(e)),V(this.low&e.low,this.high&e.high,this.unsigned)};w.or=function(e){return ye(e)||(e=Ze(e)),V(this.low|e.low,this.high|e.high,this.unsigned)};w.xor=function(e){return ye(e)||(e=Ze(e)),V(this.low^e.low,this.high^e.high,this.unsigned)};w.shiftLeft=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):V(0,this.low<<e-32,this.unsigned)};w.shl=w.shiftLeft;w.shiftRight=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):V(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};w.shr=w.shiftRight;w.shiftRightUnsigned=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):e===32?V(this.high,0,this.unsigned):V(this.high>>>e-32,0,this.unsigned)};w.shru=w.shiftRightUnsigned;w.shr_u=w.shiftRightUnsigned;w.rotateLeft=function(e){var r;return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?V(this.high,this.low,this.unsigned):e<32?(r=32-e,V(this.low<<e|this.high>>>r,this.high<<e|this.low>>>r,this.unsigned)):(e-=32,r=32-e,V(this.high<<e|this.low>>>r,this.low<<e|this.high>>>r,this.unsigned))};w.rotl=w.rotateLeft;w.rotateRight=function(e){var r;return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?V(this.high,this.low,this.unsigned):e<32?(r=32-e,V(this.high<<r|this.low>>>e,this.low<<r|this.high>>>e,this.unsigned)):(e-=32,r=32-e,V(this.low<<r|this.high>>>e,this.high<<r|this.low>>>e,this.unsigned))};w.rotr=w.rotateRight;w.toSigned=function(){return this.unsigned?V(this.low,this.high,!1):this};w.toUnsigned=function(){return this.unsigned?this:V(this.low,this.high,!0)};w.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};w.toBytesLE=function(){var e=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};w.toBytesBE=function(){var e=this.high,r=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Z.fromBytes=function(e,r,n){return n?Z.fromBytesLE(e,r):Z.fromBytesBE(e,r)};Z.fromBytesLE=function(e,r){return new Z(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,r)};Z.fromBytesBE=function(e,r){return new Z(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],r)};var ln=Z;var pw=16;function li(t){t==="X"&&(t="");let e=t.padEnd(pw,"0");return ln.fromString(e,!0,16)}function il(t){if(t.isZero())return"X";let e=t.countTrailingZeros(),r=e%4;e=(e-r)/4;let n=e;e*=4;let o=t.shiftRightUnsigned(e).toString(16).replace(/0+$/,"");return Array(17-n-o.length).join("0")+o}function ol(t,e){let r=mw(t).shiftRightUnsigned(2);return t.add(ln.fromNumber(2*e+1-4).multiply(r))}function mw(t){return t.and(t.not().add(1))}var gw=3,yw=30,Aw=2*yw+1,M0=180/Math.PI;function I0(t){if(t.length===0)throw new Error(`Invalid Hilbert quad key ${t}`);let e=t.split("/"),r=parseInt(e[0],10),n=e[1],i=n.length,o=0,s=[0,0];for(let a=i-1;a>=0;a--){o=i-a;let c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);let f=Math.pow(2,o-1);_w(f,s,u,l),s[0]+=f*u,s[1]+=f*l}if(r%2===1){let a=s[0];s[0]=s[1],s[1]=a}return{face:r,ij:s,level:o}}function O0(t){if(t.isZero())return"";let e=t.toString(2);for(;e.length<gw+Aw;)e="0"+e;let r=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,r),o=i.length/2,s=ln.fromString(n,!0,2).toString(10),a="";if(o!==0)for(a=ln.fromString(i,!0,2).toString(4);a.length<o;)a="0"+a;return`${s}/${a}`}function sl(t,e,r){let n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function w0(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function al(t){return[w0(t[0]),w0(t[1])]}function cl(t,e){let[r,n]=e;switch(t){case 0:return[1,r,n];case 1:return[-r,1,n];case 2:return[-r,-n,1];case 3:return[-1,-n,-r];case 4:return[n,-1,-r];case 5:return[n,r,-1];default:throw new Error("Invalid face")}}function ul(t){let[e,r,n]=t,i=Math.atan2(n,Math.sqrt(e*e+r*r));return[Math.atan2(r,e)*M0,i*M0]}function _w(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let i=e[0];e[0]=e[1],e[1]=i}}function R0(t){let e=sl(t.ij,t.level,[.5,.5]),r=al(e),n=cl(t.face,r);return ul(n)}var vw=100;function ll(t){let{face:e,ij:r,level:n}=t,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(vw*Math.pow(2,-n))),s=new Float64Array(4*o*2+2),a=0,c=0;for(let u=0;u<4;u++){let l=i[u].slice(0),f=i[u+1],h=(f[0]-l[0])/o,d=(f[1]-l[1])/o;for(let p=0;p<o;p++){l[0]+=h,l[1]+=d;let g=sl(r,n,l),m=al(g),A=cl(e,m),_=ul(A);Math.abs(_[1])>89.999&&(_[0]=c);let v=_[0]-c;_[0]+=v>180?-360:v<-180?360:0,s[a++]=_[0],s[a++]=_[1],c=_[0]}}return s[a++]=s[0],s[a++]=s[1],s}function fn(t){let e=xw(t);return I0(e)}function xw(t){if(t.indexOf("/")>0)return t;let e=li(t);return O0(e)}function fl(t){let e=fn(t);return R0(e)}function P0(t){let e;if(t.face===2||t.face===5){let r=null,n=0;for(let i=0;i<4;i++){let o=`${t.face}/${i}`,s=fn(o),a=ll(s);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}e=L0(r)}else{let r=ll(t);e=L0(r)}return e}function L0(t){if(t.length%2!==0)throw new Error("Invalid corners");let e=[],r=[];for(let n=0;n<t.length;n+=2)e.push(t[n]),r.push(t[n+1]);return e.sort((n,i)=>n-i),r.sort((n,i)=>n-i),{west:e[0],east:e[e.length-1],north:r[r.length-1],south:r[0]}}function hl(t,e){let r=e?.minimumHeight||0,n=e?.maximumHeight||0,i=fn(t),o=P0(i),s=o.west,a=o.south,c=o.east,u=o.north,l=[];return l.push(new T(s,u,r)),l.push(new T(c,u,r)),l.push(new T(c,a,r)),l.push(new T(s,a,r)),l.push(new T(s,u,n)),l.push(new T(c,u,n)),l.push(new T(c,a,n)),l.push(new T(s,a,n)),l}function Os(t){let e=t.token,r={minimumHeight:t.minimumHeight,maximumHeight:t.maximumHeight},n=hl(e,r),i=fl(e),o=i[0],s=i[1],a=U.WGS84.cartographicToCartesian([o,s,r.maximumHeight]),c=new T(a[0],a[1],a[2]);n.push(c);let u=Un(n);return[...u.center,...u.halfAxes]}var Tw=4,bw=8,Ew={QUADTREE:Tw,OCTREE:bw};function Sw(t,e,r){if(t!=null&&t.box){let n=li(t.s2VolumeInfo.token),i=ol(n,e),o=il(i),s={...t.s2VolumeInfo};switch(s.token=o,r){case"OCTREE":let u=t.s2VolumeInfo,l=u.maximumHeight-u.minimumHeight,f=l/2,h=u.minimumHeight+l/2;u.minimumHeight=h-f,u.maximumHeight=h+f;break;default:break}return{box:Os(s),s2VolumeInfo:s}}}async function pl(t){let{implicitOptions:e,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:o}=t,{subtree:s,level:a=0,globalData:c={level:0,mortonIndex:0,x:0,y:0,z:0}}=t,{subdivisionScheme:u,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:h,subtreesUriTemplate:d,basePath:p}=e,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return tl.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),g;let m=a+c.level;if(m>f)return g;let A=Ew[u],_=Math.log2(A),v=n&1,x=n>>1&1,B=n>>2&1,S=(A**a-1)/(A-1),C=Tr(r.mortonIndex,n,_),E=S+C,b=Tr(r.x,v,1),y=Tr(r.y,x,1),M=Tr(r.z,B,1),I=!1;a>=l&&(I=dl(s.childSubtreeAvailability,C));let O=Tr(c.x,b,a),R=Tr(c.y,y,a),F=Tr(c.z,M,a);if(I){let K=`${p}/${d}`,ee=Rs(K,m,O,R,F);s=await(0,F0.load)(ee,Bs,o),c={mortonIndex:C,x:b,y,z:M,level:a},C=0,E=0,b=0,y=0,M=0,a=0}if(!dl(s.tileAvailability,E))return g;dl(s.contentAvailability,E)&&(g.contentUrl=Rs(h,m,O,R,F));let Q=a+1,W={mortonIndex:C,x:b,y,z:M};for(let K=0;K<A;K++){let ee=Sw(i,K,u),xe=await pl({subtree:s,implicitOptions:e,loaderOptions:o,parentData:W,childIndex:K,level:Q,globalData:{...c},s2VolumeBox:ee});if(xe.contentUrl||xe.children.length){let Zy=m+1,Qy=Bw(xe,Zy,{childTileX:b,childTileY:y,childTileZ:M},e,i);g.children.push(Qy)}}return g}function dl(t,e){let r;return Array.isArray(t)?(r=t[0],t.length>1&&tl.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=t,"constant"in r?Boolean(r.constant):r.explicitBitstream?ww(e,r.explicitBitstream):!1}function Bw(t,e,r,n,i){let{basePath:o,refine:s,getRefine:a,lodMetricType:c,getTileType:u,rootLodMetricValue:l,rootBoundingVolume:f}=n,h=t.contentUrl&&t.contentUrl.replace(`${o}/`,""),d=l/2**e,p=i!=null&&i.box?{box:i.box}:f,g=Cw(e,p,r);return{children:t.children,contentUrl:t.contentUrl,content:{uri:h},id:t.contentUrl,refine:a(s),type:u(t),lodMetricType:c,lodMetricValue:d,geometricError:d,transform:t.transform,boundingVolume:g}}function Cw(t,e,r){if(e.region){let{childTileX:n,childTileY:i,childTileZ:o}=r,[s,a,c,u,l,f]=e.region,h=2**t,d=(c-s)/h,p=(u-a)/h,g=(f-l)/h,[m,A]=[s+d*n,s+d*(n+1)],[_,v]=[a+p*i,a+p*(i+1)],[x,B]=[l+g*o,l+g*(o+1)];return{region:[m,_,A,v,x,B]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${e}`)}function Tr(t,e,r){return(t<<r)+e}function Rs(t,e,r,n,i){let o=Mw({level:e,x:r,y:n,z:i});return t.replace(/{level}|{x}|{y}|{z}/gi,s=>o[s])}function Mw(t){let e={};for(let r in t)e[`{${r}}`]=t[r];return e}function ww(t,e){let r=Math.floor(t/8),n=t%8;return(e[r]>>n&1)===1}function gl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(!e)return ut.EMPTY;let n=e.split("?")[0].split(".").pop();switch(n){case"pnts":return ut.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return ut.SCENEGRAPH;default:return n||ut.EMPTY}}function yl(t){switch(t){case"REPLACE":case"replace":return be.REPLACE;case"ADD":case"add":return be.ADD;default:return t}}function ml(t,e){if(/^[a-z][0-9a-z+.-]*:/i.test(e)){let n=new URL(t,`${e}/`);return decodeURI(n.toString())}else if(t.startsWith("/"))return t;return It.resolve(e,t)}function D0(t,e){if(!t)return null;let r;if(t.content){var n;let o=t.content.uri||((n=t.content)===null||n===void 0?void 0:n.url);typeof o<"u"&&(r=ml(o,e))}return{...t,id:r,contentUrl:r,lodMetricType:hr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:gl(t,r),refine:yl(t.refine)}}async function H0(t,e,r){let n=null,i=U0(t.root);i&&t.root?n=await N0(t.root,t,e,i,r):n=D0(t.root,e);let o=[];for(o.push(n);o.length>0;){let s=o.pop()||{},a=s.children||[],c=[];for(let u of a){let l=U0(u),f;l?f=await N0(u,t,e,l,r):f=D0(u,e),f&&(c.push(f),o.push(f))}s.children=c}return n}async function N0(t,e,r,n,i){var o,s,a;let{subdivisionScheme:c,maximumLevel:u,availableLevels:l,subtreeLevels:f,subtrees:{uri:h}}=n,d=Rs(h,0,0,0,0),p=ml(d,r),g=await(0,G0.load)(p,Bs,i),m=(o=t.content)===null||o===void 0?void 0:o.uri,A=m?ml(m,r):"",_=e==null||(s=e.root)===null||s===void 0?void 0:s.refine,v=t.geometricError,x=(a=t.boundingVolume.extensions)===null||a===void 0?void 0:a["3DTILES_bounding_volume_S2"];if(x){let E={box:Os(x),s2VolumeInfo:x};t.boundingVolume=E}let B=t.boundingVolume,S={contentUrlTemplate:A,subtreesUriTemplate:h,subdivisionScheme:c,subtreeLevels:f,maximumLevel:Number.isFinite(l)?l-1:u,refine:_,basePath:r,lodMetricType:hr.GEOMETRIC_ERROR,rootLodMetricValue:v,rootBoundingVolume:B,getTileType:gl,getRefine:yl};return await Iw(t,r,g,S,i)}async function Iw(t,e,r,n,i){if(!t)return null;let{children:o,contentUrl:s}=await pl({subtree:r,implicitOptions:n,loaderOptions:i}),a,c=null;return s&&(a=s,c={uri:s.replace(`${e}/`,"")}),{...t,id:a,contentUrl:a,lodMetricType:hr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:gl(t,a),refine:yl(t.refine),content:c||t.content,children:o}}function U0(t){var e;return(t==null||(e=t.extensions)===null||e===void 0?void 0:e["3DTILES_implicit_tiling"])||t?.implicitTiling}var Ls={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:cs,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:Ow,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function Ow(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=e["3d-tiles"]||{},i;return n.isTileset==="auto"?i=r?.url&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?Rw(t,e,r):Lw(t,e,r)}async function Rw(t,e,r){var n;let i=JSON.parse(new TextDecoder().decode(t)),o=r?.url||"",s=Pw(o),a=await H0(i,s,e||{});return{...i,shape:"tileset3d",loader:Ls,url:o,queryString:r?.queryString||"",basePath:s,root:a||i.root,type:pe.TILES3D,lodMetricType:hr.GEOMETRIC_ERROR,lodMetricValue:((n=i.root)===null||n===void 0?void 0:n.geometricError)||0}}async function Lw(t,e,r){let n={content:{shape:"tile3d",featureIds:null}};return await $u(t,0,e,r,n.content),n.content}function Pw(t){return It.dirname(t)}function Ps(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ps=function(r){return typeof r}:Ps=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ps(t)}function V0(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function hn(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?V0(Object(r),!0).forEach(function(n){Fw(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):V0(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Fw(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function z0(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function Dw(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){z0(o,n,i,s,a,"next",c)}function a(c){z0(o,n,i,s,a,"throw",c)}s(void 0)})}}function Nw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function j0(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Uw(t,e,r){return e&&j0(t.prototype,e),r&&j0(t,r),t}function Fs(t,e,r){return typeof Reflect<"u"&&Reflect.get?Fs=Reflect.get:Fs=function(i,o,s){var a=Gw(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},Fs(t,e,r||t)}function Gw(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=dn(t),t!==null););return t}function Hw(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Al(t,e)}function Al(t,e){return Al=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Al(t,e)}function Vw(t){var e=kw();return function(){var n=dn(t),i;if(e){var o=dn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return zw(this,i)}}function zw(t,e){if(e&&(Ps(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jw(t)}function jw(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function kw(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function dn(t){return dn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},dn(t)}var k0=[0],Jw={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:"",loader:Ls,onTilesetLoad:{type:"function",value:function(e){}},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e,r,n){}},_getMeshColor:{type:"function",value:function(e){return[255,255,255]}}},Ds=function(t){Hw(r,t);var e=Vw(r);function r(){var i;Nw(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){"onTileLoadFail"in this.props&&Xt.log.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}},n.shouldUpdateState=function(o){var s=o.changeFlags;return s.somethingChanged},n.updateState=function(o){var s=o.props,a=o.oldProps,c=o.changeFlags;if(s.data&&s.data!==a.data&&this._loadTileset(s.data),c.viewportChanged){var u=this.state.activeViewports,l=Object.keys(u).length;l&&(this._updateTileset(u),this.state.lastUpdatedViewports=u,this.state.activeViewports={})}if(c.propsChanged){var f=this.state.layerMap;for(var h in f)f[h].needsUpdate=!0}},n.activateViewport=function(o){var s=this.state,a=s.activeViewports,c=s.lastUpdatedViewports;this.internalState.viewport=o,a[o.id]=o;var u=c?.[o.id];(!u||!o.equals(u))&&(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())},n.getPickingInfo=function(o){var s=o.info,a=o.sourceLayer,c=a&&a.props.tile;return s.picked&&(s.object=c),s.sourceTile=c,s},n.filterSubLayer=function(o){var s=o.layer,a=o.viewport,c=s.props,u=c.tile,l=a.id;return u.selected&&u.viewportIds.includes(l)},n._updateAutoHighlight=function(o){var s=o.sourceTile,a=this.state.layerMap[s?.id];a&&a.layer&&a.layer.updateAutoHighlight(o)},n._loadTileset=function(){var i=Dw(regeneratorRuntime.mark(function s(a){var c,u,l,f,h,d,p,g,m;return regeneratorRuntime.wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(c=this.props.loadOptions,u=c===void 0?{}:c,l=this.props.loader||this.props.loaders,f=Array.isArray(l)?l[0]:l,h={loadOptions:hn({},u)},d=a,!f.preload){_.next=12;break}return _.next=8,f.preload(a,u);case 8:p=_.sent,p.url&&(d=p.url),p.headers&&(h.loadOptions.fetch=hn(hn({},h.loadOptions.fetch),{},{headers:p.headers})),Object.assign(h,p);case 12:return _.next=14,(0,W0.load)(d,f,h.loadOptions);case 14:g=_.sent,m=new ei(g,hn({onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileError:this.props.onTileError},h)),this.setState({tileset3d:m,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(m);case 19:case"end":return _.stop()}},s,this)}));function o(s){return i.apply(this,arguments)}return o}(),n._onTileLoad=function(o){var s=this.state.lastUpdatedViewports;this.props.onTileLoad(o),this._updateTileset(s),this.setNeedsUpdate()},n._onTileUnload=function(o){delete this.state.layerMap[o.id],this.props.onTileUnload(o)},n._updateTileset=function(o){var s=this;if(o){var a=this.state.tileset3d,c=this.context.timeline,u=Object.keys(o).length;!c||!u||!a||a.selectTiles(Object.values(o)).then(function(l){var f=s.state.frameNumber!==l;f&&s.setState({frameNumber:l})})}},n._getSubLayer=function(o,s){if(!o.content)return null;switch(o.type){case ut.POINTCLOUD:return this._makePointCloudLayer(o,s);case ut.SCENEGRAPH:return this._make3DModelLayer(o);case ut.MESH:return this._makeSimpleMeshLayer(o,s);default:throw new Error("Tile3DLayer: Failed to render layer of type ".concat(o.content.type))}},n._makePointCloudLayer=function(o,s){var a=o.content,c=a.attributes,u=a.pointCount,l=a.constantRGBA,f=a.cartographicOrigin,h=a.modelMatrix,d=c.positions,p=c.normals,g=c.colors;if(!d)return null;var m=s&&s.props.data||{header:{vertexCount:u},attributes:{POSITION:d,NORMAL:p,COLOR_0:g}},A=this.props,_=A.pointSize,v=A.getPointColor,x=this.getSubLayerClass("pointcloud",J0.PointCloudLayer);return new x({pointSize:_},this.getSubLayerProps({id:"pointcloud"}),{id:"".concat(this.id,"-pointcloud-").concat(o.id),tile:o,data:m,coordinateSystem:Xt.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:f,modelMatrix:h,getColor:l||v,_offset:0})},n._make3DModelLayer=function(o){var s=o.content,a=s.gltf,c=s.instances,u=s.cartographicOrigin,l=s.modelMatrix,f=this.getSubLayerClass("scenegraph",q0.ScenegraphLayer);return new f({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:"".concat(this.id,"-scenegraph-").concat(o.id),tile:o,data:c||k0,scenegraph:a,coordinateSystem:Xt.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:u,modelMatrix:l,getTransformMatrix:function(d){return d.modelMatrix},getPosition:[0,0,0],_offset:0})},n._makeSimpleMeshLayer=function(o,s){var a=o.content,c=a.attributes,u=a.indices,l=a.modelMatrix,f=a.cartographicOrigin,h=a.coordinateSystem,d=h===void 0?Xt.COORDINATE_SYSTEM.METER_OFFSETS:h,p=a.material,g=a.featureIds,m=this.props._getMeshColor,A=s&&s.props.mesh||new Yn({topology:"triangle-list",attributes:qw(c),indices:u}),_=this.getSubLayerClass("mesh",Wo);return new _(this.getSubLayerProps({id:"mesh"}),{id:"".concat(this.id,"-mesh-").concat(o.id),tile:o,mesh:A,data:k0,getColor:m(o),pbrMaterial:p,modelMatrix:l,coordinateOrigin:f,coordinateSystem:d,featureIds:g,_offset:0})},n.renderLayers=function(){var o=this,s=this.state,a=s.tileset3d,c=s.layerMap;return a?a.tiles.map(function(u){var l=c[u.id]=c[u.id]||{tile:u},f=l.layer;return u.selected&&(f?l.needsUpdate&&(f=o._getSubLayer(u,f),l.needsUpdate=!1):f=o._getSubLayer(u)),l.layer=f,f}).filter(Boolean):null},Uw(r,[{key:"isLoaded",get:function(){var o,s;return Boolean(((o=this.state)===null||o===void 0||(s=o.tileset3d)===null||s===void 0?void 0:s.isLoaded())&&Fs(dn(r.prototype),"isLoaded",this))}}]),r}(Xt.CompositeLayer);Ds.defaultProps=Jw;Ds.layerName="Tile3DLayer";function qw(t){var e={};return e.positions=hn(hn({},t.positions),{},{value:new Float32Array(t.positions.value)}),t.normals&&(e.normals=t.normals),t.texCoords&&(e.texCoords=t.texCoords),t.colors&&(e.colors=t.colors),t.uvRegions&&(e.uvRegions=t.uvRegions),e}var js=P(ze()),Sl=P(Vo()),ny=P(ze());var Ww=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function _l(t){return t>>1^-(t&1)}function Xw(t){let e=0,r={};for(let[n,i]of Ww){let o=i===8?t.getFloat64:t.getFloat32;r[n]=o.call(t,e,!0),e+=i}return{header:r,headerEndPosition:e}}function Kw(t,e){let r=e,n=3,i=t.getUint32(r,!0),o=new Uint16Array(i*n);r+=Uint32Array.BYTES_PER_ELEMENT;let s=Uint16Array.BYTES_PER_ELEMENT,a=i*s,c=r,u=c+a,l=u+a,f=0,h=0,d=0;for(let p=0;p<i;p++)f+=_l(t.getUint16(c+s*p,!0)),h+=_l(t.getUint16(u+s*p,!0)),d+=_l(t.getUint16(l+s*p,!0)),o[p]=f,o[p+i]=h,o[p+i*2]=d;return r+=a*3,{vertexData:o,vertexDataEndPosition:r}}function fi(t,e,r,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o;if(n===2?o=new Uint16Array(t,e,r):o=new Uint32Array(t,e,r),!i)return o;let s=0;for(let a=0;a<o.length;++a){let c=o[a];o[a]=s-c,c===0&&++s}return o}function Yw(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;n%s!==0&&(n+=s-n%s);let a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=a*3,u=fi(t.buffer,n,c,s);return n+=c*s,{triangleIndicesEndPosition:n,triangleIndices:u}}function Zw(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=fi(t.buffer,n,a,s,!1);n+=a*s;let u=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let l=fi(t.buffer,n,u,s,!1);n+=u*s;let f=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let h=fi(t.buffer,n,f,s,!1);n+=f*s;let d=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let p=fi(t.buffer,n,d,s,!1);return n+=d*s,{edgeIndicesEndPosition:n,westIndices:c,southIndices:l,eastIndices:h,northIndices:p}}function Qw(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function $w(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function eI(t,e){let r={};if(t.byteLength<=e)return{extensions:r,extensionsEndPosition:e};let n=e;for(;n<t.byteLength;){let i=t.getUint8(n,!0);n+=Uint8Array.BYTES_PER_ELEMENT;let o=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let s=new DataView(t.buffer,n,o);switch(i){case 1:{r.vertexNormals=Qw(s);break}case 2:{r.waterMask=$w(s);break}default:}n+=o}return{extensions:r,extensionsEndPosition:n}}var br={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},tI={maxDecodingStep:br.extensions};function vl(t,e){let r=Object.assign({},tI,e),n=new DataView(t),{header:i,headerEndPosition:o}=Xw(n);if(r.maxDecodingStep<br.vertices)return{header:i};let{vertexData:s,vertexDataEndPosition:a}=Kw(n,o);if(r.maxDecodingStep<br.triangleIndices)return{header:i,vertexData:s};let{triangleIndices:c,triangleIndicesEndPosition:u}=Yw(n,s,a);if(r.maxDecodingStep<br.edgeIndices)return{header:i,vertexData:s,triangleIndices:c};let{westIndices:l,southIndices:f,eastIndices:h,northIndices:d,edgeIndicesEndPosition:p}=Zw(n,s,u);if(r.maxDecodingStep<br.extensions)return{header:i,vertexData:s,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f};let{extensions:g}=eI(n,p);return{header:i,vertexData:s,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f,extensions:g}}function Ns(t,e,r,n){let i=n?nI(n,t.POSITION.value):rI(e),o=new t.POSITION.value.constructor(i.length*6),s=new t.TEXCOORD_0.value.constructor(i.length*4),a=new e.constructor(i.length*6);for(let u=0;u<i.length;u++){let l=i[u];iI({edge:l,edgeIndex:u,attributes:t,skirtHeight:r,newPosition:o,newTexcoord0:s,newTriangles:a})}t.POSITION.value=xn(t.POSITION.value,o),t.TEXCOORD_0.value=xn(t.TEXCOORD_0.value,s);let c=e instanceof Array?e.concat(a):xn(e,a);return{attributes:t,triangles:c}}function rI(t){let e=[];for(let s=0;s<t.length;s+=3)e.push([t[s],t[s+1]]),e.push([t[s+1],t[s+2]]),e.push([t[s+2],t[s]]);e.sort((s,a)=>Math.min(...s)-Math.min(...a)||Math.max(...s)-Math.max(...a));let r=[],n=0;for(;n<e.length;){var i,o;e[n][0]===((i=e[n+1])===null||i===void 0?void 0:i[1])&&e[n][1]===((o=e[n+1])===null||o===void 0?void 0:o[0])?n+=2:(r.push(e[n]),n++)}return r}function nI(t,e){t.westIndices.sort((n,i)=>e[3*n+1]-e[3*i+1]),t.eastIndices.sort((n,i)=>e[3*i+1]-e[3*n+1]),t.southIndices.sort((n,i)=>e[3*i]-e[3*n]),t.northIndices.sort((n,i)=>e[3*n]-e[3*i]);let r=[];for(let n in t){let i=t[n];for(let o=0;o<i.length-1;o++)r.push([i[o],i[o+1]])}return r}function iI(t){let{edge:e,edgeIndex:r,attributes:n,skirtHeight:i,newPosition:o,newTexcoord0:s,newTriangles:a}=t,c=n.POSITION.value.length,u=r*2,l=r*2+1;o.set(n.POSITION.value.subarray(e[0]*3,e[0]*3+3),u*3),o[u*3+2]=o[u*3+2]-i,o.set(n.POSITION.value.subarray(e[1]*3,e[1]*3+3),l*3),o[l*3+2]=o[l*3+2]-i,s.set(n.TEXCOORD_0.value.subarray(e[0]*2,e[0]*2+2),u*2),s.set(n.TEXCOORD_0.value.subarray(e[1]*2,e[1]*2+2),l*2);let f=r*2*3;a[f]=e[0],a[f+1]=c/3+l,a[f+2]=e[1],a[f+3]=c/3+l,a[f+4]=e[0],a[f+5]=c/3+u}function xl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{bounds:r}=e,{header:n,vertexData:i,triangleIndices:o,westIndices:s,northIndices:a,eastIndices:c,southIndices:u}=vl(t,br.triangleIndices),l=o,f=oI(i,n,r),h=gr(f);if(e!=null&&e.skirtHeight){let{attributes:d,triangles:p}=Ns(f,l,e.skirtHeight,{westIndices:s,northIndices:a,eastIndices:c,southIndices:u});f=d,l=p}return{loaderData:{header:{}},header:{vertexCount:l.length,boundingBox:h},schema:void 0,topology:"triangle-list",mode:4,indices:{value:l,size:1},attributes:f}}function oI(t,e,r){let{minHeight:n,maxHeight:i}=e,[o,s,a,c]=r||[0,0,1,1],u=a-o,l=c-s,f=i-n,h=t.length/3,d=new Float32Array(h*3),p=new Float32Array(h*2);for(let g=0;g<h;g++){let m=t[g]/32767,A=t[g+h]/32767,_=t[g+h*2]/32767;d[3*g+0]=m*u+o,d[3*g+1]=A*l+s,d[3*g+2]=_*f+n,p[2*g+0]=m,p[2*g+1]=A}return{POSITION:{value:d,size:3},TEXCOORD_0:{value:p,size:2}}}var hi=class{constructor(e=257){this.gridSize=e;let r=e-1;if(r&r-1)throw new Error(`Expected grid size to be 2^n+1, got ${e}.`);this.numTriangles=r*r*2-2,this.numParentTriangles=this.numTriangles-r*r,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(this.numTriangles*4);for(let n=0;n<this.numTriangles;n++){let i=n+2,o=0,s=0,a=0,c=0,u=0,l=0;for(i&1?a=c=u=r:o=s=l=r;(i>>=1)>1;){let h=o+a>>1,d=s+c>>1;i&1?(a=o,c=s,o=u,s=l):(o=a,s=c,a=u,c=l),u=h,l=d}let f=n*4;this.coords[f+0]=o,this.coords[f+1]=s,this.coords[f+2]=a,this.coords[f+3]=c}}createTile(e){return new Tl(e,this)}},Tl=class{constructor(e,r){let n=r.gridSize;if(e.length!==n*n)throw new Error(`Expected terrain data of length ${n*n} (${n} x ${n}), got ${e.length}.`);this.terrain=e,this.martini=r,this.errors=new Float32Array(e.length),this.update()}update(){let{numTriangles:e,numParentTriangles:r,coords:n,gridSize:i}=this.martini,{terrain:o,errors:s}=this;for(let a=e-1;a>=0;a--){let c=a*4,u=n[c+0],l=n[c+1],f=n[c+2],h=n[c+3],d=u+f>>1,p=l+h>>1,g=d+p-l,m=p+u-d,A=(o[l*i+u]+o[h*i+f])/2,_=p*i+d,v=Math.abs(A-o[_]);if(s[_]=Math.max(s[_],v),a<r){let x=(l+m>>1)*i+(u+g>>1),B=(h+m>>1)*i+(f+g>>1);s[_]=Math.max(s[_],s[x],s[B])}}}getMesh(e=0){let{gridSize:r,indices:n}=this.martini,{errors:i}=this,o=0,s=0,a=r-1;n.fill(0);function c(d,p,g,m,A,_){let v=d+g>>1,x=p+m>>1;Math.abs(d-A)+Math.abs(p-_)>1&&i[x*r+v]>e?(c(A,_,d,p,v,x),c(g,m,A,_,v,x)):(n[p*r+d]=n[p*r+d]||++o,n[m*r+g]=n[m*r+g]||++o,n[_*r+A]=n[_*r+A]||++o,s++)}c(0,0,a,a,a,0),c(a,a,0,0,0,a);let u=new Uint16Array(o*2),l=new Uint32Array(s*3),f=0;function h(d,p,g,m,A,_){let v=d+g>>1,x=p+m>>1;if(Math.abs(d-A)+Math.abs(p-_)>1&&i[x*r+v]>e)h(A,_,d,p,v,x),h(g,m,A,_,v,x);else{let B=n[p*r+d]-1,S=n[m*r+g]-1,C=n[_*r+A]-1;u[2*B]=d,u[2*B+1]=p,u[2*S]=g,u[2*S+1]=m,u[2*C]=A,u[2*C+1]=_,l[f++]=B,l[f++]=S,l[f++]=C}}return h(0,0,a,a,a,0),h(a,a,0,0,0,a),{vertices:u,triangles:l}}};var di=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r;this.data=e,this.width=r,this.height=n,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;let i=r-1,o=n-1,s=this._addPoint(0,0),a=this._addPoint(i,0),c=this._addPoint(0,o),u=this._addPoint(i,o),l=this._addTriangle(u,s,c,-1,-1,-1);this._addTriangle(s,u,a,l,-1,-1),this._flush()}run(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;for(;this.getMaxError()>e;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(e,r){return this.data[this.width*r+e]}_flush(){let e=this.coords;for(let r=0;r<this._pendingLen;r++){let n=this._pending[r],i=2*this.triangles[n*3+0],o=2*this.triangles[n*3+1],s=2*this.triangles[n*3+2];this._findCandidate(e[i],e[i+1],e[o],e[o+1],e[s],e[s+1],n)}this._pendingLen=0}_findCandidate(e,r,n,i,o,s,a){let c=Math.min(e,n,o),u=Math.min(r,i,s),l=Math.max(e,n,o),f=Math.max(r,i,s),h=Er(n,i,o,s,c,u),d=Er(o,s,e,r,c,u),p=Er(e,r,n,i,c,u),g=i-r,m=e-n,A=s-i,_=n-o,v=r-s,x=o-e,B=Er(e,r,n,i,o,s),S=this.heightAt(e,r)/B,C=this.heightAt(n,i)/B,E=this.heightAt(o,s)/B,b=0,y=0,M=0,I=0;for(let O=u;O<=f;O++){let R=0;h<0&&A!==0&&(R=Math.max(R,Math.floor(-h/A))),d<0&&v!==0&&(R=Math.max(R,Math.floor(-d/v))),p<0&&g!==0&&(R=Math.max(R,Math.floor(-p/g)));let F=h+A*R,X=d+v*R,z=p+g*R,Q=!1;for(let W=c+R;W<=l;W++){if(F>=0&&X>=0&&z>=0){Q=!0;let K=S*F+C*X+E*z,ee=Math.abs(K-this.heightAt(W,O));I+=ee*ee,ee>b&&(b=ee,y=W,M=O)}else if(Q)break;F+=A,X+=v,z+=g}h+=_,d+=x,p+=m}(y===e&&M===r||y===n&&M===i||y===o&&M===s)&&(b=0),this._candidates[2*a]=y,this._candidates[2*a+1]=M,this._rms[a]=I,this._queuePush(a,b,I)}_step(){let e=this._queuePop(),r=e*3+0,n=e*3+1,i=e*3+2,o=this.triangles[r],s=this.triangles[n],a=this.triangles[i],c=this.coords[2*o],u=this.coords[2*o+1],l=this.coords[2*s],f=this.coords[2*s+1],h=this.coords[2*a],d=this.coords[2*a+1],p=this._candidates[2*e],g=this._candidates[2*e+1],m=this._addPoint(p,g);if(Er(c,u,l,f,p,g)===0)this._handleCollinear(m,r);else if(Er(l,f,h,d,p,g)===0)this._handleCollinear(m,n);else if(Er(h,d,c,u,p,g)===0)this._handleCollinear(m,i);else{let A=this._halfedges[r],_=this._halfedges[n],v=this._halfedges[i],x=this._addTriangle(o,s,m,A,-1,-1,r),B=this._addTriangle(s,a,m,_,-1,x+1),S=this._addTriangle(a,o,m,v,x+2,B+1);this._legalize(x),this._legalize(B),this._legalize(S)}}_addPoint(e,r){let n=this.coords.length>>1;return this.coords.push(e,r),n}_addTriangle(e,r,n,i,o,s){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this.triangles.length,c=a/3;return this.triangles[a+0]=e,this.triangles[a+1]=r,this.triangles[a+2]=n,this._halfedges[a+0]=i,this._halfedges[a+1]=o,this._halfedges[a+2]=s,i>=0&&(this._halfedges[i]=a+0),o>=0&&(this._halfedges[o]=a+1),s>=0&&(this._halfedges[s]=a+2),this._candidates[2*c+0]=0,this._candidates[2*c+1]=0,this._queueIndices[c]=-1,this._rms[c]=0,this._pending[this._pendingLen++]=c,a}_legalize(e){let r=this._halfedges[e];if(r<0)return;let n=e-e%3,i=r-r%3,o=n+(e+1)%3,s=n+(e+2)%3,a=i+(r+2)%3,c=i+(r+1)%3,u=this.triangles[s],l=this.triangles[e],f=this.triangles[o],h=this.triangles[a],d=this.coords;if(!sI(d[2*u],d[2*u+1],d[2*l],d[2*l+1],d[2*f],d[2*f+1],d[2*h],d[2*h+1]))return;let p=this._halfedges[o],g=this._halfedges[s],m=this._halfedges[a],A=this._halfedges[c];this._queueRemove(n/3),this._queueRemove(i/3);let _=this._addTriangle(u,h,f,-1,m,p,n),v=this._addTriangle(h,u,l,_,g,A,i);this._legalize(_+1),this._legalize(v+2)}_handleCollinear(e,r){let n=r-r%3,i=n+(r+1)%3,o=n+(r+2)%3,s=this.triangles[o],a=this.triangles[r],c=this.triangles[i],u=this._halfedges[i],l=this._halfedges[o],f=this._halfedges[r];if(f<0){let S=this._addTriangle(e,s,a,-1,l,-1,n),C=this._addTriangle(s,e,c,S,-1,u);this._legalize(S+1),this._legalize(C+2);return}let h=f-f%3,d=h+(f+2)%3,p=h+(f+1)%3,g=this.triangles[d],m=this._halfedges[d],A=this._halfedges[p];this._queueRemove(h/3);let _=this._addTriangle(s,a,e,l,-1,-1,n),v=this._addTriangle(a,g,e,A,-1,_+1,h),x=this._addTriangle(g,c,e,m,-1,v+1),B=this._addTriangle(c,s,e,u,_+2,x+1);this._legalize(_),this._legalize(v),this._legalize(x),this._legalize(B)}_queuePush(e,r,n){let i=this._queue.length;this._queueIndices[e]=i,this._queue.push(e),this._errors.push(r),this._rmsSum+=n,this._queueUp(i)}_queuePop(){let e=this._queue.length-1;return this._queueSwap(0,e),this._queueDown(0,e),this._queuePopBack()}_queuePopBack(){let e=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[e],this._queueIndices[e]=-1,e}_queueRemove(e){let r=this._queueIndices[e];if(r<0){let i=this._pending.indexOf(e);if(i!==-1)this._pending[i]=this._pending[--this._pendingLen];else throw new Error("Broken triangulation (something went wrong).");return}let n=this._queue.length-1;n!==r&&(this._queueSwap(r,n),this._queueDown(r,n)||this._queueUp(r)),this._queuePopBack()}_queueLess(e,r){return this._errors[e]>this._errors[r]}_queueSwap(e,r){let n=this._queue[e],i=this._queue[r];this._queue[e]=i,this._queue[r]=n,this._queueIndices[n]=r,this._queueIndices[i]=e;let o=this._errors[e];this._errors[e]=this._errors[r],this._errors[r]=o}_queueUp(e){let r=e;for(;;){let n=r-1>>1;if(n===r||!this._queueLess(r,n))break;this._queueSwap(n,r),r=n}}_queueDown(e,r){let n=e;for(;;){let i=2*n+1;if(i>=r||i<0)break;let o=i+1,s=i;if(o<r&&this._queueLess(o,i)&&(s=o),!this._queueLess(s,n))break;this._queueSwap(n,s),n=s}return n>e}};function Er(t,e,r,n,i,o){return(r-i)*(e-o)-(n-o)*(t-i)}function sI(t,e,r,n,i,o,s,a){let c=t-s,u=e-a,l=r-s,f=n-a,h=i-s,d=o-a,p=c*c+u*u,g=l*l+f*f,m=h*h+d*d;return c*(f*m-g*d)-u*(l*m-g*h)+p*(l*d-f*h)<0}function Y0(t,e){let{meshMaxError:r,bounds:n,elevationDecoder:i}=e,{data:o,width:s,height:a}=t,c,u;switch(e.tesselator){case"martini":c=Us(o,s,a,i,e.tesselator),u=X0(r,s,c);break;case"delatin":c=Us(o,s,a,i,e.tesselator),u=K0(r,s,a,c);break;default:s===a&&!(a&s-1)?(c=Us(o,s,a,i,"martini"),u=X0(r,s,c)):(c=Us(o,s,a,i,"delatin"),u=K0(r,s,a,c));break}let{vertices:l}=u,{triangles:f}=u,h=aI(l,c,s,a,n),d=gr(h);if(e.skirtHeight){let{attributes:p,triangles:g}=Ns(h,f,e.skirtHeight);h=p,f=g}return{loaderData:{header:{}},header:{vertexCount:f.length,boundingBox:d},mode:4,indices:{value:Uint32Array.from(f),size:1},attributes:h}}function X0(t,e,r){let n=e+1,o=new hi(n).createTile(r),{vertices:s,triangles:a}=o.getMesh(t);return{vertices:s,triangles:a}}function K0(t,e,r,n){let i=new di(n,e+1,r+1);i.run(t);let{coords:o,triangles:s}=i;return{vertices:o,triangles:s}}function Us(t,e,r,n,i){let{rScaler:o,bScaler:s,gScaler:a,offset:c}=n,u=new Float32Array((e+1)*(r+1));for(let l=0,f=0;f<r;f++)for(let h=0;h<e;h++,l++){let d=l*4,p=t[d+0],g=t[d+1],m=t[d+2];u[l+f]=p*o+g*a+m*s+c}if(i==="martini"){for(let l=(e+1)*e,f=0;f<e;f++,l++)u[l]=u[l-e-1];for(let l=r,f=0;f<r+1;f++,l+=r+1)u[l]=u[l-1]}return u}function aI(t,e,r,n,i){let o=r+1,s=t.length/2,a=new Float32Array(s*3),c=new Float32Array(s*2),[u,l,f,h]=i||[0,0,r,n],d=(f-u)/r,p=(h-l)/n;for(let g=0;g<s;g++){let m=t[g*2],A=t[g*2+1],_=A*o+m;a[3*g+0]=m*d+u,a[3*g+1]=-A*p+h,a[3*g+2]=e[_],c[2*g+0]=m/r,c[2*g+1]=A/n}return{POSITION:{value:a,size:3},TEXCOORD_0:{value:c,size:2}}}var Gs="4.1.0-alpha.9";var Hs={name:"Terrain",id:"terrain",module:"terrain",version:Gs,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};var Z0={name:"Quantized Mesh",id:"quantized-mesh",module:"terrain",version:Gs,worker:!0,extensions:["terrain"],mimeTypes:["application/vnd.quantized-mesh"],options:{"quantized-mesh":{bounds:[0,0,1,1],skirtHeight:null}}};var cI={...Hs,parse:uI};async function uI(t,e,r){let n={...e,mimeType:"application/x.image",image:{...e?.image,type:"data"}},i=await Ce(t,[],n,r),o={...cI.options.terrain,...e?.terrain};return Y0(i,o)}var Rj={...Z0,parseSync:(t,e)=>xl(t,e?.["quantized-mesh"]),parse:async(t,e)=>xl(t,e?.["quantized-mesh"])};function Vs(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Vs=function(r){return typeof r}:Vs=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Vs(t)}function Q0(t){return hI(t)||fI(t)||ry(t)||lI()}function lI(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
763
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fI(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function hI(t){if(Array.isArray(t))return bl(t)}function dI(t,e){return gI(t)||mI(t,e)||ry(t,e)||pI()}function pI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
764
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ry(t,e){if(t){if(typeof t=="string")return bl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bl(t,e)}}function bl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function mI(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function gI(t){if(Array.isArray(t))return t}function yI(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function AI(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&El(t,e)}function El(t,e){return El=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},El(t,e)}function _I(t){var e=TI();return function(){var n=zs(t),i;if(e){var o=zs(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return vI(this,i)}}function vI(t,e){if(e&&(Vs(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xI(t)}function xI(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function TI(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zs(t){return zs=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},zs(t)}function $0(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Kt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?$0(Object(r),!0).forEach(function(n){bI(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):$0(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function bI(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var ey=[1],EI=Kt(Kt({},At.defaultProps),{},{elevationData:Ut,texture:Kt(Kt({},Ut),{},{optional:!0}),meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[Hs]});function ty(t){return Array.isArray(t)?t.join(";"):t||""}var ks=function(t){AI(r,t);var e=_I(r);function r(){var i;yI(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.updateState=function(o){var s=o.props,a=o.oldProps,c=s.elevationData!==a.elevationData;if(c){var u=s.elevationData,l=u&&(Array.isArray(u)||u.includes("{x}")&&u.includes("{y}"));this.setState({isTiled:l})}var f=c||s.meshMaxError!==a.meshMaxError||s.elevationDecoder!==a.elevationDecoder||s.bounds!==a.bounds;if(!this.state.isTiled&&f){var h=this.loadTerrain(s);this.setState({terrain:h})}s.workerUrl&&js.log.removed("workerUrl","loadOptions.terrain.workerUrl")()},n.loadTerrain=function(o){var s,a=o.elevationData,c=o.bounds,u=o.elevationDecoder,l=o.meshMaxError,f=o.signal;if(!a)return null;var h=this.getLoadOptions();h=Kt(Kt({},h),{},{terrain:Kt(Kt({skirtHeight:this.state.isTiled?l*2:0},(s=h)===null||s===void 0?void 0:s.terrain),{},{bounds:c,meshMaxError:l,elevationDecoder:u})});var d=this.props.fetch;return d(a,{propName:"elevationData",layer:this,loadOptions:h,signal:f})},n.getTiledTerrainData=function(o){var s=this.props,a=s.elevationData,c=s.fetch,u=s.texture,l=s.elevationDecoder,f=s.meshMaxError,h=this.context.viewport,d=ot(a,o),p=u&&ot(u,o),g=o.signal,m=[0,0],A=[0,0];if(h.isGeospatial){var _=o.bbox;m=h.projectFlat([_.west,_.south]),A=h.projectFlat([_.east,_.north])}else{var v=o.bbox;m=[v.left,v.bottom],A=[v.right,v.top]}var x=[m[0],m[1],A[0],A[1]],B=this.loadTerrain({elevationData:d,bounds:x,elevationDecoder:l,meshMaxError:f,signal:g}),S=p?c(p,{propName:"texture",layer:this,loaders:[],signal:g}).catch(function(C){return null}):Promise.resolve(null);return Promise.all([B,S])},n.renderSubLayers=function(o){var s=this.getSubLayerClass("mesh",Sl.SimpleMeshLayer),a=this.props,c=a.color,u=a.wireframe,l=a.material,f=o.data;if(!f)return null;var h=dI(f,2),d=h[0],p=h[1];return new s(o,{data:ey,mesh:d,texture:p,_instanced:!1,coordinateSystem:ny.COORDINATE_SYSTEM.CARTESIAN,getPosition:function(m){return[0,0,0]},getColor:c,wireframe:u,material:l})},n.onViewportLoad=function(o){if(o){var s=this.state.zRange,a=o.map(function(l){return l.content}).filter(Boolean).map(function(l){var f=l[0].header.boundingBox;return f.map(function(h){return h[2]})});if(a.length!==0){var c=Math.min.apply(Math,Q0(a.map(function(l){return l[0]}))),u=Math.max.apply(Math,Q0(a.map(function(l){return l[1]})));(!s||c<s[0]||u>s[1])&&this.setState({zRange:[c,u]})}}},n.renderLayers=function(){var o=this.props,s=o.color,a=o.material,c=o.elevationData,u=o.texture,l=o.wireframe,f=o.meshMaxError,h=o.elevationDecoder,d=o.tileSize,p=o.maxZoom,g=o.minZoom,m=o.extent,A=o.maxRequests,_=o.onTileLoad,v=o.onTileUnload,x=o.onTileError,B=o.maxCacheSize,S=o.maxCacheByteSize,C=o.refinementStrategy;if(this.state.isTiled)return new At(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:ty(c),texture:ty(u),meshMaxError:f,elevationDecoder:h}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:d,maxZoom:p,minZoom:g,extent:m,maxRequests:A,onTileLoad:_,onTileUnload:v,onTileError:x,maxCacheSize:B,maxCacheByteSize:S,refinementStrategy:C});var E=this.getSubLayerClass("mesh",Sl.SimpleMeshLayer);return new E(this.getSubLayerProps({id:"mesh"}),{data:ey,mesh:this.state.terrain,texture:u,_instanced:!1,getPosition:function(y){return[0,0,0]},getColor:s,material:a,wireframe:l})},r}(js.CompositeLayer);ks.defaultProps=EI;ks.layerName="TerrainLayer";var na=P(ze()),Jl=P(Ve()),qy=P(oy());var pi={x:0,y:1,z:2};function Sr(t,e={}){let{start:r=0,end:n=t.length,plane:i="xy"}=e,o=e.size||2,s=0,a=pi[i[0]],c=pi[i[1]];for(let u=r,l=n-o;u<n;u+=o)s+=(t[u+a]-t[l+a])*(t[u+c]+t[l+c]),l=u;return s/2}function Cl(t,e,r=2,n,i="xy"){let o=e&&e.length,s=o?e[0]*r:t.length,a=ay(t,0,s,r,!0,n&&n[0],i),c=[];if(!a||a.next===a.prev)return c;let u,l,f,h,d,p,g;if(o&&(a=OI(t,e,a,r,n,i)),t.length>80*r){h=l=t[0],d=f=t[1];for(let m=r;m<s;m+=r)p=t[m],g=t[m+1],p<h&&(h=p),g<d&&(d=g),p>l&&(l=p),g>f&&(f=g);u=Math.max(l-h,f-d),u=u!==0?32767/u:0}return mi(a,c,r,h,d,u,0),c}function ay(t,e,r,n,i,o,s){let a,c;o===void 0&&(o=Sr(t,{start:e,end:r,size:n,plane:s}));let u=pi[s[0]],l=pi[s[1]];if(i===o<0)for(a=e;a<r;a+=n)c=sy(a,t[a+u],t[a+l],c);else for(a=r-n;a>=e;a-=n)c=sy(a,t[a+u],t[a+l],c);return c&&Ws(c,c.next)&&(yi(c),c=c.next),c}function Br(t,e){if(!t)return t;e||(e=t);let r=t,n;do if(n=!1,!r.steiner&&(Ws(r,r.next)||te(r.prev,r,r.next)===0)){if(yi(r),r=e=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==e);return e}function mi(t,e,r,n,i,o,s){if(!t)return;!s&&o&&DI(t,n,i,o);let a=t,c,u;for(;t.prev!==t.next;){if(c=t.prev,u=t.next,o?MI(t,n,i,o):CI(t)){e.push(c.i/r|0),e.push(t.i/r|0),e.push(u.i/r|0),yi(t),t=u.next,a=u.next;continue}if(t=u,t===a){s?s===1?(t=wI(Br(t),e,r),mi(t,e,r,n,i,o,2)):s===2&&II(t,e,r,n,i,o):mi(Br(t),e,r,n,i,o,1);break}}}function CI(t){let e=t.prev,r=t,n=t.next;if(te(e,r,n)>=0)return!1;let i=e.x,o=r.x,s=n.x,a=e.y,c=r.y,u=n.y,l=i<o?i<s?i:s:o<s?o:s,f=a<c?a<u?a:u:c<u?c:u,h=i>o?i>s?i:s:o>s?o:s,d=a>c?a>u?a:u:c>u?c:u,p=n.next;for(;p!==e;){if(p.x>=l&&p.x<=h&&p.y>=f&&p.y<=d&&pn(i,a,o,c,s,u,p.x,p.y)&&te(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function MI(t,e,r,n){let i=t.prev,o=t,s=t.next;if(te(i,o,s)>=0)return!1;let a=i.x,c=o.x,u=s.x,l=i.y,f=o.y,h=s.y,d=a<c?a<u?a:u:c<u?c:u,p=l<f?l<h?l:h:f<h?f:h,g=a>c?a>u?a:u:c>u?c:u,m=l>f?l>h?l:h:f>h?f:h,A=Bl(d,p,e,r,n),_=Bl(g,m,e,r,n),v=t.prevZ,x=t.nextZ;for(;v&&v.z>=A&&x&&x.z<=_;){if(v.x>=d&&v.x<=g&&v.y>=p&&v.y<=m&&v!==i&&v!==s&&pn(a,l,c,f,u,h,v.x,v.y)&&te(v.prev,v,v.next)>=0||(v=v.prevZ,x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&pn(a,l,c,f,u,h,x.x,x.y)&&te(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;v&&v.z>=A;){if(v.x>=d&&v.x<=g&&v.y>=p&&v.y<=m&&v!==i&&v!==s&&pn(a,l,c,f,u,h,v.x,v.y)&&te(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;x&&x.z<=_;){if(x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&pn(a,l,c,f,u,h,x.x,x.y)&&te(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function wI(t,e,r){let n=t;do{let i=n.prev,o=n.next.next;!Ws(i,o)&&cy(i,n,n.next,o)&&gi(i,o)&&gi(o,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(o.i/r|0),yi(n),yi(n.next),n=t=o),n=n.next}while(n!==t);return Br(n)}function II(t,e,r,n,i,o){let s=t;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&GI(s,a)){let c=uy(s,a);s=Br(s,s.next),c=Br(c,c.next),mi(s,e,r,n,i,o,0),mi(c,e,r,n,i,o,0);return}a=a.next}s=s.next}while(s!==t)}function OI(t,e,r,n,i,o){let s=[],a,c,u,l,f;for(a=0,c=e.length;a<c;a++)u=e[a]*n,l=a<c-1?e[a+1]*n:t.length,f=ay(t,u,l,n,!1,i&&i[a+1],o),f===f.next&&(f.steiner=!0),s.push(UI(f));for(s.sort(RI),a=0;a<s.length;a++)r=LI(s[a],r);return r}function RI(t,e){return t.x-e.x}function LI(t,e){let r=PI(t,e);if(!r)return e;let n=uy(r,t);return Br(n,n.next),Br(r,r.next)}function PI(t,e){let r=e,n=t.x,i=t.y,o=-1/0,s;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){let h=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(h<=n&&h>o&&(o=h,s=r.x<r.next.x?r:r.next,h===n))return s}r=r.next}while(r!==e);if(!s)return null;let a=s,c=s.x,u=s.y,l=1/0,f;r=s;do n>=r.x&&r.x>=c&&n!==r.x&&pn(i<u?n:o,i,c,u,i<u?o:n,i,r.x,r.y)&&(f=Math.abs(i-r.y)/(n-r.x),gi(r,t)&&(f<l||f===l&&(r.x>s.x||r.x===s.x&&FI(s,r)))&&(s=r,l=f)),r=r.next;while(r!==a);return s}function FI(t,e){return te(t.prev,t,e.prev)<0&&te(e.next,t,t.next)<0}function DI(t,e,r,n){let i=t;do i.z===0&&(i.z=Bl(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,NI(i)}function NI(t){let e,r,n=1,i,o,s,a,c,u;do{for(o=t,t=null,u=null,i=0;o;){for(i++,a=o,s=0,r=0;r<n&&(s++,a=a.nextZ,!!a);r++);for(c=n;s>0||c>0&&a;)s!==0&&(c===0||!a||o.z<=a.z)?(e=o,o=o.nextZ,s--):(e=a,a=a.nextZ,c--),u?u.nextZ=e:t=e,e.prevZ=u,u=e;o=a}u.nextZ=null,n*=2}while(i>1);return t}function Bl(t,e,r,n,i){return t=(t-r)*i|0,e=(e-n)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function UI(t){let e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}function pn(t,e,r,n,i,o,s,a){return(i-s)*(e-a)>=(t-s)*(o-a)&&(t-s)*(n-a)>=(r-s)*(e-a)&&(r-s)*(o-a)>=(i-s)*(n-a)}function GI(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!HI(t,e)&&(gi(t,e)&&gi(e,t)&&VI(t,e)&&(te(t.prev,t,e.prev)||te(t,e.prev,e))||Ws(t,e)&&te(t.prev,t,t.next)>0&&te(e.prev,e,e.next)>0)}function te(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ws(t,e){return t.x===e.x&&t.y===e.y}function cy(t,e,r,n){let i=qs(te(t,e,r)),o=qs(te(t,e,n)),s=qs(te(r,n,t)),a=qs(te(r,n,e));return!!(i!==o&&s!==a||i===0&&Js(t,r,e)||o===0&&Js(t,n,e)||s===0&&Js(r,t,n)||a===0&&Js(r,e,n))}function Js(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function qs(t){return t>0?1:t<0?-1:0}function HI(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&cy(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function gi(t,e){return te(t.prev,t,t.next)<0?te(t,e,t.next)>=0&&te(t,t.prev,e)>=0:te(t,e,t.prev)<0||te(t,t.next,e)<0}function VI(t,e){let r=t,n=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&i<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==t);return n}function uy(t,e){let r=new Ai(t.i,t.x,t.y),n=new Ai(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,o.next=n,n.prev=o,n}function sy(t,e,r,n){let i=new Ai(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function yi(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}var Ai=class{constructor(e,r,n){L(this,"i",void 0),L(this,"x",void 0),L(this,"y",void 0),L(this,"prev",null),L(this,"next",null),L(this,"z",0),L(this,"prevZ",null),L(this,"nextZ",null),L(this,"steiner",!1),this.i=e,this.x=r,this.y=n}};function Il(t,e,r){let n=qI(t),i=Object.keys(n).filter(o=>n[o]!==Array);return WI(t,{propArrayTypes:n,...e},{numericPropKeys:r&&r.numericPropKeys||i,PositionDataType:r?r.PositionDataType:Float32Array,triangulate:r?r.triangulate:!0})}function qI(t){let e={};for(let r of t)if(r.properties)for(let n in r.properties){let i=r.properties[n];e[n]=$I(i,e[n])}return e}function WI(t,e,r){let{pointPositionsCount:n,pointFeaturesCount:i,linePositionsCount:o,linePathsCount:s,lineFeaturesCount:a,polygonPositionsCount:c,polygonObjectsCount:u,polygonRingsCount:l,polygonFeaturesCount:f,propArrayTypes:h,coordLength:d}=e,{numericPropKeys:p=[],PositionDataType:g=Float32Array,triangulate:m=!0}=r,A=t[0]&&"id"in t[0],_=t.length>65535?Uint32Array:Uint16Array,v={type:"Point",positions:new g(n*d),globalFeatureIds:new _(n),featureIds:i>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},x={type:"LineString",pathIndices:o>65535?new Uint32Array(s+1):new Uint16Array(s+1),positions:new g(o*d),globalFeatureIds:new _(o),featureIds:a>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},B={type:"Polygon",polygonIndices:c>65535?new Uint32Array(u+1):new Uint16Array(u+1),primitivePolygonIndices:c>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new g(c*d),globalFeatureIds:new _(c),featureIds:f>65535?new Uint32Array(c):new Uint16Array(c),numericProps:{},properties:[],fields:[]};m&&(B.triangles=[]);for(let C of[v,x,B])for(let E of p){let b=h[E];C.numericProps[E]=new b(C.positions.length/d)}x.pathIndices[s]=o,B.polygonIndices[u]=c,B.primitivePolygonIndices[l]=c;let S={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let C of t){let E=C.geometry,b=C.properties||{};switch(E.type){case"Point":XI(E,v,S,d,b),v.properties.push(wl(b,p)),A&&v.fields.push({id:C.id}),S.pointFeature++;break;case"LineString":KI(E,x,S,d,b),x.properties.push(wl(b,p)),A&&x.fields.push({id:C.id}),S.lineFeature++;break;case"Polygon":YI(E,B,S,d,b),B.properties.push(wl(b,p)),A&&B.fields.push({id:C.id}),S.polygonFeature++;break;default:throw new Error("Invalid geometry type")}S.feature++}return QI(v,x,B,d)}function XI(t,e,r,n,i){e.positions.set(t.data,r.pointPosition*n);let o=t.data.length/n;Ol(e,i,r.pointPosition,o),e.globalFeatureIds.fill(r.feature,r.pointPosition,r.pointPosition+o),e.featureIds.fill(r.pointFeature,r.pointPosition,r.pointPosition+o),r.pointPosition+=o}function KI(t,e,r,n,i){e.positions.set(t.data,r.linePosition*n);let o=t.data.length/n;Ol(e,i,r.linePosition,o),e.globalFeatureIds.fill(r.feature,r.linePosition,r.linePosition+o),e.featureIds.fill(r.lineFeature,r.linePosition,r.linePosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=t.indices[s],u=s===a-1?t.data.length:t.indices[s+1];e.pathIndices[r.linePath++]=r.linePosition,r.linePosition+=(u-c)/n}}function YI(t,e,r,n,i){e.positions.set(t.data,r.polygonPosition*n);let o=t.data.length/n;Ol(e,i,r.polygonPosition,o),e.globalFeatureIds.fill(r.feature,r.polygonPosition,r.polygonPosition+o),e.featureIds.fill(r.polygonFeature,r.polygonPosition,r.polygonPosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=r.polygonPosition;e.polygonIndices[r.polygonObject++]=c;let u=t.areas[s],l=t.indices[s],f=t.indices[s+1];for(let d=0,p=l.length;d<p;++d){let g=l[d],m=d===p-1?f===void 0?t.data.length:f[0]:l[d+1];e.primitivePolygonIndices[r.polygonRing++]=r.polygonPosition,r.polygonPosition+=(m-g)/n}let h=r.polygonPosition;ZI(e,u,l,{startPosition:c,endPosition:h,coordLength:n})}}function ZI(t,e,r,n){let{startPosition:i,endPosition:o,coordLength:s}=n;if(!t.triangles)return;let a=i*s,c=o*s,u=t.positions.subarray(a,c),l=r[0],f=r.slice(1).map(d=>(d-l)/s),h=Cl(u,f,s,e);for(let d=0,p=h.length;d<p;++d)t.triangles.push(i+h[d])}function Ml(t,e){let r={};for(let n in t)r[n]={value:t[n],size:e};return r}function QI(t,e,r,n){let i={shape:"binary-feature-collection",points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:Ml(t.numericProps,1)},lines:{...e,positions:{value:e.positions,size:n},pathIndices:{value:e.pathIndices,size:1},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:Ml(e.numericProps,1)},polygons:{...r,positions:{value:r.positions,size:n},polygonIndices:{value:r.polygonIndices,size:1},primitivePolygonIndices:{value:r.primitivePolygonIndices,size:1},globalFeatureIds:{value:r.globalFeatureIds,size:1},featureIds:{value:r.featureIds,size:1},numericProps:Ml(r.numericProps,1)}};return i.polygons&&r.triangles&&(i.polygons.triangles={value:new Uint32Array(r.triangles),size:1}),i}function Ol(t,e,r,n){for(let i in t.numericProps)if(i in e){let o=e[i];t.numericProps[i].fill(o,r,r+n)}}function wl(t,e){let r={};for(let n in t)e.includes(n)||(r[n]=t[n]);return r}function $I(t,e){return e===Array||!Number.isFinite(t)?Array:e===Float64Array||Math.fround(t)!==t?Float64Array:Float32Array}function Ys(t,e){let r=e?.globalFeatureId;return r!==void 0?e2(t,r):t2(t,e?.type)}function e2(t,e){let r=dy(t);for(let n of r){let i=0,o=n.featureIds.value[0];for(let s=0;s<n.featureIds.value.length;s++){let a=n.featureIds.value[s];if(a!==o){if(e===n.globalFeatureIds.value[i])return Xs(n,i,s);i=s,o=a}}if(e===n.globalFeatureIds.value[i])return Xs(n,i,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function t2(t,e){let r=dy(t,e);return r2(r)}function hy(t,e,r){switch(t.type){case"Point":return s2(t,e,r);case"LineString":return o2(t,e,r);case"Polygon":return py(t,e,r);default:let n=t;throw new Error(`Unsupported geometry type: ${n?.type}`)}}function dy(t,e){let r=[];return t.points&&(t.points.type="Point",r.push(t.points)),t.lines&&(t.lines.type="LineString",r.push(t.lines)),t.polygons&&(t.polygons.type="Polygon",r.push(t.polygons)),r}function r2(t){let e=[];for(let r of t){if(r.featureIds.value.length===0)continue;let n=0,i=r.featureIds.value[0];for(let o=0;o<r.featureIds.value.length;o++){let s=r.featureIds.value[o];s!==i&&(e.push(Xs(r,n,o)),n=o,i=s)}e.push(Xs(r,n,r.featureIds.value.length))}return e}function Xs(t,e,r){let n=hy(t,e,r),i=i2(t,e,r),o=n2(t,e,r);return{type:"Feature",geometry:n,properties:i,...o}}function n2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return t.fields&&t.fields[t.featureIds.value[e]]}function i2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=Object.assign({},t.properties[t.featureIds.value[e]]);for(let i in t.numericProps)n[i]=t.numericProps[i].value[e];return n}function py(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.polygonIndices.value.filter(c=>c>=e&&c<=r),o=t.primitivePolygonIndices.value.filter(c=>c>=e&&c<=r);if(!(i.length>2)){let c=[];for(let u=0;u<o.length-1;u++){let l=o[u],f=o[u+1],h=Ks(n,l,f);c.push(h)}return{type:"Polygon",coordinates:c}}let a=[];for(let c=0;c<i.length-1;c++){let u=i[c],l=i[c+1],f=py(t,u,l).coordinates;a.push(f)}return{type:"MultiPolygon",coordinates:a}}function o2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.pathIndices.value.filter(a=>a>=e&&a<=r);if(!(i.length>2))return{type:"LineString",coordinates:Ks(n,i[0],i[1])};let s=[];for(let a=0;a<i.length-1;a++){let c=Ks(n,i[a],i[a+1]);s.push(c)}return{type:"MultiLineString",coordinates:s}}function s2(t,e,r){let{positions:n}=t,i=Ks(n,e,r);return i.length>1?{type:"MultiPoint",coordinates:i}:{type:"Point",coordinates:i[0]}}function Ks(t,e,r){e=e||0,r=r||t.value.length/t.size;let n=[];for(let i=e;i<r;i++){let o=Array();for(let s=i*t.size;s<(i+1)*t.size;s++)o.push(Number(t.value[s]));n.push(o)}return n}var Ul=P(xy(),1);function Ty(t){let e=t.length;if(e<=1)return[t];let r=[],n,i;for(let o=0;o<e;o++){let s=E2(t[o]);s!==0&&(i===void 0&&(i=s<0),i===s<0?(n&&r.push(n),n=[t[o]]):n&&n.push(t[o]))}return n&&r.push(n),r}function E2(t){let e=0;for(let r=0,n=t.length-1,i,o;r<t.length;n=r++)i=t[r],o=t[n],e+=(o[0]-i[0])*(i[1]+o[1]);return e}function by(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?S2(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function S2(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var Cr=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(e,r,n,i,o){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,e.readFields(by,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=[],c;for(;e.pos<r;){if(i<=0){let u=e.readVarint();n=u&7,i=u>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),n===1&&(c&&a.push(c),c=[]),c&&c.push([o,s]);else if(n===7)c&&c.push(c[0].slice());else throw new Error(`unknown command ${n}`)}return c&&a.push(c),a}bbox(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=1/0,c=-1/0,u=1/0,l=-1/0;for(;e.pos<r;){if(i<=0){let f=e.readVarint();n=f&7,i=f>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),o<a&&(a=o),o>c&&(c=o),s<u&&(u=s),s>l&&(l=s);else if(n!==7)throw new Error(`unknown command ${n}`)}return[a,u,c,l]}_toGeoJSON(e){let r=this.loadGeometry(),n=Cr.types[this.type],i,o;switch(this.type){case 1:let a=[];for(i=0;i<r.length;i++)a[i]=r[i][0];r=a,e(r,this);break;case 2:for(i=0;i<r.length;i++)e(r[i],this);break;case 3:for(r=Ty(r),i=0;i<r.length;i++)for(o=0;o<r[i].length;o++)e(r[i][o],this);break}r.length===1?r=r[0]:n=`Multi${n}`;let s={type:"Feature",geometry:{type:n,coordinates:r},properties:this.properties};return this.id!==null&&(s.id=this.id),s}toGeoJSON(e){if(typeof e=="function")return this._toGeoJSON(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;function c(u){for(let l=0;l<u.length;l++){let f=u[l];f[0]=(f[0]+s)*360/o-180;let h=180-(f[1]+a)*360/o;f[1]=360/Math.PI*Math.atan(Math.exp(h*Math.PI/180))-90}}return this._toGeoJSON(c)}};var _i=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(B2,this,r),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let r=this._pbf.readVarint()+this._pbf.pos;return new Cr(this._pbf,r,this.extent,this._keys,this._values)}};function B2(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(C2(r)))}function C2(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var vi=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(M2,{},r)}};function M2(t,e,r){if(t===3&&r){let n=new _i(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function Ey(t){let e=t.indices.length,r="Polygon";if(e<=1)return{type:r,data:t.data,areas:[[Sr(t.data)]],indices:[t.indices]};let n=[],i=[],o=[],s=[],a,c=0;for(let u,l=0,f;l<e;l++){f=t.indices[l]-c,u=t.indices[l+1]-c||t.data.length;let h=t.data.slice(f,u),d=Sr(h);if(d===0){let p=t.data.slice(0,f),g=t.data.slice(u);t.data=p.concat(g),c+=u-f;continue}a===void 0&&(a=d<0),a===d<0?(s.length&&(n.push(o),i.push(s)),s=[f],o=[d]):(o.push(d),s.push(f))}return o&&n.push(o),s.length&&i.push(s),{type:r,areas:n,indices:i,data:t.data}}function Sy(t,e,r,n){for(let i=0,o=t.length;i<o;i+=2){t[i]=(t[i]+e)*360/n-180;let s=180-(t[i+1]+r)*360/n;t[i+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function By(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?w2(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function w2(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var Cy,Mr,Pl,$s,Fl,Dl,xi;var Ti=class{constructor(e,r,n,i,o,s){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this._geometryInfo=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,this._geometryInfo=s,e.readFields(By,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry,Cy=e.readVarint()+e.pos,Mr=1,$s=0,Fl=0,Dl=0,xi=0;let r=[],n=[];for(;e.pos<Cy;)if($s<=0&&(Pl=e.readVarint(),Mr=Pl&7,$s=Pl>>3),$s--,Mr===1||Mr===2)Fl+=e.readSVarint(),Dl+=e.readSVarint(),Mr===1&&r.push(xi),n.push(Fl,Dl),xi+=2;else if(Mr===7){if(xi>0){let i=r[r.length-1];n.push(n[i],n[i+1]),xi+=2}}else throw new Error(`unknown command ${Mr}`);return{data:n,indices:r}}_toBinaryCoordinates(e){let r=this.loadGeometry(),n;e(r.data,this);let i=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=r.indices.length,n={type:"Point",...r};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=r.indices.length,this._geometryInfo.linePositionsCount+=r.data.length/i,n={type:"LineString",...r};break;case 3:n=Ey(r),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=n.indices.length;for(let s of n.indices)this._geometryInfo.polygonRingsCount+=s.length;this._geometryInfo.polygonPositionsCount+=n.data.length/i;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let o={type:"Feature",geometry:n,properties:this.properties};return this.id!==null&&(o.id=this.id),o}toBinaryCoordinates(e){if(typeof e=="function")return this._toBinaryCoordinates(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;return this._toBinaryCoordinates(c=>Sy(c,s,a,o))}};var bi=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(I2,this,r),this.length=this._features.length}feature(e,r){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let n=this._pbf.readVarint()+this._pbf.pos;return new Ti(this._pbf,n,this.extent,this._keys,this._values,r)}};function I2(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(O2(r)))}function O2(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var Ei=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(R2,{},r)}};function R2(t,e,r){if(t===3&&r){let n=new bi(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function ea(t,e){var r,n;let i=P2(e),o=(e==null||(r=e.gis)===null||r===void 0?void 0:r.format)||(e==null||(n=e.mvt)===null||n===void 0?void 0:n.shape)||e?.shape;switch(o){case"columnar-table":return{shape:"columnar-table",data:Nl(t,i)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:My(t,i)};case"geojson":return My(t,i);case"binary-geometry":return Nl(t,i);case"binary":return Nl(t,i);default:throw new Error(o||"undefined shape")}}function Nl(t,e){let[r,n]=L2(t,e),i=Il(r,n);return i.byteLength=t.byteLength,i}function L2(t,e){let r=[],n={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength<=0)return[r,n];let i=new Ei(new Ul.default(t));return(e&&Array.isArray(e.layers)?e.layers:Object.keys(i.layers)).forEach(s=>{let a=i.layers[s];if(a)for(let c=0;c<a.length;c++){let u=a.feature(c,n),l=D2(u,e,s);r.push(l)}}),[r,n]}function My(t,e){if(t.byteLength<=0)return[];let r=[],n=new vi(new Ul.default(t));return(Array.isArray(e.layers)?e.layers:Object.keys(n.layers)).forEach(o=>{let s=n.layers[o];if(s)for(let a=0;a<s.length;a++){let c=s.feature(a),u=F2(c,e,o);r.push(u)}}),r}function P2(t){var e;if(!(t!=null&&t.mvt))throw new Error("mvt options required");let r=((e=t.mvt)===null||e===void 0?void 0:e.coordinates)==="wgs84",{tileIndex:n}=t.mvt,i=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(r&&!i)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return t.mvt}function F2(t,e,r){let n=t.toGeoJSON(e.coordinates==="wgs84"?e.tileIndex:N2);return e.layerProperty&&(n.properties[e.layerProperty]=r),n}function D2(t,e,r){let n=t.toBinaryCoordinates(e.coordinates==="wgs84"?e.tileIndex:U2);return e.layerProperty&&n.properties&&(n.properties[e.layerProperty]=r),n}function N2(t,e){let{extent:r}=e;for(let n=0;n<t.length;n++){let i=t[n];i[0]/=r,i[1]/=r}}function U2(t,e){let{extent:r}=e;for(let n=0,i=t.length;n<i;++n)t[n]/=r}var G2="4.1.0-alpha.9",ta={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:G2,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}},H2={...ta,parse:async(t,e)=>ea(t,e),parseSync:ea,binary:!0};function wy(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Iy(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?wy(Object(r),!0).forEach(function(n){V2(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):wy(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function V2(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Oy(t,e){return J2(t)||k2(t,e)||j2(t,e)||z2()}function z2(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
765
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function j2(t,e){if(t){if(typeof t=="string")return Ry(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ry(t,e)}}function Ry(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function k2(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function J2(t){if(Array.isArray(t))return t}var q2={Point:Ly,MultiPoint:W2,LineString:Py,MultiLineString:X2,Polygon:Fy,MultiPolygon:K2};function Ly(t,e,r){var n=Oy(t,2),i=n[0],o=n[1],s=Oy(e,2),a=s[0],c=s[1],u=Rt(a[0],c[0],i),l=Rt(a[1],c[1],o);return r.unprojectFlat([u,l])}function Gl(t,e,r){return t.map(function(n){return Ly(n,e,r)})}function W2(t,e,r){return Gl(t,e,r)}function Py(t,e,r){return Gl(t,e,r)}function X2(t,e,r){return t.map(function(n){return Py(n,e,r)})}function Fy(t,e,r){return t.map(function(n){return Gl(n,e,r)})}function K2(t,e,r){return t.map(function(n){return Fy(n,e,r)})}function Dy(t,e,r){var n=r.projectFlat([e.west,e.north]),i=r.projectFlat([e.east,e.south]),o=[n,i];return Iy(Iy({},t),{},{coordinates:q2[t.type](t.coordinates,o,r)})}function Y2(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Z2(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
766
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function Z2(t,e){if(t){if(typeof t=="string")return Ny(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ny(t,e)}}function Ny(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var Q2=["points","lines","polygons"];function Hl(t,e,r,n){var i=Y2(Q2),o;try{for(i.s();!(o=i.n()).done;){var s=o.value,a=t[s]&&$2(t[s],e,r,n);if(a>=0)return a}}catch(c){i.e(c)}finally{i.f()}return-1}function $2(t,e,r,n){var i=t.featureIds.value;if(!i.length)return-1;var o=0,s=i[i.length-1]+1;if(n){var a=eO(t,n);if(a)o=a[0],s=a[1]+1;else return-1}var c=-1;if(e in t.numericProps){var u=t.numericProps[e].value.findIndex(function(l,f){return l===r&&i[f]>=o&&i[f]<s});return u>=0?t.globalFeatureIds.value[u]:-1}else e?c=Uy(t.properties,function(l){return l[e]===r},o,s):t.fields&&(c=Uy(t.fields,function(l){return l.id===r},o,s));return c>=0?tO(t,c):-1}function eO(t,e){if(!t.__layers){for(var r={},n=t.properties,i=0;i<n.length;i++){var o=n[i],s=o.layerName;s&&(r[s]?r[s][1]=i:r[s]=[i,i])}t.__layers=r}return t.__layers[e]}function tO(t,e){if(!t.__ids){for(var r=[],n=t.featureIds.value,i=t.globalFeatureIds.value,o=0;o<n.length;o++)r[n[o]]=i[o];t.__ids=r}return t.__ids[e]}function Uy(t,e,r,n){for(var i=r;i<n;i++)if(e(t[i],i))return i;return-1}function ra(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ra=function(r){return typeof r}:ra=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ra(t)}function rO(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Jy(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
767
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function nO(t){return sO(t)||oO(t)||Jy(t)||iO()}function iO(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
768
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jy(t,e){if(t){if(typeof t=="string")return jl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jl(t,e)}}function oO(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function sO(t){if(Array.isArray(t))return jl(t)}function jl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Gy(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function aO(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){Gy(o,n,i,s,a,"next",c)}function a(c){Gy(o,n,i,s,a,"throw",c)}s(void 0)})}}function cO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hy(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function uO(t,e,r){return e&&Hy(t.prototype,e),r&&Hy(t,r),t}function ht(t,e,r){return typeof Reflect<"u"&&Reflect.get?ht=Reflect.get:ht=function(i,o,s){var a=lO(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},ht(t,e,r||t)}function lO(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=He(t),t!==null););return t}function fO(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kl(t,e)}function kl(t,e){return kl=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},kl(t,e)}function hO(t){var e=mO();return function(){var n=He(t),i;if(e){var o=He(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return dO(this,i)}}function dO(t,e){if(e&&(ra(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pO(t)}function pO(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function mO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function He(t){return He=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},He(t)}function Vy(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Yt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Vy(Object(r),!0).forEach(function(n){gO(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Vy(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function gO(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Vl=512,yO=Yt(Yt({},Jl.GeoJsonLayer.defaultProps),{},{data:Ut,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[ta],binary:!0}),ia=function(t){fO(r,t);var e=hO(r);function r(){var i;cO(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){ht(He(r.prototype),"initializeState",this).call(this);var o=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:o,data:null,tileJSON:null})},n.updateState=function(o){var s,a=o.props,c=o.oldProps,u=o.context,l=o.changeFlags;l.dataChanged&&this._updateTileData(),(s=this.state)!==null&&s!==void 0&&s.data&&(ht(He(r.prototype),"updateState",this).call(this,{props:a,oldProps:c,context:u,changeFlags:l}),this._setWGS84PropertyForTiles());var f=a.highlightColor;f!==c.highlightColor&&Array.isArray(f)&&this.setState({highlightColor:f})},n._updateTileData=function(){var i=aO(regeneratorRuntime.mark(function s(){var a,c,u,l,f;return regeneratorRuntime.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(a=this.props.data,c=null,!(typeof a=="string"&&!Fc(a))){d.next=18;break}return u=this.props,l=u.onDataLoad,f=u.fetch,this.setState({data:null,tileJSON:null}),d.prev=5,d.next=8,f(a,{propName:"data",layer:this,loaders:[]});case 8:c=d.sent,d.next=15;break;case 11:d.prev=11,d.t0=d.catch(5),this.raiseError(d.t0,"loading TileJSON"),a=null;case 15:l&&l(c,{propName:"data",layer:this}),d.next=19;break;case 18:a.tilejson&&(c=a);case 19:c&&(a=c.tiles),this.setState({data:a,tileJSON:c});case 21:case"end":return d.stop()}},s,this,[[5,11]])}));function o(){return i.apply(this,arguments)}return o}(),n._getTilesetOptions=function(){var o=ht(He(r.prototype),"_getTilesetOptions",this).call(this),s=this.state.tileJSON,a=this.props,c=a.minZoom,u=a.maxZoom;return s&&(Number.isFinite(s.minzoom)&&s.minzoom>c&&(o.minZoom=s.minzoom),Number.isFinite(s.maxzoom)&&(!Number.isFinite(u)||s.maxzoom<u)&&(o.maxZoom=s.maxzoom)),o},n.renderLayers=function(){var o;return(o=this.state)!==null&&o!==void 0&&o.data?ht(He(r.prototype),"renderLayers",this).call(this):null},n.getTileData=function(o){var s,a=this.state,c=a.data,u=a.binary,l=o.index,f=o.signal,h=ot(c,o);if(!h)return Promise.reject("Invalid URL");var d=this.getLoadOptions(),p=this.props.fetch;return d=Yt(Yt({},d),{},{mimeType:"application/x-protobuf",mvt:Yt(Yt({},(s=d)===null||s===void 0?void 0:s.mvt),{},{coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:l}),gis:u?{format:"binary"}:{}}),p(h,{propName:"data",layer:this,loadOptions:d,signal:f})},n.renderSubLayers=function(o){var s=o.tile.index,a=s.x,c=s.y,u=s.z,l=Math.pow(2,u),f=Vl/l,h=-f,d=Vl*a/l,p=Vl*(1-c/l),g=new D().scale([f,h,1]);o.autoHighlight=!1,this.context.viewport.resolution||(o.modelMatrix=g,o.coordinateOrigin=[d,p,0],o.coordinateSystem=na.COORDINATE_SYSTEM.CARTESIAN,o.extensions=[].concat(nO(o.extensions||[]),[new qy.ClipExtension]));var m=ht(He(r.prototype),"renderSubLayers",this).call(this,o);return this.state.binary&&!(m instanceof Jl.GeoJsonLayer)&&na.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),m},n._updateAutoHighlight=function(o){var s=this.props.uniqueIdProperty,a=this.state,c=a.hoveredFeatureId,u=a.hoveredFeatureLayerName,l=o.object,f,h;l&&(f=zl(l,s),h=zy(l));var d=this.props.highlightColor;typeof d=="function"&&(d=d(o)),(c!==f||u!==h)&&this.setState({highlightColor:d,hoveredFeatureId:f,hoveredFeatureLayerName:h})},n.getPickingInfo=function(o){var s=ht(He(r.prototype),"getPickingInfo",this).call(this,o),a=Boolean(this.context.viewport.resolution);if(this.state.binary&&s.index!==-1){var c=o.sourceLayer.props.data;s.object=Ys(c,{globalFeatureId:s.index})}return s.object&&!a&&(s.object=ky(s.object,s.tile.bbox,this.context.viewport)),s},n.getSubLayerPropsByTile=function(o){return{highlightedObjectIndex:this.getHighlightedObjectIndex(o),highlightColor:this.state.highlightColor}},n.getHighlightedObjectIndex=function(o){var s=this.state,a=s.hoveredFeatureId,c=s.hoveredFeatureLayerName,u=s.binary,l=this.props,f=l.uniqueIdProperty,h=l.highlightedFeatureId,d=o.content,p=jy(h),g=jy(a)||p;if(!g)return-1;var m=p?h:a;return Array.isArray(d)?d.findIndex(function(A){var _=zl(A,f)===m,v=p||zy(A)===c;return _&&v}):d&&u?Hl(d,f,m,p?"":c):-1},n._pickObjects=function(o){var s=this.context,a=s.deck,c=s.viewport,u=c.width,l=c.height,f=c.x,h=c.y,d=[this.id];return a.pickObjects({x:f,y:h,width:u,height:l,layerIds:d,maxObjects:o})},n.getRenderedFeatures=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,s=this._pickObjects(o),a=new Set,c=[],u=rO(s),l;try{for(u.s();!(l=u.n()).done;){var f=l.value,h=zl(f.object,this.props.uniqueIdProperty);h===void 0?c.push(f.object):a.has(h)||(a.add(h),c.push(f.object))}}catch(d){u.e(d)}finally{u.f()}return c},n._setWGS84PropertyForTiles=function(){var o=this,s="dataInWGS84",a=this.state.tileset;a.selectedTiles.forEach(function(c){c.hasOwnProperty(s)||Object.defineProperty(c,s,{get:function(){if(!c.content)return null;if(o.state.binary&&Array.isArray(c.content)&&!c.content.length)return[];var l=c.bbox;if(c._contentWGS84===void 0&&Dc(l)){var f=o.state.binary?Ys(c.content):c.content;c._contentWGS84=f.map(function(h){return ky(h,l,o.context.viewport)})}return c._contentWGS84}})})},uO(r,[{key:"isLoaded",get:function(){return Boolean(this.state&&this.state.data&&this.state.tileset&&ht(He(r.prototype),"isLoaded",this))}}]),r}(At);ia.layerName="MVTLayer";ia.defaultProps=yO;function zl(t,e){if(t.properties&&e)return t.properties[e];if("id"in t)return t.id}function zy(t){var e;return((e=t.properties)===null||e===void 0?void 0:e.layerName)||null}function jy(t){return t!=null&&t!==""}function ky(t,e,r){var n=Yt(Yt({},t),{},{geometry:{type:t.geometry.type}});return Object.defineProperty(n.geometry,"coordinates",{get:function(){var o=Dy(t.geometry,e,r);return o.coordinates}}),n}function AO(t,e){return TO(t)||xO(t,e)||vO(t,e)||_O()}function _O(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
769
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vO(t,e){if(t){if(typeof t=="string")return Wy(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wy(t,e)}}function Wy(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function xO(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function TO(t){if(Array.isArray(t))return t}var Xy="0123456789bcdefghjkmnpqrstuvwxyz",Ky={};for(Si=0;Si<Xy.length;Si++)Ky[Xy.charAt(Si)]=Si;var Si,bO=-90,EO=90,SO=-180,BO=180;function CO(t){for(var e=!0,r=EO,n=bO,i=BO,o=SO,s,a=0,c=0,u=t.length;c<u;c++){var l=t[c].toLowerCase();a=Ky[l];for(var f=4;f>=0;f--){var h=a>>f&1;e?(s=(i+o)/2,h===1?o=s:i=s):(s=(r+n)/2,h===1?n=s:r=s),e=!e}}return[n,o,r,i]}function Yy(t){var e=CO(t),r=AO(e,4),n=r[0],i=r[1],o=r[2],s=r[3];return[s,o,s,n,i,n,i,o,s,o]}function oa(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?oa=function(r){return typeof r}:oa=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},oa(t)}function MO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function wO(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ql(t,e)}function ql(t,e){return ql=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},ql(t,e)}function IO(t){var e=LO();return function(){var n=sa(t),i;if(e){var o=sa(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return OO(this,i)}}function OO(t,e){if(e&&(oa(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return RO(t)}function RO(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function LO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sa(t){return sa=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},sa(t)}var PO={getGeohash:{type:"accessor",value:function(e){return e.geohash}}},aa=function(t){wO(r,t);var e=IO(r);function r(){return MO(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getGeohash;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return Yy(a(u,l))}}},r}(Le);aa.layerName="GeohashLayer";aa.defaultProps=PO;return iA(Bi);})();
637
+ `;function lE(t){let e=t.positions||t.POSITION,r=e.value.length/e.size;t.COLOR_0||t.colors||(t.colors={size:4,value:new Uint8Array(r*4).fill(255),normalized:!0})}var hE={pbrMaterial:{type:"object",value:null},featureIds:{type:"array",value:null,optional:!0}},ei=class extends Zu.SimpleMeshLayer{getShaders(){let e=super.getShaders();return e.modules.push(Ka),{...e,vs:Yu,fs:qu}}initializeState(){let{featureIds:e}=this.props;super.initializeState();let r=this.getAttributeManager();e&&r.add({featureIdsPickingColors:{type:ti.UNSIGNED_BYTE,size:3,noAlloc:!0,update:this.calculateFeatureIdsPickingColors}})}updateState(e){super.updateState(e);let{props:r,oldProps:n}=e;r.pbrMaterial!==n.pbrMaterial&&this.updatePbrMaterialUniforms(r.pbrMaterial)}draw(e){let{featureIds:r}=this.props;this.state.model&&(this.state.model.setUniforms({u_Camera:this.state.model.uniforms.project_uCameraPosition,pickFeatureIds:Boolean(r)}),super.draw(e))}getModel(e){let{id:r,pbrMaterial:n}=this.props,s=this.parseMaterial(n,e);this.setState({parsedPBRMaterial:s});let i=this.getShaders();return lE(e.attributes),new ju.Model(this.context.device,{...this.getShaders(),id:r,geometry:e,bufferLayout:this.getAttributeManager().getBufferLayouts(),defines:{...i.defines,...s?.defines,HAS_UV_REGIONS:e.attributes.uvRegions?1:0},parameters:s?.parameters,isInstanced:!0})}updatePbrMaterialUniforms(e){let{model:r}=this.state;if(r){let{mesh:n}=this.props,s=this.parseMaterial(e,n);this.setState({parsedPBRMaterial:s}),r.setBindings(s.bindings),r.setUniforms(s.uniforms)}}parseMaterial(e,r){let n=Boolean(e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture);return wa(this.context.device,{unlit:n,...e},{NORMAL:r.attributes.normals,TEXCOORD_0:r.attributes.texCoords},{pbrDebug:!1,lights:!0,useTangents:!1})}calculateFeatureIdsPickingColors(e){let r=this.props.featureIds,n=new Uint8ClampedArray(r.length*e.size),s=[];for(let i=0;i<r.length;i++)this.encodePickingColor(r[i],s),n[i*3]=s[0],n[i*3+1]=s[1],n[i*3+2]=s[2];e.value=n}finalizeState(e){super.finalizeState(e),this.state.parsedPBRMaterial?.generatedTextures.forEach(r=>r.destroy()),this.setState({parsedPBRMaterial:null})}},Cn=ei;(()=>{ei.layerName="MeshLayer"})(),(()=>{ei.defaultProps=hE})();var gg=v(Cr(),1);var he=6356752314245179e-9,fE={radii:[6378137,6378137,he],radiiSquared:[6378137*6378137,6378137*6378137,he*he],oneOverRadii:[1/6378137,1/6378137,1/he],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(he*he)],maximumRadius:Math.max(6378137,6378137,he),centerToleranceSquared:.1};function ri(t){return t}var $b=new m;function uE(t,e=[],r=ri){return"longitude"in t?(e[0]=r(t.longitude),e[1]=r(t.latitude),e[2]=t.height):"x"in t?(e[0]=r(t.x),e[1]=r(t.y),e[2]=t.z):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function $u(t,e=[]){return uE(t,e,j._cartographicRadians?ri:Vo)}function dE(t,e,r=ri){return"longitude"in e?(e.longitude=r(t[0]),e.latitude=r(t[1]),e.height=t[2]):"x"in e?(e.x=r(t[0]),e.y=r(t[1]),e.z=t[2]):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function td(t,e){return dE(t,e,j._cartographicRadians?ri:Xo)}var ed=1e-14,pE=new m,rd={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Ja={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Bn={east:new m,north:new m,up:new m,west:new m,south:new m,down:new m},gE=new m,AE=new m,_E=new m;function Ya(t,e,r,n,s,i){let o=rd[e]&&rd[e][r];ct(o&&(!n||n===o));let a,c,l,h=pE.copy(s);if(At(h.x,0,ed)&&At(h.y,0,ed)){let u=Math.sign(h.z);a=gE.fromArray(Ja[e]),e!=="east"&&e!=="west"&&a.scale(u),c=AE.fromArray(Ja[r]),r!=="east"&&r!=="west"&&c.scale(u),l=_E.fromArray(Ja[n]),n!=="east"&&n!=="west"&&l.scale(u)}else{let{up:u,east:d,north:p}=Bn;d.set(-h.y,h.x,0).normalize(),t.geodeticSurfaceNormal(h,u),p.copy(u).cross(d);let{down:_,west:A,south:T}=Bn;_.copy(u).scale(-1),A.copy(d).scale(-1),T.copy(p).scale(-1),a=Bn[e],c=Bn[r],l=Bn[n]}return i[0]=a.x,i[1]=a.y,i[2]=a.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=l.x,i[9]=l.y,i[10]=l.z,i[11]=0,i[12]=h.x,i[13]=h.y,i[14]=h.z,i[15]=1,i}var Br=new m,mE=new m,TE=new m;function nd(t,e,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:s,centerToleranceSquared:i}=e;Br.from(t);let o=Br.x,a=Br.y,c=Br.z,l=n.x,h=n.y,f=n.z,u=o*o*l*l,d=a*a*h*h,p=c*c*f*f,_=u+d+p,A=Math.sqrt(1/_);if(!Number.isFinite(A))return;let T=mE;if(T.copy(t).scale(A),_<i)return T.to(r);let x=s.x,R=s.y,S=s.z,B=TE;B.set(T.x*x*2,T.y*R*2,T.z*S*2);let M=(1-A)*Br.len()/(.5*B.len()),F=0,C,E,g,y;do{M-=F,C=1/(1+M*x),E=1/(1+M*R),g=1/(1+M*S);let O=C*C,b=E*E,N=g*g,U=O*C,Y=b*E,W=N*g;y=u*O+d*b+p*N-1;let J=-2*(u*U*x+d*Y*R+p*W*S);F=y/J}while(Math.abs(y)>Ht.EPSILON12);return Br.scale([C,E,g]).to(r)}var ni=new m,sd=new m,xE=new m,zt=new m,SE=new m,si=new m,L=class{constructor(e=0,r=0,n=0){P(this,"radii",void 0),P(this,"radiiSquared",void 0),P(this,"radiiToTheFourth",void 0),P(this,"oneOverRadii",void 0),P(this,"oneOverRadiiSquared",void 0),P(this,"minimumRadius",void 0),P(this,"maximumRadius",void 0),P(this,"centerToleranceSquared",Ht.EPSILON1),P(this,"squaredXOverSquaredZ",void 0),ct(e>=0),ct(r>=0),ct(n>=0),this.radii=new m(e,r,n),this.radiiSquared=new m(e*e,r*r,n*n),this.radiiToTheFourth=new m(e*e*e*e,r*r*r*r,n*n*n*n),this.oneOverRadii=new m(e===0?0:1/e,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new m(e===0?0:1/(e*e),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(e,r,n),this.maximumRadius=Math.max(e,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}toString(){return this.radii.toString()}cartographicToCartesian(e,r=[0,0,0]){let n=sd,s=xE,[,,i]=e;this.geodeticSurfaceNormalCartographic(e,n),s.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(s));return s.scale(1/o),n.scale(i),s.add(n),s.to(r)}cartesianToCartographic(e,r=[0,0,0]){si.from(e);let n=this.scaleToGeodeticSurface(si,zt);if(!n)return;let s=this.geodeticSurfaceNormal(n,sd),i=SE;i.copy(si).subtract(n);let o=Math.atan2(s.y,s.x),a=Math.asin(s.z),c=Math.sign(_r.dot(i,si))*_r.length(i);return td([o,a,c],r)}eastNorthUpToFixedFrame(e,r=new D){return Ya(this,"east","north","up",e,r)}localFrameToFixedFrame(e,r,n,s,i=new D){return Ya(this,e,r,n,s,i)}geocentricSurfaceNormal(e,r=[0,0,0]){return ni.from(e).normalize().to(r)}geodeticSurfaceNormalCartographic(e,r=[0,0,0]){let n=$u(e),s=n[0],i=n[1],o=Math.cos(i);return ni.set(o*Math.cos(s),o*Math.sin(s),Math.sin(i)).normalize(),ni.to(r)}geodeticSurfaceNormal(e,r=[0,0,0]){return ni.from(e).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(e,r){return nd(e,this,r)}scaleToGeocentricSurface(e,r=[0,0,0]){zt.from(e);let n=zt.x,s=zt.y,i=zt.z,o=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*o.x+s*s*o.y+i*i*o.z);return zt.multiplyScalar(a).to(r)}transformPositionToScaledSpace(e,r=[0,0,0]){return zt.from(e).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(e,r=[0,0,0]){return zt.from(e).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(e,r=0,n=[0,0,0]){ct(At(this.radii.x,this.radii.y,Ht.EPSILON15)),ct(this.radii.z>0),zt.from(e);let s=zt.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(s)>=this.radii.z-r))return zt.set(0,0,s).to(n)}};P(L,"WGS84",new L(6378137,6378137,he));var ii=class{constructor(e,r,n){this.item=void 0,this.previous=void 0,this.next=void 0,this.item=e,this.previous=r,this.next=n}};var oi=class{constructor(){this.head=null,this.tail=null,this._length=0}get length(){return this._length}add(e){let r=new ii(e,this.tail,null);return this.tail?(this.tail.next=r,this.tail=r):(this.head=r,this.tail=r),++this._length,r}remove(e){e&&(e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,--this._length)}splice(e,r){e!==r&&(this.remove(r),this._insert(e,r))}_insert(e,r){let n=e.next;e.next=r,this.tail===e?this.tail=r:n.previous=r,r.next=n,r.previous=e,++this._length}};var ai=class{constructor(){this._list=void 0,this._sentinel=void 0,this._trimTiles=void 0,this._list=new oi,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}reset(){this._list.splice(this._list.tail,this._sentinel)}touch(e){let r=e._cacheNode;r&&this._list.splice(this._sentinel,r)}add(e,r,n){r._cacheNode||(r._cacheNode=this._list.add(r),n&&n(e,r))}unloadTile(e,r,n){let s=r._cacheNode;s&&(this._list.remove(s),r._cacheNode=null,n&&n(e,r))}unloadTiles(e,r){let n=this._trimTiles;this._trimTiles=!1;let s=this._list,i=e.maximumMemoryUsage*1024*1024,o=this._sentinel,a=s.head;for(;a!==o&&(e.gpuMemoryUsageInBytes>i||n);){let c=a.item;a=a.next,this.unloadTile(e,c,r)}}trim(){this._trimTiles=!0}};function id(t,e){V(t),V(e);let{rtcCenter:r,gltfUpAxis:n}=e,{computedTransform:s,boundingVolume:{center:i}}=t,o=new D(s);switch(r&&o.translate(r),n){case"Z":break;case"Y":let f=new D().rotateX(Math.PI/2);o=o.multiplyRight(f);break;case"X":let u=new D().rotateY(-Math.PI/2);o=o.multiplyRight(u);break;default:break}e.isQuantized&&o.translate(e.quantizedVolumeOffset).scale(e.quantizedVolumeScale);let a=new m(i);e.cartesianModelMatrix=o,e.cartesianOrigin=a;let c=L.WGS84.cartesianToCartographic(a,new m),h=L.WGS84.eastNorthUpToFixedFrame(a).invert();e.cartographicModelMatrix=h.multiplyRight(o),e.cartographicOrigin=c,e.coordinateSystem||(e.modelMatrix=e.cartographicModelMatrix)}var od=new m,qa=new m,ja=new ot([new lt,new lt,new lt,new lt,new lt,new lt]);function cd(t,e){let{cameraDirection:r,cameraUp:n,height:s}=t,{metersPerUnit:i}=t.distanceScales,o=ci(t,t.center),a=L.WGS84.eastNorthUpToFixedFrame(o),c=t.unprojectPosition(t.cameraPosition),l=L.WGS84.cartographicToCartesian(c,new m),h=new m(a.transformAsVector(new m(r).scale(i))).normalize(),f=new m(a.transformAsVector(new m(n).scale(i))).normalize();CE(t);let u=t.constructor,{longitude:d,latitude:p,width:_,bearing:A,zoom:T}=t,x=new u({longitude:d,latitude:p,height:s,width:_,bearing:A,zoom:T,pitch:0});return{camera:{position:l,direction:h,up:f},viewport:t,topDownViewport:x,height:s,cullingVolume:ja,frameNumber:e,sseDenominator:1.15}}function ld(t,e,r){if(r===0||t.length<=r)return[t,[]];let n=[],{longitude:s,latitude:i}=e.viewport;for(let[l,h]of t.entries()){let[f,u]=h.header.mbs,d=Math.abs(s-f),p=Math.abs(i-u),_=Math.sqrt(p*p+d*d);n.push([l,_])}let o=n.sort((l,h)=>l[1]-h[1]),a=[];for(let l=0;l<r;l++)a.push(t[o[l][0]]);let c=[];for(let l=r;l<o.length;l++)c.push(t[o[l][0]]);return[a,c]}function CE(t){let e=t.getFrustumPlanes(),r=ad(e.near,t.cameraPosition),n=ci(t,r),s=ci(t,t.cameraPosition,qa),i=0;ja.planes[i++].fromPointNormal(n,od.copy(n).subtract(s));for(let o in e){if(o==="near")continue;let a=e[o],c=ad(a,r,qa),l=ci(t,c,qa);ja.planes[i++].fromPointNormal(l,od.copy(n).subtract(l))}}function ad(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new m,n=t.normal.dot(e);return r.copy(t.normal).scale(t.distance-n).add(e),r}function ci(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new m,n=t.unprojectPosition(e);return L.WGS84.cartographicToCartesian(n,r)}var BE=6378137,ME=6378137,Za=6356752314245179e-9,Mr=new m;function hd(t,e){if(t instanceof Xt){let{halfAxes:r}=t,n=yE(r);return Math.log2(Za/(n+e[2]))}else if(t instanceof Ot){let{radius:r}=t;return Math.log2(Za/(r+e[2]))}else if(t.width&&t.height){let{width:r,height:n}=t,s=Math.log2(BE/r),i=Math.log2(ME/n);return(s+i)/2}return 1}function Qa(t,e,r){L.WGS84.cartographicToCartesian([t.xmax,t.ymax,t.zmax],Mr);let n=Math.sqrt(Math.pow(Mr[0]-r[0],2)+Math.pow(Mr[1]-r[1],2)+Math.pow(Mr[2]-r[2],2));return Math.log2(Za/(n+e[2]))}function fd(t,e,r){let[n,s,i,o]=t;return Qa({xmin:n,xmax:i,ymin:s,ymax:o,zmin:0,zmax:0},e,r)}function yE(t){t.getColumn(0,Mr);let e=t.getColumn(1),r=t.getColumn(2);return Mr.add(e).add(r).len()}var Id=v(Cr(),1);var _t={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},Et=function(t){return t[t.ADD=1]="ADD",t[t.REPLACE=2]="REPLACE",t}({}),re=function(t){return t.EMPTY="empty",t.SCENEGRAPH="scenegraph",t.POINTCLOUD="pointcloud",t.MESH="mesh",t}({}),ft=function(t){return t.I3S="I3S",t.TILES3D="TILES3D",t}({}),qe=function(t){return t.GEOMETRIC_ERROR="geometricError",t.MAX_SCREEN_THRESHOLD="maxScreenThreshold",t}({}),ud={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0};function Ad(t){return t!=null}var ut=new m,li=new m,IE=new m,FE=new m,je=new m,dd=new m,pd=new m,gd=new m;function hi(t,e,r){if(V(t,"3D Tile: boundingVolume must be defined"),t.box)return md(t.box,e,r);if(t.region)return OE(t.region);if(t.sphere)return NE(t.sphere,e,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function _d(t,e){if(t.box)return bE(e);if(t.region){let[r,n,s,i,o,a]=t.region;return[[yt(r),yt(n),o],[yt(s),yt(i),a]]}if(t.sphere)return PE(e);throw new Error("Unkown boundingVolume type")}function md(t,e,r){let n=new m(t[0],t[1],t[2]);e.transform(n,n);let s=[];if(t.length===10){let l=t.slice(3,6),h=new Zt;h.fromArray(t,6);let f=new m([1,0,0]),u=new m([0,1,0]),d=new m([0,0,1]);f.transformByQuaternion(h),f.scale(l[0]),u.transformByQuaternion(h),u.scale(l[1]),d.transformByQuaternion(h),d.scale(l[2]),s=[...f.toArray(),...u.toArray(),...d.toArray()]}else s=[...t.slice(3,6),...t.slice(6,9),...t.slice(9,12)];let i=e.transformAsVector(s.slice(0,3)),o=e.transformAsVector(s.slice(3,6)),a=e.transformAsVector(s.slice(6,9)),c=new z([i[0],i[1],i[2],o[0],o[1],o[2],a[0],a[1],a[2]]);return Ad(r)?(r.center=n,r.halfAxes=c,r):new Xt(n,c)}function NE(t,e,r){let n=new m(t[0],t[1],t[2]);e.transform(n,n);let s=e.getScale(li),i=Math.max(Math.max(s[0],s[1]),s[2]),o=t[3]*i;return Ad(r)?(r.center=n,r.radius=o,r):new Ot(n,o)}function OE(t){let[e,r,n,s,i,o]=t,a=L.WGS84.cartographicToCartesian([yt(e),yt(s),i],IE),c=L.WGS84.cartographicToCartesian([yt(n),yt(r),o],FE),l=new m().addVectors(a,c).multiplyByScalar(.5);return L.WGS84.cartesianToCartographic(l,je),L.WGS84.cartographicToCartesian([yt(n),je[1],je[2]],dd),L.WGS84.cartographicToCartesian([je[0],yt(s),je[2]],pd),L.WGS84.cartographicToCartesian([je[0],je[1],o],gd),md([...l,...dd.subtract(l),...pd.subtract(l),...gd.subtract(l)],new D)}function bE(t){let e=Td(),{halfAxes:r}=t,n=new m(r.getColumn(0)),s=new m(r.getColumn(1)),i=new m(r.getColumn(2));for(let o=0;o<2;o++){for(let a=0;a<2;a++){for(let c=0;c<2;c++)ut.copy(t.center),ut.add(n),ut.add(s),ut.add(i),Ed(e,ut),i.negate();s.negate()}n.negate()}return e}function PE(t){let e=Td(),{center:r,radius:n}=t,s=L.WGS84.scaleToGeodeticSurface(r,ut),i;s?i=L.WGS84.geodeticSurfaceNormal(s):i=new m(0,0,1);let o=new m(i[2],-i[1],0);o.len()>0?o.normalize():o=new m(0,1,0);let a=o.clone().cross(i);for(let c of[o,a,i]){li.copy(c).scale(n);for(let l=0;l<2;l++)ut.copy(r),ut.add(li),Ed(e,ut),li.negate()}return e}function Td(){return[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]]}function Ed(t,e){L.WGS84.cartesianToCartographic(e,ut),t[0][0]=Math.min(t[0][0],ut[0]),t[0][1]=Math.min(t[0][1],ut[1]),t[0][2]=Math.min(t[0][2],ut[2]),t[1][0]=Math.max(t[1][0],ut[0]),t[1][1]=Math.max(t[1][1],ut[1]),t[1][2]=Math.max(t[1][2],ut[2])}var VP=new m,XP=new m,WP=new D,zP=new m,kP=new m,GP=new m;function DE(t,e){let r=t*e;return 1-Math.exp(-(r*r))}function wE(t,e){if(t.dynamicScreenSpaceError&&t.dynamicScreenSpaceErrorComputedDensity){let r=t.dynamicScreenSpaceErrorComputedDensity,n=t.dynamicScreenSpaceErrorFactor;return DE(e,r)*n}return 0}function Rd(t,e,r){let n=t.tileset,s=t.parent&&t.parent.lodMetricValue||t.lodMetricValue,i=r?s:t.lodMetricValue;if(i===0)return 0;let o=Math.max(t._distanceToCamera,1e-7),{height:a,sseDenominator:c}=e,{viewDistanceScale:l}=n.options,h=i*a*(l||1)/(o*c);return h-=wE(n,o),h}var $a=new m,xd=new m,Fe=new m,Sd=new m,vE=new m,tc=new D,Cd=new D;function Bd(t,e){if(t.lodMetricValue===0||isNaN(t.lodMetricValue))return"DIG";let r=2*ec(t,e);return r<2?"OUT":!t.header.children||r<=t.lodMetricValue?"DRAW":t.header.children?"DIG":"OUT"}function ec(t,e){let{topDownViewport:r}=e,n=t.header.mbs[1],s=t.header.mbs[0],i=t.header.mbs[2],o=t.header.mbs[3],a=[...t.boundingVolume.center],c=r.unprojectPosition(r.cameraPosition);L.WGS84.cartographicToCartesian(c,$a),xd.copy($a).subtract(a).normalize(),L.WGS84.eastNorthUpToFixedFrame(a,tc),Cd.copy(tc).invert(),Fe.copy($a).transform(Cd);let l=Math.sqrt(Fe[0]*Fe[0]+Fe[1]*Fe[1]),h=l*l/Fe[2];Sd.copy([Fe[0],Fe[1],h]);let u=Sd.transform(tc).subtract(a).normalize(),p=xd.cross(u).normalize().scale(o).add(a),_=L.WGS84.cartesianToCartographic(p),A=r.project([s,n,i]),T=r.project(_);return vE.copy(A).subtract(T).magnitude()}function Md(t){return{assetGltfUpAxis:t.asset&&t.asset.gltfUpAxis||"Y"}}var Mn=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this._map=new Map,this._array=void 0,this._length=void 0,this._array=new Array(e),this._length=e}get length(){return this._length}set length(e){this._length=e,e>this._array.length&&(this._array.length=e)}get values(){return this._array}get(e){return V(e<this._array.length),this._array[e]}set(e,r){V(e>=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=r,this._map.set(r,e)}delete(e){let r=this._map.get(e);r>=0&&(this._array.splice(r,1),this._map.delete(e),this.length--)}peek(){return this._array[this._length-1]}push(e){if(!this._map.has(e)){let r=this.length++;this._array[r]=e,this._map.set(e,r)}}pop(){let e=this._array[--this.length];return this._map.delete(e),e}reserve(e){V(e>=0),e>this._array.length&&(this._array.length=e)}resize(e){V(e>=0),this.length=e}trim(e){e==null&&(e=this.length),this._array.length=e}reset(){this._array=[],this._map=new Map,this._length=0}find(e){return this._map.has(e)}};var UE={loadSiblings:!1,skipLevelOfDetail:!1,updateTransforms:!0,onTraversalEnd:()=>{},viewportTraversersMap:{},basePath:""},ne=class{traversalFinished(e){return!0}constructor(e){this.options=void 0,this.root=null,this.selectedTiles={},this.requestedTiles={},this.emptyTiles={},this.lastUpdate=new Date().getTime(),this.updateDebounceTime=1e3,this._traversalStack=new Mn,this._emptyTraversalStack=new Mn,this._frameNumber=null,this.options={...UE,...e}}traverse(e,r,n){this.root=e,this.options={...this.options,...n},this.reset(),this.updateTile(e,r),this._frameNumber=r.frameNumber,this.executeTraversal(e,r)}reset(){this.requestedTiles={},this.selectedTiles={},this.emptyTiles={},this._traversalStack.reset(),this._emptyTraversalStack.reset()}executeTraversal(e,r){let n=this._traversalStack;for(e._selectionDepth=1,n.push(e);n.length>0;){let i=n.pop(),o=!1;this.canTraverse(i,r)&&(this.updateChildTiles(i,r),o=this.updateAndPushChildren(i,r,n,i.hasRenderContent?i._selectionDepth+1:i._selectionDepth));let a=i.parent,c=Boolean(!a||a._shouldRefine),l=!o;i.hasRenderContent?i.refine===Et.ADD?(this.loadTile(i,r),this.selectTile(i,r)):i.refine===Et.REPLACE&&(this.loadTile(i,r),l&&this.selectTile(i,r)):(this.emptyTiles[i.id]=i,this.loadTile(i,r),l&&this.selectTile(i,r)),this.touchTile(i,r),i._shouldRefine=o&&c}let s=new Date().getTime();(this.traversalFinished(r)||s-this.lastUpdate>this.updateDebounceTime)&&(this.lastUpdate=s,this.options.onTraversalEnd(r))}updateChildTiles(e,r){let n=e.children;for(let s of n)this.updateTile(s,r)}updateAndPushChildren(e,r,n,s){let{loadSiblings:i,skipLevelOfDetail:o}=this.options,a=e.children;a.sort(this.compareDistanceToCamera.bind(this));let c=e.refine===Et.REPLACE&&e.hasRenderContent&&!o,l=!1,h=!0;for(let f of a)if(f._selectionDepth=s,f.isVisibleAndInRequestVolume?(n.find(f)&&n.delete(f),n.push(f),l=!0):(c||i)&&(this.loadTile(f,r),this.touchTile(f,r)),c){let u;if(f._inRequestVolume?f.hasRenderContent?u=f.contentAvailable:u=this.executeEmptyTraversal(f,r):u=!1,h=h&&u,!h)return!1}return l||(h=!1),h}updateTile(e,r){this.updateTileVisibility(e,r)}selectTile(e,r){this.shouldSelectTile(e)&&(e._selectedFrame=r.frameNumber,this.selectedTiles[e.id]=e)}loadTile(e,r){this.shouldLoadTile(e)&&(e._requestedFrame=r.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}touchTile(e,r){e.tileset._cache.touch(e),e._touchedFrame=r.frameNumber}canTraverse(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return e.hasChildren?e.hasTilesetContent?!e.contentExpired:!s&&!e.isVisibleAndInRequestVolume?!1:this.shouldRefine(e,r,n):!1}shouldLoadTile(e){return e.hasUnloadedContent||e.contentExpired}shouldSelectTile(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}shouldRefine(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=e._screenSpaceError;return n&&(s=e.getScreenSpaceError(r,!0)),s>e.tileset.memoryAdjustedScreenSpaceError}updateTileVisibility(e,r){let n=[];if(this.options.viewportTraversersMap)for(let s in this.options.viewportTraversersMap)this.options.viewportTraversersMap[s]===r.viewport.id&&n.push(s);else n.push(r.viewport.id);e.updateVisibility(r,n)}compareDistanceToCamera(e,r){return e._distanceToCamera-r._distanceToCamera}anyChildrenVisible(e,r){let n=!1;for(let s of e.children)s.updateVisibility(r),n=n||s.isVisibleAndInRequestVolume;return n}executeEmptyTraversal(e,r){let n=!0,s=this._emptyTraversalStack;for(s.push(e);s.length>0;){let i=s.pop(),o=!i.hasRenderContent&&this.canTraverse(i,r,!1,!1),a=!i.hasRenderContent&&i.children.length===0;if(!o&&!i.contentAvailable&&!a&&(n=!1),this.updateTile(i,r),i.isVisibleAndInRequestVolume||(this.loadTile(i,r),this.touchTile(i,r)),o){let c=i.children;for(let l of c)s.push(l)}}return n}};var yd=new m;function LE(t){return t!=null}var Ze=class{constructor(e,r,n){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";this.tileset=void 0,this.header=void 0,this.id=void 0,this.url=void 0,this.parent=void 0,this.refine=void 0,this.type=void 0,this.contentUrl=void 0,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=_t.UNLOADED,this.gpuMemoryUsageInBytes=0,this.children=[],this.depth=0,this.viewportIds=[],this.transform=new D,this.extensions=null,this.implicitTiling=null,this.userData={},this.computedTransform=void 0,this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.traverser=new ne({}),this._cacheNode=null,this._frameNumber=null,this._expireDate=null,this._expiredContent=null,this._boundingBox=void 0,this._distanceToCamera=0,this._screenSpaceError=0,this._visibilityPlaneMask=void 0,this._visible=void 0,this._contentBoundingVolume=void 0,this._viewerRequestVolume=void 0,this._initialTransform=new D,this._priority=0,this._selectedFrame=0,this._requestedFrame=0,this._selectionDepth=0,this._touchedFrame=0,this._centerZDepth=0,this._shouldRefine=!1,this._stackLength=0,this._visitedFrame=0,this._inRequestVolume=!1,this._lodJudge=null,this.header=r,this.tileset=e,this.id=s||r.id,this.url=r.url,this.parent=n,this.refine=this._getRefine(r.refine),this.type=r.type,this.contentUrl=r.contentUrl,this._initializeLodMetric(r),this._initializeTransforms(r),this._initializeBoundingVolumes(r),this._initializeContent(r),this._initializeRenderingState(r),Object.seal(this)}destroy(){this.header=null}isDestroyed(){return this.header===null}get selected(){return this._selectedFrame===this.tileset._frameNumber}get isVisible(){return this._visible}get isVisibleAndInRequestVolume(){return this._visible&&this._inRequestVolume}get hasRenderContent(){return!this.hasEmptyContent&&!this.hasTilesetContent}get hasChildren(){return this.children.length>0||this.header.children&&this.header.children.length>0}get contentReady(){return this.contentState===_t.READY||this.hasEmptyContent}get contentAvailable(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}get hasUnloadedContent(){return this.hasRenderContent&&this.contentUnloaded}get contentUnloaded(){return this.contentState===_t.UNLOADED}get contentExpired(){return this.contentState===_t.EXPIRED}get contentFailed(){return this.contentState===_t.FAILED}get distanceToCamera(){return this._distanceToCamera}get screenSpaceError(){return this._screenSpaceError}get boundingBox(){return this._boundingBox||(this._boundingBox=_d(this.header.boundingVolume,this.boundingVolume)),this._boundingBox}getScreenSpaceError(e,r){switch(this.tileset.type){case ft.I3S:return ec(this,e);case ft.TILES3D:return Rd(this,e,r);default:throw new Error("Unsupported tileset type")}}unselect(){this._selectedFrame=0}_getGpuMemoryUsageInBytes(){return this.content.gpuMemoryUsageInBytes||this.content.byteLength||0}_getPriority(){let e=this.tileset._traverser,{skipLevelOfDetail:r}=e.options,n=this.refine===Et.ADD||r;if(n&&!this.isVisible&&this._visible!==void 0||this.tileset._frameNumber-this._touchedFrame>=1||this.contentState===_t.UNLOADED)return-1;let s=this.parent,o=s&&(!n||this._screenSpaceError===0||s.hasTilesetContent)?s._screenSpaceError:this._screenSpaceError,a=e.root?e.root._screenSpaceError:0;return Math.max(a-o,0)}async loadContent(){if(this.hasEmptyContent)return!1;if(this.content)return!0;this.contentExpired&&(this._expireDate=null),this.contentState=_t.LOADING;let r=await this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));if(!r)return this.contentState=_t.UNLOADED,!1;try{let n=this.tileset.getTileUrl(this.contentUrl),s=this.tileset.loader,i={...this.tileset.loadOptions,[s.id]:{...this.tileset.loadOptions[s.id],isTileset:this.type==="json",...this._getLoaderSpecificOptions(s.id)}};return this.content=await(0,Id.load)(n,s,i),this.tileset.options.contentLoader&&await this.tileset.options.contentLoader(this),this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=_t.READY,this._onContentLoaded(),!0}catch(n){throw this.contentState=_t.FAILED,n}finally{r.done()}}unloadContent(){return this.content&&this.content.destroy&&this.content.destroy(),this.content=null,this.header.content&&this.header.content.destroy&&this.header.content.destroy(),this.header.content=null,this.contentState=_t.UNLOADED,!0}updateVisibility(e,r){if(this._frameNumber===e.frameNumber)return;let n=this.parent,s=n?n._visibilityPlaneMask:ot.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){let i=n?n.computedTransform:this.tileset.modelMatrix;this._updateTransform(i)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,s),this._visible=this._visibilityPlaneMask!==ot.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=r}visibility(e,r){let{cullingVolume:n}=e,{boundingVolume:s}=this;return n.computeVisibilityWithPlaneMask(s,r)}contentVisibility(){return!0}distanceToTile(e){let r=this.boundingVolume;return Math.sqrt(Math.max(r.distanceSquaredTo(e.camera.position),0))}cameraSpaceZDepth(e){let{camera:r}=e,n=this.boundingVolume;return yd.subVectors(n.center,r.position),r.direction.dot(yd)}insideViewerRequestVolume(e){let r=this._viewerRequestVolume;return!r||r.distanceSquaredTo(e.camera.position)<=0}updateExpiration(){if(LE(this._expireDate)&&this.contentReady&&!this.hasEmptyContent){let e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=_t.EXPIRED,this._expiredContent=this.content)}}get extras(){return this.header.extras}_initializeLodMetric(e){"lodMetricType"in e?this.lodMetricType=e.lodMetricType:(this.lodMetricType=this.parent&&this.parent.lodMetricType||this.tileset.lodMetricType,console.warn("3D Tile: Required prop lodMetricType is undefined. Using parent lodMetricType")),"lodMetricValue"in e?this.lodMetricValue=e.lodMetricValue:(this.lodMetricValue=this.parent&&this.parent.lodMetricValue||this.tileset.lodMetricValue,console.warn("3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue"))}_initializeTransforms(e){this.transform=e.transform?new D(e.transform):new D;let r=this.parent,n=this.tileset,s=r&&r.computedTransform?r.computedTransform.clone():n.modelMatrix.clone();this.computedTransform=new D(s).multiplyRight(this.transform);let i=r&&r._initialTransform?r._initialTransform.clone():new D;this._initialTransform=new D(i).multiplyRight(this.transform)}_initializeBoundingVolumes(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}_initializeContent(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=_t.UNLOADED,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}_initializeRenderingState(e){this.depth=e.level||(this.parent?this.parent.depth+1:0),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._visibilityPlaneMask=ot.MASK_INDETERMINATE,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._frameNumber=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._priority=0}_getRefine(e){return e||this.parent&&this.parent.refine||Et.REPLACE}_isTileset(){return this.contentUrl.indexOf(".json")!==-1}_onContentLoaded(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0;break;default:}this._isTileset()?this.hasTilesetContent=!0:this.gpuMemoryUsageInBytes=this._getGpuMemoryUsageInBytes()}_updateBoundingVolume(e){this.boundingVolume=hi(e.boundingVolume,this.computedTransform,this.boundingVolume);let r=e.content;r&&(r.boundingVolume&&(this._contentBoundingVolume=hi(r.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=hi(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}_updateTransform(){let r=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:new D).clone().multiplyRight(this.transform);r.equals(this.computedTransform)||(this.computedTransform=r,this._updateBoundingVolume(this.header))}_getLoaderSpecificOptions(e){switch(e){case"i3s":return{...this.tileset.options.i3s,_tileOptions:{attributeUrls:this.header.attributeUrls,textureUrl:this.header.textureUrl,textureFormat:this.header.textureFormat,textureLoaderOptions:this.header.textureLoaderOptions,materialDefinition:this.header.materialDefinition,isDracoGeometry:this.header.isDracoGeometry,mbs:this.header.mbs},_tilesetOptions:{store:this.tileset.tileset.store,attributeStorageInfo:this.tileset.tileset.attributeStorageInfo,fields:this.tileset.tileset.fields},isTileHeader:!1};case"3d-tiles":case"cesium-ion":default:return Md(this.tileset.tileset)}}};var fi=class extends ne{compareDistanceToCamera(e,r){return r._distanceToCamera===0&&e._distanceToCamera===0?r._centerZDepth-e._centerZDepth:r._distanceToCamera-e._distanceToCamera}updateTileVisibility(e,r){if(super.updateTileVisibility(e,r),!e.isVisibleAndInRequestVolume)return;let n=e.children.length>0;if(e.hasTilesetContent&&n){let o=e.children[0];this.updateTileVisibility(o,r),e._visible=o._visible;return}if(this.meetsScreenSpaceErrorEarly(e,r)){e._visible=!1;return}let s=e.refine===Et.REPLACE,i=e._optimChildrenWithinParent===ud.USE_OPTIMIZATION;if(s&&i&&n&&!this.anyChildrenVisible(e,r)){e._visible=!1;return}}meetsScreenSpaceErrorEarly(e,r){let{parent:n}=e;return!n||n.hasTilesetContent||n.refine!==Et.ADD?!1:!this.shouldRefine(e,r,!0)}};var Fd=v(Cr(),1);var ui=class{constructor(){this.frameNumberMap=new Map}register(e,r){let n=this.frameNumberMap.get(e)||new Map,s=n.get(r)||0;n.set(r,s+1),this.frameNumberMap.set(e,n)}deregister(e,r){let n=this.frameNumberMap.get(e);if(!n)return;let s=n.get(r)||1;n.set(r,s-1)}isZero(e,r){var n;return(((n=this.frameNumberMap.get(e))===null||n===void 0?void 0:n.get(r))||0)===0}};var rc={REQUESTED:"REQUESTED",COMPLETED:"COMPLETED",ERROR:"ERROR"},di=class{constructor(){this._statusMap=void 0,this.pendingTilesRegister=new ui,this._statusMap={}}add(e,r,n,s){if(!this._statusMap[r]){let{frameNumber:i,viewport:{id:o}}=s;this._statusMap[r]={request:e,callback:n,key:r,frameState:s,status:rc.REQUESTED},this.pendingTilesRegister.register(o,i),e().then(a=>{this._statusMap[r].status=rc.COMPLETED;let{frameNumber:c,viewport:{id:l}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(l,c),this._statusMap[r].callback(a,s)}).catch(a=>{this._statusMap[r].status=rc.ERROR;let{frameNumber:c,viewport:{id:l}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(l,c),n(a)})}}update(e,r){if(this._statusMap[e]){let{frameNumber:n,viewport:{id:s}}=this._statusMap[e].frameState;this.pendingTilesRegister.deregister(s,n);let{frameNumber:i,viewport:{id:o}}=r;this.pendingTilesRegister.register(o,i),this._statusMap[e].frameState=r}}find(e){return this._statusMap[e]}hasPendingTiles(e,r){return!this.pendingTilesRegister.isZero(e,r)}};var pi=class extends ne{constructor(e){super(e),this._tileManager=void 0,this._tileManager=new di}traversalFinished(e){return!this._tileManager.hasPendingTiles(e.viewport.id,this._frameNumber||0)}shouldRefine(e,r){return e._lodJudge=Bd(e,r),e._lodJudge==="DIG"}updateChildTiles(e,r){let n=e.header.children||[],s=e.children,i=e.tileset;for(let o of n){let a=`${o.id}-${r.viewport.id}`,c=s&&s.find(l=>l.id===a);if(c)c&&this.updateTile(c,r);else{let l=()=>this._loadTile(o.id,i);this._tileManager.find(a)?this._tileManager.update(a,r):(i.tileset.nodePages&&(l=()=>i.tileset.nodePagesTile.formTileFromNodePages(o.id)),this._tileManager.add(l,a,f=>this._onTileLoad(f,e,a),r))}}return!1}async _loadTile(e,r){let{loader:n}=r,s=r.getTileUrl(`${r.url}/nodes/${e}`),i={...r.loadOptions,i3s:{...r.loadOptions.i3s,isTileHeader:!0}};return await(0,Fd.load)(s,n,i)}_onTileLoad(e,r,n){let s=new Ze(r.tileset,e,r,n);r.children.push(s);let i=this._tileManager.find(s.id).frameState;this.updateTile(s,i),this._frameNumber===i.frameNumber&&(this.traversalFinished(i)||new Date().getTime()-this.lastUpdate>this.updateDebounceTime)&&this.executeTraversal(s,i)}};var HE={description:"",ellipsoid:L.WGS84,modelMatrix:new D,throttleRequests:!0,maxRequests:64,maximumMemoryUsage:32,memoryCacheOverflow:1,maximumTilesSelected:0,debounceTime:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{},onTraversalComplete:t=>t,contentLoader:void 0,viewDistanceScale:1,maximumScreenSpaceError:8,memoryAdjustedScreenSpaceError:!1,loadTiles:!0,updateTransforms:!0,viewportTraversersMap:null,loadOptions:{fetch:{}},attributions:[],basePath:"",i3s:{}},gi="Tiles In Tileset(s)",nc="Tiles In Memory",Nd="Tiles In View",Od="Tiles To Render",bd="Tiles Loaded",sc="Tiles Loading",Pd="Tiles Unloaded",Dd="Failed Tile Loads",wd="Points/Vertices",ic="Tile Memory Use",vd="Maximum Screen Space Error",yn=class{constructor(e,r){this.options=void 0,this.loadOptions=void 0,this.type=void 0,this.tileset=void 0,this.loader=void 0,this.url=void 0,this.basePath=void 0,this.modelMatrix=void 0,this.ellipsoid=void 0,this.lodMetricType=void 0,this.lodMetricValue=void 0,this.refine=void 0,this.root=null,this.roots={},this.asset={},this.description="",this.properties=void 0,this.extras=null,this.attributions={},this.credits={},this.stats=void 0,this.contentFormats={draco:!1,meshopt:!1,dds:!1,ktx2:!1},this.cartographicCenter=null,this.cartesianCenter=null,this.zoom=1,this.boundingVolume=null,this.dynamicScreenSpaceErrorComputedDensity=0,this.maximumMemoryUsage=32,this.gpuMemoryUsageInBytes=0,this.memoryAdjustedScreenSpaceError=0,this._cacheBytes=0,this._cacheOverflowBytes=0,this._frameNumber=0,this._queryParams={},this._extensionsUsed=[],this._tiles={},this._pendingCount=0,this.selectedTiles=[],this.traverseCounter=0,this.geometricError=0,this.lastUpdatedVieports=null,this._requestedTiles=[],this._emptyTiles=[],this.frameStateData={},this._traverser=void 0,this._cache=new ai,this._requestScheduler=void 0,this.updatePromise=null,this.tilesetInitializationPromise=void 0,this.options={...HE,...r},this.tileset=e,this.loader=e.loader,this.type=e.type,this.url=e.url,this.basePath=e.basePath||Te.dirname(this.url),this.modelMatrix=this.options.modelMatrix,this.ellipsoid=this.options.ellipsoid,this.lodMetricType=e.lodMetricType,this.lodMetricValue=e.lodMetricValue,this.refine=e.root.refine,this.loadOptions=this.options.loadOptions||{},this._traverser=this._initializeTraverser(),this._requestScheduler=new me({throttleRequests:this.options.throttleRequests,maxRequests:this.options.maxRequests}),this.memoryAdjustedScreenSpaceError=this.options.maximumScreenSpaceError,this._cacheBytes=this.options.maximumMemoryUsage*1024*1024,this._cacheOverflowBytes=this.options.memoryCacheOverflow*1024*1024,this.stats=new _e({id:this.url}),this._initializeStats(),this.tilesetInitializationPromise=this._initializeTileSet(e)}destroy(){this._destroy()}isLoaded(){return this._pendingCount===0&&this._frameNumber!==0&&this._requestedTiles.length===0}get tiles(){return Object.values(this._tiles)}get frameNumber(){return this._frameNumber}get queryParams(){return new URLSearchParams(this._queryParams).toString()}setProps(e){this.options={...this.options,...e}}getTileUrl(e){if(e.startsWith("data:"))return e;let n=e;return this.queryParams.length&&(n=`${e}${e.includes("?")?"&":"?"}${this.queryParams}`),n}hasExtension(e){return Boolean(this._extensionsUsed.indexOf(e)>-1)}update(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.tilesetInitializationPromise.then(()=>{!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e&&this.doUpdate(e)})}async selectTiles(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return await this.tilesetInitializationPromise,e&&(this.lastUpdatedVieports=e),this.updatePromise||(this.updatePromise=new Promise(r=>{setTimeout(()=>{this.lastUpdatedVieports&&this.doUpdate(this.lastUpdatedVieports),r(this._frameNumber),this.updatePromise=null},this.options.debounceTime)})),this.updatePromise}adjustScreenSpaceError(){this.gpuMemoryUsageInBytes<this._cacheBytes?this.memoryAdjustedScreenSpaceError=Math.max(this.memoryAdjustedScreenSpaceError/1.02,this.options.maximumScreenSpaceError):this.gpuMemoryUsageInBytes>this._cacheBytes+this._cacheOverflowBytes&&(this.memoryAdjustedScreenSpaceError*=1.02)}doUpdate(e){if("loadTiles"in this.options&&!this.options.loadTiles||this.traverseCounter>0)return;let r=e instanceof Array?e:[e];this._cache.reset(),this._frameNumber++,this.traverseCounter=r.length;let n=[];for(let s of r){let i=s.id;this._needTraverse(i)?n.push(i):this.traverseCounter--}for(let s of r){let i=s.id;if(this.roots[i]||(this.roots[i]=this._initializeTileHeaders(this.tileset,null)),!n.includes(i))continue;let o=cd(s,this._frameNumber);this._traverser.traverse(this.roots[i],o,this.options)}}_needTraverse(e){let r=e;return this.options.viewportTraversersMap&&(r=this.options.viewportTraversersMap[e]),r===e}_onTraversalEnd(e){let r=e.viewport.id;this.frameStateData[r]||(this.frameStateData[r]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});let n=this.frameStateData[r],s=Object.values(this._traverser.selectedTiles),[i,o]=ld(s,e,this.options.maximumTilesSelected);n.selectedTiles=i;for(let a of o)a.unselect();n._requestedTiles=Object.values(this._traverser.requestedTiles),n._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,!(this.traverseCounter>0)&&this._updateTiles()}_updateTiles(){this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[];for(let e in this.frameStateData){let r=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(r.selectedTiles),this._requestedTiles=this._requestedTiles.concat(r._requestedTiles),this._emptyTiles=this._emptyTiles.concat(r._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);for(let e of this.selectedTiles)this._tiles[e.id]=e;this._loadTiles(),this._unloadTiles(),this._updateStats()}_tilesChanged(e,r){if(e.length!==r.length)return!0;let n=new Set(e.map(o=>o.id)),s=new Set(r.map(o=>o.id)),i=e.filter(o=>!s.has(o.id)).length>0;return i=i||r.filter(o=>!n.has(o.id)).length>0,i}_loadTiles(){for(let e of this._requestedTiles)e.contentUnloaded&&this._loadTile(e)}_unloadTiles(){this._cache.unloadTiles(this,(e,r)=>e._unloadTile(r))}_updateStats(){let e=0,r=0;for(let n of this.selectedTiles)n.contentAvailable&&n.content&&(e++,n.content.pointCount?r+=n.content.pointCount:r+=n.content.vertexCount);this.stats.get(Nd).count=this.selectedTiles.length,this.stats.get(Od).count=e,this.stats.get(wd).count=r,this.stats.get(vd).count=this.memoryAdjustedScreenSpaceError}async _initializeTileSet(e){this.type===ft.I3S&&(this.calculateViewPropsI3S(),e.root=await e.root),this.root=this._initializeTileHeaders(e,null),this.type===ft.TILES3D&&(this._initializeTiles3DTileset(e),this.calculateViewPropsTiles3D()),this.type===ft.I3S&&this._initializeI3STileset()}calculateViewPropsI3S(){var e;let r=this.tileset.fullExtent;if(r){let{xmin:s,xmax:i,ymin:o,ymax:a,zmin:c,zmax:l}=r;this.cartographicCenter=new m(s+(i-s)/2,o+(a-o)/2,c+(l-c)/2),this.cartesianCenter=new m,L.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=Qa(r,this.cartographicCenter,this.cartesianCenter);return}let n=(e=this.tileset.store)===null||e===void 0?void 0:e.extent;if(n){let[s,i,o,a]=n;this.cartographicCenter=new m(s+(o-s)/2,i+(a-i)/2,0),this.cartesianCenter=new m,L.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=fd(n,this.cartographicCenter,this.cartesianCenter);return}console.warn("Extent is not defined in the tileset header"),this.cartographicCenter=new m,this.zoom=1}calculateViewPropsTiles3D(){let e=this.root,{center:r}=e.boundingVolume;if(!r){console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new m,this.zoom=1;return}r[0]!==0||r[1]!==0||r[2]!==0?(this.cartographicCenter=new m,L.WGS84.cartesianToCartographic(r,this.cartographicCenter)):this.cartographicCenter=new m(0,0,-L.WGS84.radii[0]),this.cartesianCenter=r,this.zoom=hd(e.boundingVolume,this.cartographicCenter)}_initializeStats(){this.stats.get(gi),this.stats.get(sc),this.stats.get(nc),this.stats.get(Nd),this.stats.get(Od),this.stats.get(bd),this.stats.get(Pd),this.stats.get(Dd),this.stats.get(wd),this.stats.get(ic,"memory"),this.stats.get(vd)}_initializeTileHeaders(e,r){let n=new Ze(this,e.root,r);if(r&&(r.children.push(n),n.depth=r.depth+1),this.type===ft.TILES3D){let i=[];for(i.push(n);i.length>0;){let o=i.pop();this.stats.get(gi).incrementCount();let a=o.header.children||[];for(let c of a){var s;let l=new Ze(this,c,o);if((s=l.contentUrl)!==null&&s!==void 0&&s.includes("?session=")){let f=new URL(l.contentUrl).searchParams.get("session");f&&(this._queryParams.session=f)}o.children.push(l),l.depth=o.depth+1,i.push(l)}}}return n}_initializeTraverser(){let e;switch(this.type){case ft.TILES3D:e=fi;break;case ft.I3S:e=pi;break;default:e=ne}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}_destroyTileHeaders(e){this._destroySubtree(e)}async _loadTile(e){let r;try{this._onStartTileLoading(),r=await e.loadContent()}catch(n){this._onTileLoadError(e,n instanceof Error?n:new Error("load failed"))}finally{this._onEndTileLoading(),this._onTileLoad(e,r)}}_onTileLoadError(e,r){this.stats.get(Dd).incrementCount();let n=r.message||r.toString(),s=e.url;console.error(`A 3D tile failed to load: ${e.url} ${n}`),this.options.onTileError(e,n,s)}_onTileLoad(e,r){if(r){if(this.type===ft.I3S){var n,s;let i=((n=this.tileset)===null||n===void 0||(s=n.nodePagesTile)===null||s===void 0?void 0:s.nodesInNodePages)||0;this.stats.get(gi).reset(),this.stats.get(gi).addCount(i)}e&&e.content&&id(e,e.content),this.updateContentTypes(e),this._addTileToCache(e),this.options.onTileLoad(e)}}updateContentTypes(e){if(this.type===ft.I3S)switch(e.header.isDracoGeometry&&(this.contentFormats.draco=!0),e.header.textureFormat){case"dds":this.contentFormats.dds=!0;break;case"ktx2":this.contentFormats.ktx2=!0;break;default:}else if(this.type===ft.TILES3D){var r;let{extensionsRemoved:n=[]}=((r=e.content)===null||r===void 0?void 0:r.gltf)||{};n.includes("KHR_draco_mesh_compression")&&(this.contentFormats.draco=!0),n.includes("EXT_meshopt_compression")&&(this.contentFormats.meshopt=!0),n.includes("KHR_texture_basisu")&&(this.contentFormats.ktx2=!0)}}_onStartTileLoading(){this._pendingCount++,this.stats.get(sc).incrementCount()}_onEndTileLoading(){this._pendingCount--,this.stats.get(sc).decrementCount()}_addTileToCache(e){this._cache.add(this,e,r=>r._updateCacheStats(e))}_updateCacheStats(e){this.stats.get(bd).incrementCount(),this.stats.get(nc).incrementCount(),this.gpuMemoryUsageInBytes+=e.gpuMemoryUsageInBytes||0,this.stats.get(ic).count=this.gpuMemoryUsageInBytes,this.options.memoryAdjustedScreenSpaceError&&this.adjustScreenSpaceError()}_unloadTile(e){this.gpuMemoryUsageInBytes-=e.gpuMemoryUsageInBytes||0,this.stats.get(nc).decrementCount(),this.stats.get(Pd).incrementCount(),this.stats.get(ic).count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}_destroy(){let e=[];for(this.root&&e.push(this.root);e.length>0;){let r=e.pop();for(let n of r.children)e.push(n);this._destroyTile(r)}this.root=null}_destroySubtree(e){let r=e,n=[];for(n.push(r);n.length>0;){e=n.pop();for(let s of e.children)n.push(s);e!==r&&this._destroyTile(e)}r.children=[]}_destroyTile(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}_initializeTiles3DTileset(e){if(e.queryString){let r=new URLSearchParams(e.queryString),n=Object.fromEntries(r.entries());this._queryParams={...this._queryParams,...n}}if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if(this.asset.version!=="0.0"&&this.asset.version!=="1.0"&&this.asset.version!=="1.1")throw new Error("The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.");"tilesetVersion"in this.asset&&(this._queryParams.v=this.asset.tilesetVersion),this.credits={attributions:this.options.attributions||[]},this.description=this.options.description||"",this.properties=e.properties,this.geometricError=e.geometricError,this._extensionsUsed=e.extensionsUsed||[],this.extras=e.extras}_initializeI3STileset(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}};var Ai="4.1.0";var Qe={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},VD=Object.keys(Qe);function oc(t,e,r){V(t instanceof ArrayBuffer);let n=new TextDecoder("utf8"),s=new Uint8Array(t,e,r);return n.decode(s)}function Ud(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=new DataView(t);return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}var Ld="4.1.0";var Hd={name:"Draco",id:"draco",module:"draco",version:Ld,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function Vd(t){switch(t.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function $e(t){let e=1/0,r=1/0,n=1/0,s=-1/0,i=-1/0,o=-1/0,a=t.POSITION?t.POSITION.value:[],c=a&&a.length;for(let l=0;l<c;l+=3){let h=a[l],f=a[l+1],u=a[l+2];e=h<e?h:e,r=f<r?f:r,n=u<n?u:n,s=h>s?h:s,i=f>i?f:i,o=u>o?u:o}return[[e,r,n],[s,i,o]]}function ac(t,e,r){let n=Vd(e.value),s=r||Xd(e);return{name:t,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]},nullable:!1,metadata:s}}function Xd(t){let e={};return"byteOffset"in t&&(e.byteOffset=t.byteOffset.toString(10)),"byteStride"in t&&(e.byteStride=t.byteStride.toString(10)),"normalized"in t&&(e.normalized=t.normalized.toString()),e}function zd(t,e,r){let n=kd(e.metadata),s=[],i=VE(e.attributes);for(let o in t){let a=t[o],c=Wd(o,a,i[o]);s.push(c)}if(r){let o=Wd("indices",r);s.push(o)}return{fields:s,metadata:n}}function VE(t){let e={};for(let r in t){let n=t[r];e[n.name||"undefined"]=n}return e}function Wd(t,e,r){let n=r?kd(r.metadata):void 0;return ac(t,e,n)}function kd(t){Object.entries(t);let e={};for(let r in t)e[`${r}.string`]=JSON.stringify(t[r]);return e}var Gd={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},XE={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},WE=4,In=class{constructor(e){this.draco=void 0,this.decoder=void 0,this.metadataQuerier=void 0,this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(r);let s=this.decoder.GetEncodedGeometryType(n),i=s===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(s){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!i.ptr){let u=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(u)}let a=this._getDracoLoaderData(i,s,r),c=this._getMeshData(i,a,r),l=$e(c.attributes),h=zd(c.attributes,a,c.indices);return{loader:"draco",loaderData:a,header:{vertexCount:i.num_points(),boundingBox:l},...c,schema:h}}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}_getDracoLoaderData(e,r,n){let s=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:r,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:s,attributes:i}}_getDracoAttributes(e,r){let n={};for(let s=0;s<e.num_attributes();s++){let i=this.decoder.GetAttribute(e,s),o=this._getAttributeMetadata(e,s);n[i.unique_id()]={unique_id:i.unique_id(),attribute_type:i.attribute_type(),data_type:i.data_type(),num_components:i.num_components(),byte_offset:i.byte_offset(),byte_stride:i.byte_stride(),normalized:i.normalized(),attribute_index:s,metadata:o};let a=this._getQuantizationTransform(i,r);a&&(n[i.unique_id()].quantization_transform=a);let c=this._getOctahedronTransform(i,r);c&&(n[i.unique_id()].octahedron_transform=c)}return n}_getMeshData(e,r,n){let s=this._getMeshAttributes(r,e,n);if(!s.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:s,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:s,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:s}}_getMeshAttributes(e,r,n){let s={};for(let i of Object.values(e.attributes)){let o=this._deduceAttributeName(i,n);i.name=o;let{value:a,size:c}=this._getAttributeValues(r,i);s[o]={value:a,size:c,byteOffset:i.byte_offset,byteStride:i.byte_stride,normalized:i.normalized}}return s}_getTriangleListIndices(e){let n=e.num_faces()*3,s=n*WE,i=this.draco._malloc(s);try{return this.decoder.GetTrianglesUInt32Array(e,s,i),new Uint32Array(this.draco.HEAPF32.buffer,i,n).slice()}finally{this.draco._free(i)}}_getTriangleStripIndices(e){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,r),GE(r)}finally{this.draco.destroy(r)}}_getAttributeValues(e,r){let n=XE[r.data_type],s=r.num_components,o=e.num_points()*s,a=o*n.BYTES_PER_ELEMENT,c=zE(this.draco,n),l,h=this.draco._malloc(a);try{let f=this.decoder.GetAttribute(e,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,f,c,a,h),l=new n(this.draco.HEAPF32.buffer,h,o).slice()}finally{this.draco._free(h)}return{value:l,size:s}}_deduceAttributeName(e,r){let n=e.unique_id;for(let[o,a]of Object.entries(r.extraAttributes||{}))if(a===n)return o;let s=e.attribute_type;for(let o in Gd)if(this.draco[o]===s)return Gd[o];let i=r.attributeNameEntry||"name";return e.metadata[i]?e.metadata[i].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){let r=this.decoder.GetMetadata(e);return this._getDracoMetadata(r)}_getAttributeMetadata(e,r){let n=this.decoder.GetAttributeMetadata(e,r);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(e);for(let s=0;s<n;s++){let i=this.metadataQuerier.GetEntryName(e,s);r[i]=this._getDracoMetadataField(e,i)}return r}_getDracoMetadataField(e,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,r,n);let s=kE(n);return{int:this.metadataQuerier.GetIntEntry(e,r),string:this.metadataQuerier.GetStringEntry(e,r),double:this.metadataQuerier.GetDoubleEntry(e,r),intArray:s}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=e,s=[...r,...n];for(let i of s)this.decoder.SkipAttributeTransform(this.draco[i])}_getQuantizationTransform(e,r){let{quantizedAttributes:n=[]}=r,s=e.attribute_type();if(n.map(o=>this.decoder[o]).includes(s)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,r){let{octahedronAttributes:n=[]}=r,s=e.attribute_type();if(n.map(o=>this.decoder[o]).includes(s)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function zE(t,e){switch(e){case Float32Array:return t.DT_FLOAT32;case Int8Array:return t.DT_INT8;case Int16Array:return t.DT_INT16;case Int32Array:return t.DT_INT32;case Uint8Array:return t.DT_UINT8;case Uint16Array:return t.DT_UINT16;case Uint32Array:return t.DT_UINT32;default:return t.DT_INVALID}}function kE(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}function GE(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}var KE="1.5.6",JE="1.4.1",cc=`https://www.gstatic.com/draco/versioned/decoders/${KE}`,Rt={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},lc={[Rt.DECODER]:`${cc}/${Rt.DECODER}`,[Rt.DECODER_WASM]:`${cc}/${Rt.DECODER_WASM}`,[Rt.FALLBACK_DECODER]:`${cc}/${Rt.FALLBACK_DECODER}`,[Rt.ENCODER]:`https://raw.githubusercontent.com/google/draco/${JE}/javascript/${Rt.ENCODER}`},Fn;async function Kd(t){let e=t.modules||{};return e.draco3d?Fn=Fn||e.draco3d.createDecoderModule({}).then(r=>({draco:r})):Fn=Fn||YE(t),await Fn}async function YE(t){let e,r;switch(t.draco&&t.draco.decoderType){case"js":e=await qt(lc[Rt.FALLBACK_DECODER],"draco",t,Rt.FALLBACK_DECODER);break;case"wasm":default:[e,r]=await Promise.all([await qt(lc[Rt.DECODER],"draco",t,Rt.DECODER),await qt(lc[Rt.DECODER_WASM],"draco",t,Rt.DECODER_WASM)])}return e=e||globalThis.DracoDecoderModule,await qE(e,r)}function qE(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t({...r,onModuleLoaded:s=>n({draco:s})})})}var _i={...Hd,parse:jE};async function jE(t,e){let{draco:r}=await Kd(e),n=new In(r);try{return n.parseSync(t,e?.draco)}finally{n.destroy()}}var ZE={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},st={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},w={...ZE,...st};var hc={[st.DOUBLE]:Float64Array,[st.FLOAT]:Float32Array,[st.UNSIGNED_SHORT]:Uint16Array,[st.UNSIGNED_INT]:Uint32Array,[st.UNSIGNED_BYTE]:Uint8Array,[st.BYTE]:Int8Array,[st.SHORT]:Int16Array,[st.INT]:Int32Array},QE={DOUBLE:st.DOUBLE,FLOAT:st.FLOAT,UNSIGNED_SHORT:st.UNSIGNED_SHORT,UNSIGNED_INT:st.UNSIGNED_INT,UNSIGNED_BYTE:st.UNSIGNED_BYTE,BYTE:st.BYTE,SHORT:st.SHORT,INT:st.INT},fc="Failed to convert GL type",dt=class{static fromTypedArray(e){e=ArrayBuffer.isView(e)?e.constructor:e;for(let r in hc)if(hc[r]===e)return r;throw new Error(fc)}static fromName(e){let r=QE[e];if(!r)throw new Error(fc);return r}static getArrayType(e){switch(e){case st.UNSIGNED_SHORT_5_6_5:case st.UNSIGNED_SHORT_4_4_4_4:case st.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=hc[e];if(!r)throw new Error(fc);return r}}static getByteSize(e){return dt.getArrayType(e).BYTES_PER_ELEMENT}static validate(e){return Boolean(dt.getArrayType(e))}static createTypedArray(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0;s===void 0&&(s=(r.byteLength-n)/dt.getByteSize(e));let i=dt.getArrayType(e);return new i(r,n,s)}};function Jd(t,e){if(!t)throw new Error(`math.gl assertion failed. ${e}`)}function uc(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0],r=t>>11&31,n=t>>5&63,s=t&31;return e[0]=r<<3,e[1]=n<<2,e[2]=s<<3,e}var Ew=1/256;var Rw=new Ve,xw=new m,Sw=new Ve,Cw=new Ve,Bw=new Uint8Array(1);function Yd(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:255;return us(t,0,e)/e*2-1}function qd(t){return t<0?-1:1}function jd(t,e,r,n){if(Jd(n),t<0||t>r||e<0||e>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Yd(t,r),n.y=Yd(e,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let s=n.x;n.x=(1-Math.abs(n.y))*qd(s),n.y=(1-Math.abs(s))*qd(n.y)}return n.normalize()}function dc(t,e,r){return jd(t,e,255,r)}var fe=class{constructor(e,r){this.json=void 0,this.buffer=void 0,this.featuresLength=0,this._cachedTypedArrays={},this.json=e,this.buffer=r}getExtension(e){return this.json.extensions&&this.json.extensions[e]}hasProperty(e){return Boolean(this.json[e])}getGlobalProperty(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:w.UNSIGNED_INT,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=this.json[e];return s&&Number.isFinite(s.byteOffset)?this._getTypedArrayFromBinary(e,r,n,1,s.byteOffset):s}getPropertyArray(e,r,n){let s=this.json[e];return s&&Number.isFinite(s.byteOffset)?("componentType"in s&&(r=dt.fromName(s.componentType)),this._getTypedArrayFromBinary(e,r,n,this.featuresLength,s.byteOffset)):this._getTypedArrayFromArray(e,r,s)}getProperty(e,r,n,s,i){let o=this.json[e];if(!o)return o;let a=this.getPropertyArray(e,r,n);if(n===1)return a[s];for(let c=0;c<n;++c)i[c]=a[n*s+c];return i}_getTypedArrayFromBinary(e,r,n,s,i){let o=this._cachedTypedArrays,a=o[e];return a||(a=dt.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+i,s*n),o[e]=a),a}_getTypedArrayFromArray(e,r,n){let s=this._cachedTypedArrays,i=s[e];return i||(i=dt.createTypedArray(r,n),s[e]=i),i}};var $E={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tR={SCALAR:(t,e)=>t[e],VEC2:(t,e)=>[t[2*e+0],t[2*e+1]],VEC3:(t,e)=>[t[3*e+0],t[3*e+1],t[3*e+2]],VEC4:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT2:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT3:(t,e)=>[t[9*e+0],t[9*e+1],t[9*e+2],t[9*e+3],t[9*e+4],t[9*e+5],t[9*e+6],t[9*e+7],t[9*e+8]],MAT4:(t,e)=>[t[16*e+0],t[16*e+1],t[16*e+2],t[16*e+3],t[16*e+4],t[16*e+5],t[16*e+6],t[16*e+7],t[16*e+8],t[16*e+9],t[16*e+10],t[16*e+11],t[16*e+12],t[16*e+13],t[16*e+14],t[16*e+15]]},eR={SCALAR:(t,e,r)=>{e[r]=t},VEC2:(t,e,r)=>{e[2*r+0]=t[0],e[2*r+1]=t[1]},VEC3:(t,e,r)=>{e[3*r+0]=t[0],e[3*r+1]=t[1],e[3*r+2]=t[2]},VEC4:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT2:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT3:(t,e,r)=>{e[9*r+0]=t[0],e[9*r+1]=t[1],e[9*r+2]=t[2],e[9*r+3]=t[3],e[9*r+4]=t[4],e[9*r+5]=t[5],e[9*r+6]=t[6],e[9*r+7]=t[7],e[9*r+8]=t[8],e[9*r+9]=t[9]},MAT4:(t,e,r)=>{e[16*r+0]=t[0],e[16*r+1]=t[1],e[16*r+2]=t[2],e[16*r+3]=t[3],e[16*r+4]=t[4],e[16*r+5]=t[5],e[16*r+6]=t[6],e[16*r+7]=t[7],e[16*r+8]=t[8],e[16*r+9]=t[9],e[16*r+10]=t[10],e[16*r+11]=t[11],e[16*r+12]=t[12],e[16*r+13]=t[13],e[16*r+14]=t[14],e[16*r+15]=t[15]}};function Zd(t,e,r,n){let{componentType:s}=t;V(t.componentType);let i=typeof s=="string"?dt.fromName(s):s,o=$E[t.type],a=tR[t.type],c=eR[t.type];return r+=t.byteOffset,{values:dt.createTypedArray(i,e,r,o*n),type:i,size:o,unpacker:a,packer:c}}var se=t=>t!==void 0;function Qd(t,e,r){if(!e)return null;let n=t.getExtension("3DTILES_batch_table_hierarchy"),s=e.HIERARCHY;return s&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),e.extensions=e.extensions||{},e.extensions["3DTILES_batch_table_hierarchy"]=s,n=s),n?rR(n,r):null}function rR(t,e){let r,n,s,i=t.instancesLength,o=t.classes,a=t.classIds,c=t.parentCounts,l=t.parentIds,h=i;se(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,s=getBinaryAccessor(a),a=s.createArrayBufferView(e.buffer,e.byteOffset+a.byteOffset,i));let f;if(se(c))for(se(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,s=getBinaryAccessor(c),c=s.createArrayBufferView(e.buffer,e.byteOffset+c.byteOffset,i)),f=new Uint16Array(i),h=0,r=0;r<i;++r)f[r]=h,h+=c[r];se(l)&&se(l.byteOffset)&&(l.componentType=defaultValue(l.componentType,GL.UNSIGNED_SHORT),l.type=AttributeType.SCALAR,s=getBinaryAccessor(l),l=s.createArrayBufferView(e.buffer,e.byteOffset+l.byteOffset,h));let u=o.length;for(r=0;r<u;++r){let A=o[r].length,T=o[r].instances,x=getBinaryProperties(A,T,e);o[r].instances=combine(x,T)}let d=new Array(u).fill(0),p=new Uint16Array(i);for(r=0;r<i;++r)n=a[r],p[r]=d[n],++d[n];let _={classes:o,classIds:a,classIndexes:p,parentCounts:c,parentIndexes:f,parentIds:l};return iR(_),_}function yr(t,e,r){if(!t)return;let n=t.parentCounts;return t.parentIds?r(t,e):n>0?nR(t,e,r):sR(t,e,r)}function nR(t,e,r){let n=t.classIds,s=t.parentCounts,i=t.parentIds,o=t.parentIndexes,a=n.length,c=scratchVisited;c.length=Math.max(c.length,a);let l=++marker,h=scratchStack;for(h.length=0,h.push(e);h.length>0;){if(e=h.pop(),c[e]===l)continue;c[e]=l;let f=r(t,e);if(se(f))return f;let u=s[e],d=o[e];for(let p=0;p<u;++p){let _=i[d+p];_!==e&&h.push(_)}}return null}function sR(t,e,r){let n=!0;for(;n;){let s=r(t,e);if(se(s))return s;let i=t.parentIds[e];n=i!==e,e=i}throw new Error("traverseHierarchySingleParent")}function iR(t){let e=[],n=t.classIds.length;for(let s=0;s<n;++s)$d(t,s,stack)}function $d(t,e,r){let n=t.parentCounts,s=t.parentIds,i=t.parentIndexes,a=t.classIds.length;if(!se(s))return;assert(e<a,`Parent index ${e} exceeds the total number of instances: ${a}`),assert(r.indexOf(e)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(e);let c=se(n)?n[e]:1,l=se(n)?i[e]:e;for(let h=0;h<c;++h){let f=s[l+h];f!==e&&$d(t,f,r)}r.pop(e)}function xt(t){return t!=null}var mi=(t,e)=>t,oR={HIERARCHY:!0,extensions:!0,extras:!0},tr=class{constructor(e,r,n){var s;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};this.json=void 0,this.binary=void 0,this.featureCount=void 0,this._extensions=void 0,this._properties=void 0,this._binaryProperties=void 0,this._hierarchy=void 0,V(n>=0),this.json=e||{},this.binary=r,this.featureCount=n,this._extensions=((s=this.json)===null||s===void 0?void 0:s.extensions)||{},this._properties={};for(let o in this.json)oR[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Qd(this,this.json,this.binary))}getExtension(e){return this.json&&this.json.extensions&&this.json.extensions[e]}memorySizeInBytes(){return 0}isClass(e,r){if(this._checkBatchId(e),V(typeof r=="string",r),this._hierarchy){let n=yr(this._hierarchy,e,(s,i)=>{let o=s.classIds[i];return s.classes[o].name===r});return xt(n)}return!1}isExactClass(e,r){return V(typeof r=="string",r),this.getExactClassName(e)===r}getExactClassName(e){if(this._checkBatchId(e),this._hierarchy){let r=this._hierarchy.classIds[e];return this._hierarchy.classes[r].name}}hasProperty(e,r){return this._checkBatchId(e),V(typeof r=="string",r),xt(this._properties[r])||this._hasPropertyInHierarchy(e,r)}getPropertyNames(e,r){this._checkBatchId(e),r=xt(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(e,r),r}getProperty(e,r){if(this._checkBatchId(e),V(typeof r=="string",r),this._binaryProperties){let s=this._binaryProperties[r];if(xt(s))return this._getBinaryProperty(s,e)}let n=this._properties[r];if(xt(n))return mi(n[e],!0);if(this._hierarchy){let s=this._getHierarchyProperty(e,r);if(xt(s))return s}}setProperty(e,r,n){let s=this.featureCount;if(this._checkBatchId(e),V(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,e,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,e,r,n))return;let i=this._properties[r];xt(i)||(this._properties[r]=new Array(s),i=this._properties[r]),i[e]=mi(n,!0)}_checkBatchId(e){if(!(e>=0&&e<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(e,r){return e.unpack(e.typedArray,r)}_setBinaryProperty(e,r,n){e.pack(n,e.typedArray,r)}_initializeBinaryProperties(){let e=null;for(let r in this._properties){let n=this._properties[r],s=this._initializeBinaryProperty(r,n);s&&(e=e||{},e[r]=s)}return e}_initializeBinaryProperty(e,r){if("byteOffset"in r){let n=r;V(this.binary,`Property ${e} requires a batch table binary.`),V(n.type,`Property ${e} requires a type.`);let s=Zd(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:s.values,componentCount:s.size,unpack:s.unpacker,pack:s.packer}}return null}_hasPropertyInHierarchy(e,r){if(!this._hierarchy)return!1;let n=yr(this._hierarchy,e,(s,i)=>{let o=s.classIds[i],a=s.classes[o].instances;return xt(a[r])});return xt(n)}_getPropertyNamesInHierarchy(e,r){yr(this._hierarchy,e,(n,s)=>{let i=n.classIds[s],o=n.classes[i].instances;for(let a in o)o.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(e,r){return yr(this._hierarchy,e,(n,s)=>{let i=n.classIds[s],o=n.classes[i],a=n.classIndexes[s],c=o.instances[r];return xt(c)?xt(c.typedArray)?this._getBinaryProperty(c,a):mi(c[a],!0):null})}_setHierarchyProperty(e,r,n,s){let i=yr(this._hierarchy,r,(o,a)=>{let c=o.classIds[a],l=o.classes[c],h=o.classIndexes[a],f=l.instances[n];return xt(f)?(V(a===r,`Inherited property "${n}" is read-only.`),xt(f.typedArray)?this._setBinaryProperty(f,h,s):f[h]=mi(s,!0),!0):!1});return xt(i)}};function Ne(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=new DataView(e);if(t.magic=n.getUint32(r,!0),r+=4,t.version=n.getUint32(r,!0),r+=4,t.byteLength=n.getUint32(r,!0),r+=4,t.version!==1)throw new Error(`3D Tile Version ${t.version} not supported`);return r}var Ir=4,tp="b3dm tile in legacy format.";function Fr(t,e,r){let n=new DataView(e),s;t.header=t.header||{};let i=n.getUint32(r,!0);r+=Ir;let o=n.getUint32(r,!0);r+=Ir;let a=n.getUint32(r,!0);r+=Ir;let c=n.getUint32(r,!0);return r+=Ir,a>=570425344?(r-=Ir*2,s=i,a=o,c=0,i=0,o=0,console.warn(tp)):c>=570425344&&(r-=Ir,s=a,a=i,c=o,i=0,o=0,console.warn(tp)),t.header.featureTableJsonByteLength=i,t.header.featureTableBinaryByteLength=o,t.header.batchTableJsonByteLength=a,t.header.batchTableBinaryByteLength=c,t.header.batchLength=s,r}function Nr(t,e,r,n){return r=aR(t,e,r,n),r=cR(t,e,r,n),r}function aR(t,e,r,n){let{featureTableJsonByteLength:s,featureTableBinaryByteLength:i,batchLength:o}=t.header||{};if(t.featureTableJson={BATCH_LENGTH:o||0},s&&s>0){let a=oc(e,r,s);t.featureTableJson=JSON.parse(a)}return r+=s||0,t.featureTableBinary=new Uint8Array(e,r,i),r+=i||0,r}function cR(t,e,r,n){let{batchTableJsonByteLength:s,batchTableBinaryByteLength:i}=t.header||{};if(s&&s>0){let o=oc(e,r,s);t.batchTableJson=JSON.parse(o),r+=s,i&&i>0&&(t.batchTableBinary=new Uint8Array(e,r,i),t.batchTableBinary=new Uint8Array(t.batchTableBinary),r+=i)}return r}function pc(t,e,r){if(!e&&(!t||!t.batchIds||!r))return null;let{batchIds:n,isRGB565:s,pointCount:i=0}=t;if(n&&r){let o=new Uint8ClampedArray(i*3);for(let a=0;a<i;a++){let c=n[a],h=r.getProperty(c,"dimensions").map(f=>f*255);o[a*3]=h[0],o[a*3+1]=h[1],o[a*3+2]=h[2]}return{type:w.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(e&&s){let o=new Uint8ClampedArray(i*3);for(let a=0;a<i;a++){let c=uc(e[a]);o[a*3]=c[0],o[a*3+1]=c[1],o[a*3+2]=c[2]}return{type:w.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return e&&e.length===i*3?{type:w.UNSIGNED_BYTE,value:e,size:3,normalized:!0}:{type:w.UNSIGNED_BYTE,value:e||new Uint8ClampedArray,size:4,normalized:!0}}var ep=new m;function rp(t,e){if(!e)return null;if(t.isOctEncoded16P){let r=new Float32Array((t.pointsLength||0)*3);for(let n=0;n<(t.pointsLength||0);n++)dc(e[n*2],e[n*2+1],ep),ep.toArray(r,n*3);return{type:w.FLOAT,size:2,value:r}}return{type:w.FLOAT,size:2,value:e}}function np(t,e,r){return t.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(t.isQuantized=!1,lR(t,e)):{type:w.UNSIGNED_SHORT,value:e,size:3,normalized:!0}:e}function lR(t,e){let r=new m,n=new Float32Array(t.pointCount*3);for(let s=0;s<t.pointCount;s++)r.set(e[s*3],e[s*3+1],e[s*3+2]).scale(1/t.quantizedRange).multiply(t.quantizedVolumeScale).add(t.quantizedVolumeOffset).toArray(n,s*3);return n}async function sp(t,e,r,n,s){r=Ne(t,e,r),r=Fr(t,e,r),r=Nr(t,e,r,n),hR(t);let{featureTable:i,batchTable:o}=fR(t);return await AR(t,i,o,n,s),uR(t,i,n),dR(t,i,o),pR(t,i),r}function hR(t){t.attributes={positions:null,colors:null,normals:null,batchIds:null},t.isQuantized=!1,t.isTranslucent=!1,t.isRGB565=!1,t.isOctEncoded16P=!1}function fR(t){let e=new fe(t.featureTableJson,t.featureTableBinary),r=e.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");e.featuresLength=r,t.featuresLength=r,t.pointsLength=r,t.pointCount=r,t.rtcCenter=e.getGlobalProperty("RTC_CENTER",w.FLOAT,3);let n=gR(t,e);return{featureTable:e,batchTable:n}}function uR(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.positions){if(e.hasProperty("POSITION"))t.attributes.positions=e.getPropertyArray("POSITION",w.FLOAT,3);else if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",w.UNSIGNED_SHORT,3);if(t.isQuantized=!0,t.quantizedRange=(1<<16)-1,t.quantizedVolumeScale=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",w.FLOAT,3),!t.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(t.quantizedVolumeOffset=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",w.FLOAT,3),!t.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");t.attributes.positions=np(t,n,r)}}if(!t.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function dR(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.colors){let n=null;e.hasProperty("RGBA")?(n=e.getPropertyArray("RGBA",w.UNSIGNED_BYTE,4),t.isTranslucent=!0):e.hasProperty("RGB")?n=e.getPropertyArray("RGB",w.UNSIGNED_BYTE,3):e.hasProperty("RGB565")&&(n=e.getPropertyArray("RGB565",w.UNSIGNED_SHORT,1),t.isRGB565=!0),t.attributes.colors=pc(t,n,r)}e.hasProperty("CONSTANT_RGBA")&&(t.constantRGBA=e.getGlobalProperty("CONSTANT_RGBA",w.UNSIGNED_BYTE,4))}function pR(t,e){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.normals){let r=null;e.hasProperty("NORMAL")?r=e.getPropertyArray("NORMAL",w.FLOAT,3):e.hasProperty("NORMAL_OCT16P")&&(r=e.getPropertyArray("NORMAL_OCT16P",w.UNSIGNED_BYTE,2),t.isOctEncoded16P=!0),t.attributes.normals=rp(t,r)}}function gR(t,e){let r=null;if(!t.batchIds&&e.hasProperty("BATCH_ID")&&(t.batchIds=e.getPropertyArray("BATCH_ID",w.UNSIGNED_SHORT,1),t.batchIds)){let n=e.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:s,batchTableBinary:i}=t;r=new tr(s,i,n)}return r}async function AR(t,e,r,n,s){let i,o,a,c=t.batchTableJson&&t.batchTableJson.extensions&&t.batchTableJson.extensions["3DTILES_draco_point_compression"];c&&(a=c.properties);let l=e.getExtension("3DTILES_draco_point_compression");if(l){o=l.properties;let f=l.byteOffset,u=l.byteLength;if(!o||!Number.isFinite(f)||!u)throw new Error("Draco properties, byteOffset, and byteLength must be defined");i=(t.featureTableBinary||[]).slice(f,f+u),t.hasPositions=Number.isFinite(o.POSITION),t.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),t.hasNormals=Number.isFinite(o.NORMAL),t.hasBatchIds=Number.isFinite(o.BATCH_ID),t.isTranslucent=Number.isFinite(o.RGBA)}if(!i)return!0;let h={buffer:i,properties:{...o,...a},featureTableProperties:o,batchTableProperties:a,dequantizeInShader:!1};return await _R(t,h,n,s)}async function _R(t,e,r,n){if(!n)return;let s={...r,draco:{...r?.draco,extraAttributes:e.batchTableProperties||{}}};delete s["3d-tiles"];let i=await Ct(e.buffer,_i,s,n),o=i.attributes.POSITION&&i.attributes.POSITION.value,a=i.attributes.COLOR_0&&i.attributes.COLOR_0.value,c=i.attributes.NORMAL&&i.attributes.NORMAL.value,l=i.attributes.BATCH_ID&&i.attributes.BATCH_ID.value,h=o&&i.attributes.POSITION.value.quantization,f=c&&i.attributes.NORMAL.value.quantization;if(h){let d=i.POSITION.data.quantization,p=d.range;t.quantizedVolumeScale=new m(p,p,p),t.quantizedVolumeOffset=new m(d.minValues),t.quantizedRange=(1<<d.quantizationBits)-1,t.isQuantizedDraco=!0}f&&(t.octEncodedRange=(1<<i.NORMAL.data.quantization.quantizationBits)-1,t.isOctEncodedDraco=!0);let u={};if(e.batchTableProperties)for(let d of Object.keys(e.batchTableProperties))i.attributes[d]&&i.attributes[d].value&&(u[d.toLowerCase()]=i.attributes[d].value);t.attributes={positions:o,colors:pc(t,a,void 0),normals:c,batchIds:l,...u}}var gc={};ht(gc,{decode:()=>FR,name:()=>IR});function at(t,e){if(!t)throw new Error(e||"assert failed: gltf")}var Ti={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ei={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var mR=1.33,ip=["SCALAR","VEC2","VEC3","VEC4"],TR=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],ER=new Map(TR),RR={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},xR={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},SR={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Ri(t){return ip[t-1]||ip[0]}function Or(t){let e=ER.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function br(t,e){let r=SR[t.componentType],n=RR[t.type],s=xR[t.componentType],i=t.count*n,o=t.count*n*s;at(o>=0&&o<=e.byteLength);let a=Ei[t.componentType],c=Ti[t.type];return{ArrayType:r,length:i,byteLength:o,componentByteSize:a,numberOfComponentsInElement:c}}function Nn(t){let{images:e,bufferViews:r}=t;e=e||[],r=r||[];let n=e.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let s=r.reduce((o,a)=>o+a.byteLength,0),i=e.reduce((o,a)=>{let{width:c,height:l}=a.image;return o+c*l},0);return s+Math.ceil(4*i*mR)}function op(t,e,r){let n=t.bufferViews[r];at(n);let s=n.buffer,i=e[s];at(i);let o=(n.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,o,n.byteLength)}function ap(t,e,r){var n,s;let i=typeof r=="number"?(n=t.accessors)===null||n===void 0?void 0:n[r]:r;if(!i)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let o=(s=t.bufferViews)===null||s===void 0?void 0:s[i.bufferView||0];if(!o)throw new Error(`No gltf buffer view for accessor ${o}`);let{arrayBuffer:a,byteOffset:c}=e[o.buffer],l=(c||0)+(i.byteOffset||0)+(o.byteOffset||0),{ArrayType:h,length:f,componentByteSize:u,numberOfComponentsInElement:d}=br(i,o),p=u*d,_=o.byteStride||p;if(typeof o.byteStride>"u"||o.byteStride===p)return new h(a,l,f);let A=new h(f);for(let T=0;T<i.count;T++){let x=new h(a,l+T*_,d);A.set(x,T*d)}return A}function CR(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var K=class{constructor(e){this.gltf=void 0,this.sourceBuffers=void 0,this.byteLength=void 0,this.gltf={json:e?.json||CR(),buffers:e?.buffers||[],images:e?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){let r=this.getUsedExtensions().find(s=>s===e),n=this.getRequiredExtensions().find(s=>s===e);return typeof r=="string"||typeof n=="string"}getExtension(e){let r=this.getUsedExtensions().find(s=>s===e),n=this.json.extensions||{};return r?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,r){return(e.extensions||{})[r]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,r){if(typeof r=="object")return r;let n=this.json[e]&&this.json[e][r];if(!n)throw new Error(`glTF file error: Could not find ${e}[${r}]`);return n}getTypedArrayForBufferView(e){e=this.getBufferView(e);let r=e.buffer,n=this.gltf.buffers[r];at(n);let s=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,s,e.byteLength)}getTypedArrayForAccessor(e){let r=this.getAccessor(e);return ap(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(e){e=this.getAccessor(e);let r=this.getBufferView(e.bufferView),s=this.getBuffer(r.buffer).data,i=r.byteOffset||0;return new Uint8Array(s,i,r.byteLength)}addApplicationData(e,r){return this.json[e]=r,this}addExtraData(e,r){return this.json.extras=this.json.extras||{},this.json.extras[e]=r,this}addObjectExtension(e,r,n){return e.extensions=e.extensions||{},e.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(e,r,n){let s=e.extensions||{};s[r]=n}removeObjectExtension(e,r){let n=e?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let s=this.json.extensionsRemoved;s.includes(r)||s.push(r)}delete n[r]}addExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return at(r),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=r,this.registerUsedExtension(e),r}addRequiredExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return at(r),this.addExtension(e,r),this.registerRequiredExtension(e),r}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===e)||this.json.extensionsRequired.push(e)}removeExtension(e){var r;if((r=this.json.extensions)!==null&&r!==void 0&&r[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(e)||n.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){let{nodeIndices:r}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(e){let{meshIndex:r,matrix:n}=e;this.json.nodes=this.json.nodes||[];let s={mesh:r};return n&&(s.matrix=n),this.json.nodes.push(s),this.json.nodes.length-1}addMesh(e){let{attributes:r,indices:n,material:s,mode:i=4}=e,a={primitives:[{attributes:this._addAttributes(r),mode:i}]};if(n){let c=this._addIndices(n);a.primitives[0].indices=c}return Number.isFinite(s)&&(a.primitives[0].material=s),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){let n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,r){let n=He(e),s=r||n?.mimeType,o={bufferView:this.addBufferView(e),mimeType:s};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.byteLength,s=e.byteLength;at(Number.isFinite(s)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);let i={buffer:r,byteOffset:n,byteLength:s};return this.byteLength+=Ae(s,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,r){let n={bufferView:e,type:Ri(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{size:3},n=this.addBufferView(e),s={min:r.min,max:r.max};(!s.min||!s.max)&&(s=this._getAccessorMinMax(e,r.size));let i={size:r.size,componentType:Or(e),count:Math.round(e.length/r.size),min:s.min,max:s.max};return this.addAccessor(n,Object.assign(i,r))}addTexture(e){let{imageIndex:r}=e,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,r;this.gltf.buffers=[];let n=this.byteLength,s=new ArrayBuffer(n),i=new Uint8Array(s),o=0;for(let a of this.sourceBuffers||[])o=So(a,i,o);(e=this.json)!==null&&e!==void 0&&(r=e.buffers)!==null&&r!==void 0&&r[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=s,this.sourceBuffers=[s]}_removeStringFromArray(e,r){let n=!0;for(;n;){let s=e.indexOf(r);s>-1?e.splice(s,1):n=!1}}_addAttributes(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={};for(let n in e){let s=e[n],i=this._getGltfAttributeName(n),o=this.addBinaryBuffer(s.value,s);r[i]=o}return r}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,r){let n={min:null,max:null};if(e.length<r)return n;n.min=[],n.max=[];let s=e.subarray(0,r);for(let i of s)n.min.push(i),n.max.push(i);for(let i=r;i<e.length;i+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],e[i+o]),n.max[0+o]=Math.max(n.max[0+o],e[i+o]);return n}};function cp(t){return(t%1+1)%1}var lp={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},BR={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},hp={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function On(t,e){return hp[e]*lp[t]}function Pr(t,e,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let s=t.getTypedArrayForBufferView(e),i=Dr(s,"SCALAR",r,n+1);return i instanceof BigInt64Array||i instanceof BigUint64Array?null:i}function Dr(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,s=lp[e],i=BR[r],o=hp[r],a=n*s,c=a*o,l=t.buffer,h=t.byteOffset;return h%o!==0&&(l=new Uint8Array(l).slice(h,h+c).buffer,h=0),new i(l,h,a)}function wr(t,e,r){var n,s;let i=`TEXCOORD_${e.texCoord||0}`,o=r.attributes[i],a=t.getTypedArrayForAccessor(o),c=t.gltf.json,l=e.index,h=(n=c.textures)===null||n===void 0||(s=n[l])===null||s===void 0?void 0:s.source;if(typeof h<"u"){var f,u,d;let p=(f=c.images)===null||f===void 0||(u=f[h])===null||u===void 0?void 0:u.mimeType,_=(d=t.gltf.images)===null||d===void 0?void 0:d[h];if(_&&typeof _.width<"u"){let A=[];for(let T=0;T<a.length;T+=2){let x=MR(_,p,a,T,e.channels);A.push(x)}return A}}return[]}function xi(t,e,r,n,s){if(!(r!=null&&r.length))return;let i=[];for(let h of r){let f=n.findIndex(u=>u===h);f===-1&&(f=n.push(h)-1),i.push(f)}let o=new Uint32Array(i),a=t.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,c=t.addBufferView(o,a,0),l=t.addAccessor(c,{size:1,componentType:Or(o),count:o.length});s.attributes[e]=l}function MR(t,e,r,n){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[0],i={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],a=r[n+1],c=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(c=4);let l=yR(o,a,t,c),h=0;for(let f of s){let u=typeof f=="number"?Object.values(i)[f]:i[f],d=l+u.offset,p=en(t);if(p.data.length<=d)throw new Error(`${p.data.length} <= ${d}`);let _=p.data[d];h|=_<<u.shift}return h}function yR(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,s=r.width,i=cp(t)*(s-1),o=Math.round(i),a=r.height,c=cp(e)*(a-1),l=Math.round(c),h=r.components?r.components:n;return(l*s+o)*h}function Si(t,e,r,n,s){let i=[];for(let o=0;o<e;o++){let a=r[o],c=r[o+1]-r[o];if(c+a>n)break;let l=a/s,h=c/s;i.push(t.slice(l,l+h))}return i}function Ci(t,e,r){let n=[];for(let s=0;s<e;s++){let i=s*r;n.push(t.slice(i,i+r))}return n}function Bi(t,e,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let s=[],i=new TextDecoder("utf8"),o=0;for(let a=0;a<t;a++){let c=n[a+1]-n[a];if(c+o<=e.length){let l=e.subarray(o,c+o),h=i.decode(l);s.push(h),o+=c}}return s}return[]}var fp="EXT_mesh_features",IR=fp;async function FR(t,e){let r=new K(t);NR(r,e)}function NR(t,e){let r=t.gltf.json;if(r.meshes)for(let n of r.meshes)for(let s of n.primitives)OR(t,s,e)}function OR(t,e,r){var n,s;if(!(r!=null&&(n=r.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let i=(s=e.extensions)===null||s===void 0?void 0:s[fp],o=i?.featureIds;if(o)for(let c of o){var a;let l;if(typeof c.attribute<"u"){let h=`_FEATURE_ID_${c.attribute}`,f=e.attributes[h];l=t.getTypedArrayForAccessor(f)}else typeof c.texture<"u"&&r!==null&&r!==void 0&&(a=r.gltf)!==null&&a!==void 0&&a.loadImages?l=wr(t,c.texture,e):l=[];c.data=l}}var mc={};ht(mc,{decode:()=>PR,name:()=>bR});var Ac="EXT_structural_metadata",bR=Ac;async function PR(t,e){let r=new K(t);DR(r,e)}function DR(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let s=t.getExtension(Ac);s&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&wR(t,s),vR(t,s))}function wR(t,e){let r=e.propertyTextures,n=t.gltf.json;if(r&&n.meshes)for(let s of n.meshes)for(let i of s.primitives)LR(t,r,i,e)}function vR(t,e){let r=e.schema;if(!r)return;let n=r.classes,s=e.propertyTables;if(n&&s)for(let i in n){let o=UR(s,i);o&&VR(t,r,o)}}function UR(t,e){for(let r of t)if(r.class===e)return r;return null}function LR(t,e,r,n){var s;if(!e)return;let i=(s=r.extensions)===null||s===void 0?void 0:s[Ac],o=i?.propertyTextures;if(o)for(let a of o){let c=e[a];HR(t,c,r,n)}}function HR(t,e,r,n){if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let s=e.class;for(let o in e.properties){var i;let a=`${s}_${o}`,c=(i=e.properties)===null||i===void 0?void 0:i[o];if(!c)continue;c.data||(c.data=[]);let l=c.data,h=wr(t,c,r);h!==null&&(xi(t,a,h,l,r),c.data=l,n.dataAttributeNames.push(a))}}function VR(t,e,r){var n;let s=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!s)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let a in s.properties){var o;let c=s.properties[a],l=(o=r.properties)===null||o===void 0?void 0:o[a];if(l){let h=XR(t,e,c,i,l);l.data=h}}}function XR(t,e,r,n,s){let i=[],o=s.values,a=t.getTypedArrayForBufferView(o),c=WR(t,r,s,n),l=zR(t,s,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{i=kR(r,n,a,c);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{i=Bi(n,a,c,l);break}case"ENUM":{i=GR(e,r,n,a,c);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return i}function WR(t,e,r,n){return e.array&&typeof e.count>"u"&&typeof r.arrayOffsets<"u"?Pr(t,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function zR(t,e,r){return typeof e.stringOffsets<"u"?Pr(t,e.stringOffsets,e.stringOffsetType||"UINT32",r):null}function kR(t,e,r,n){let s=t.array,i=t.count,o=On(t.type,t.componentType),a=r.byteLength/o,c;return t.componentType?c=Dr(r,t.type,t.componentType,a):c=r,s?n?Si(c,e,n,r.length,o):i?Ci(c,e,i):[]:c}function GR(t,e,r,n,s){var i;let o=e.enumType;if(!o)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let a=(i=t.enums)===null||i===void 0?void 0:i[o];if(!a)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${o}`);let c=a.valueType||"UINT16",l=On(e.type,c),h=n.byteLength/l,f=Dr(n,e.type,c,h);if(f||(f=n),e.array){if(s)return KR({valuesData:f,numberOfElements:r,arrayOffsets:s,valuesDataBytesLength:n.length,elementSize:l,enumEntry:a});let u=e.count;return u?JR(f,r,u,a):[]}return _c(f,0,r,a)}function KR(t){let{valuesData:e,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:s,elementSize:i,enumEntry:o}=t,a=[];for(let c=0;c<r;c++){let l=n[c],h=n[c+1]-n[c];if(h+l>s)break;let f=l/i,u=h/i,d=_c(e,f,u,o);a.push(d)}return a}function JR(t,e,r,n){let s=[];for(let i=0;i<e;i++){let o=r*i,a=_c(t,o,r,n);s.push(a)}return s}function _c(t,e,r,n){let s=[];for(let i=0;i<r;i++)if(t instanceof BigInt64Array||t instanceof BigUint64Array)s.push("");else{let o=t[e+i],a=YR(n,o);a?s.push(a.name):s.push("")}return s}function YR(t,e){for(let r of t.values)if(r.value===e)return r;return null}var Tc={};ht(Tc,{decode:()=>jR,name:()=>qR});var up="EXT_feature_metadata",qR=up;async function jR(t,e){let r=new K(t);ZR(r,e)}function ZR(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let s=t.getExtension(up);s&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&QR(t,s),$R(t,s))}function QR(t,e){let r=e.schema;if(!r)return;let n=r.classes,{featureTextures:s}=e;if(n&&s)for(let i in n){let o=n[i],a=ex(s,i);a&&nx(t,a,o)}}function $R(t,e){let r=e.schema;if(!r)return;let n=r.classes,s=e.featureTables;if(n&&s)for(let i in n){let o=tx(s,i);o&&rx(t,r,o)}}function tx(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function ex(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function rx(t,e,r){var n;if(!r.class)return;let s=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!s)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let a in s.properties){var o;let c=s.properties[a],l=(o=r.properties)===null||o===void 0?void 0:o[a];if(l){let h=sx(t,e,c,i,l);l.data=h}}}function nx(t,e,r){let n=e.class;for(let i in r.properties){var s;let o=e==null||(s=e.properties)===null||s===void 0?void 0:s[i];if(o){let a=lx(t,o,n);o.data=a}}}function sx(t,e,r,n,s){let i=[],o=s.bufferView,a=t.getTypedArrayForBufferView(o),c=ix(t,r,s,n),l=ox(t,r,s,n);return r.type==="STRING"||r.componentType==="STRING"?i=Bi(n,a,c,l):ax(r)&&(i=cx(r,n,a,c)),i}function ix(t,e,r,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Pr(t,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function ox(t,e,r,n){return typeof r.stringOffsetBufferView<"u"?Pr(t,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function ax(t){let e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(t.type)||typeof t.componentType<"u"&&e.includes(t.componentType)}function cx(t,e,r,n){let s=t.type==="ARRAY",i=t.componentCount,o="SCALAR",a=t.componentType||t.type,c=On(o,a),l=r.byteLength/c,h=Dr(r,o,a,l);return s?n?Si(h,e,n,r.length,c):i?Ci(h,e,i):[]:h}function lx(t,e,r){let n=t.gltf.json;if(!n.meshes)return[];let s=[];for(let i of n.meshes)for(let o of i.primitives)hx(t,r,e,s,o);return s}function hx(t,e,r,n,s){let i={channels:r.channels,...r.texture},o=wr(t,i,s);o&&xi(t,e,o,n,s)}var dp="4.1.0";var vr=!0,pp=1735152710,xc=12,Mi=8,fx=1313821514,ux=5130562,dx=0,px=0,gx=1;function Ax(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}function gp(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=new DataView(t),{magic:s=pp}=r,i=n.getUint32(e,!1);return i===s||i===pp}function Ap(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=new DataView(e),i=Ax(s,r+0),o=s.getUint32(r+4,vr),a=s.getUint32(r+8,vr);switch(Object.assign(t,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:i,version:o,json:{},binChunks:[]}),r+=xc,t.version){case 1:return _x(t,s,r);case 2:return mx(t,s,r,n={});default:throw new Error(`Invalid GLB version ${t.version}. Only supports version 1 and 2.`)}}function _x(t,e,r){V(t.header.byteLength>xc+Mi);let n=e.getUint32(r+0,vr),s=e.getUint32(r+4,vr);return r+=Mi,V(s===dx),Ec(t,e,r,n),r+=n,r+=Rc(t,e,r,t.header.byteLength),r}function mx(t,e,r,n){return V(t.header.byteLength>xc+Mi),Tx(t,e,r,n),r+t.header.byteLength}function Tx(t,e,r,n){for(;r+8<=t.header.byteLength;){let s=e.getUint32(r+0,vr),i=e.getUint32(r+4,vr);switch(r+=Mi,i){case fx:Ec(t,e,r,s);break;case ux:Rc(t,e,r,s);break;case px:n.strict||Ec(t,e,r,s);break;case gx:n.strict||Rc(t,e,r,s);break;default:break}r+=Ae(s,4)}return r}function Ec(t,e,r,n){let s=new Uint8Array(e.buffer,r,n),o=new TextDecoder("utf8").decode(s);return t.json=JSON.parse(o),Ae(n,4)}function Rc(t,e,r,n){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:e.buffer}),Ae(n,4)}function Sc(t,e){if(t.startsWith("data:")||t.startsWith("http:")||t.startsWith("https:"))return t;let n=e.baseUri||e.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${t}`);return n.substr(0,n.lastIndexOf("/")+1)+t}var Bc={};ht(Bc,{decode:()=>Ox,name:()=>Nx});var Ex="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",Rx="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",xx=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),Sx=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Cx={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Bx={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function _p(t,e,r,n,s){let i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"NONE",o=await Mx();Fx(o,o.exports[Bx[s]],t,e,r,n,o.exports[Cx[i||"NONE"]])}var Cc;async function Mx(){return Cc||(Cc=yx()),Cc}async function yx(){let t=Ex;WebAssembly.validate(xx)&&(t=Rx,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let e=await WebAssembly.instantiate(Ix(t),{});return await e.instance.exports.__wasm_call_ctors(),e.instance}function Ix(t){let e=new Uint8Array(t.length);for(let n=0;n<t.length;++n){let s=t.charCodeAt(n);e[n]=s>96?s-71:s>64?s-65:s>47?s+4:s>46?63:62}let r=0;for(let n=0;n<t.length;++n)e[r++]=e[n]<60?Sx[e[n]]:(e[n]-60)*64+e[++n];return e.buffer.slice(0,r)}function Fx(t,e,r,n,s,i,o){let a=t.exports.sbrk,c=n+3&-4,l=a(c*s),h=a(i.length),f=new Uint8Array(t.exports.memory.buffer);f.set(i,h);let u=e(l,n,s,h,i.length);if(u===0&&o&&o(l,c,s),r.set(f.subarray(l,l+n*s)),a(l-a(0)),u!==0)throw new Error(`Malformed buffer data: ${u}`)}var yi="EXT_meshopt_compression",Nx=yi;async function Ox(t,e){var r,n;let s=new K(t);if(!(e!=null&&(r=e.gltf)!==null&&r!==void 0&&r.decompressMeshes)||!((n=e.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let i=[];for(let o of t.json.bufferViews||[])i.push(bx(s,o));await Promise.all(i),s.removeExtension(yi)}async function bx(t,e){let r=t.getObjectExtension(e,yi);if(r){let{byteOffset:n=0,byteLength:s=0,byteStride:i,count:o,mode:a,filter:c="NONE",buffer:l}=r,h=t.gltf.buffers[l],f=new Uint8Array(h.arrayBuffer,h.byteOffset+n,s),u=new Uint8Array(t.gltf.buffers[e.buffer].arrayBuffer,e.byteOffset,e.byteLength);await _p(u,o,i,f,a,c),t.removeObjectExtension(e,yi)}}var Mc={};ht(Mc,{name:()=>Px,preprocess:()=>Dx});var Ur="EXT_texture_webp",Px=Ur;function Dx(t,e){let r=new K(t);if(!wo("image/webp")){if(r.getRequiredExtensions().includes(Ur))throw new Error(`gltf: Required extension ${Ur} not supported by browser`);return}let{json:n}=r;for(let s of n.textures||[]){let i=r.getObjectExtension(s,Ur);i&&(s.source=i.source),r.removeObjectExtension(s,Ur)}r.removeExtension(Ur)}var yc={};ht(yc,{name:()=>wx,preprocess:()=>vx});var Ii="KHR_texture_basisu",wx=Ii;function vx(t,e){let r=new K(t),{json:n}=r;for(let s of n.textures||[]){let i=r.getObjectExtension(s,Ii);i&&(s.source=i.source,r.removeObjectExtension(s,Ii))}r.removeExtension(Ii)}var Fc={};ht(Fc,{decode:()=>Xx,encode:()=>Wx,name:()=>Hx,preprocess:()=>Vx});function mp(t){let e={};for(let r in t){let n=t[r];if(r!=="indices"){let s=Ic(n);e[r]=s}}return e}function Ic(t){let{buffer:e,size:r,count:n}=Ux(t);return{value:e,size:r,byteOffset:0,count:n,type:Ri(r),componentType:Or(e)}}function Ux(t){let e=t,r=1,n=0;return t&&t.value&&(e=t.value,r=t.size||1),e&&(ArrayBuffer.isView(e)||(e=Lx(e,Float32Array)),n=e.length/r),{buffer:e,size:r,count:n}}function Lx(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t?Array.isArray(t)?new e(t):r&&!(t instanceof e)?new e(t):t:null}var Oe="KHR_draco_mesh_compression",Hx=Oe;function Vx(t,e,r){let n=new K(t);for(let s of Tp(n))n.getObjectExtension(s,Oe)}async function Xx(t,e,r){var n;if(!(e!=null&&(n=e.gltf)!==null&&n!==void 0&&n.decompressMeshes))return;let s=new K(t),i=[];for(let o of Tp(s))s.getObjectExtension(o,Oe)&&i.push(zx(s,o,e,r));await Promise.all(i),s.removeExtension(Oe)}function Wx(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=new K(t);for(let n of r.json.meshes||[])kx(n,e),r.addRequiredExtension(Oe)}async function zx(t,e,r,n){let s=t.getObjectExtension(e,Oe);if(!s)return;let i=t.getTypedArrayForBufferView(s.bufferView),o=De(i.buffer,i.byteOffset),a={...r};delete a["3d-tiles"];let c=await Ct(o,_i,a,n),l=mp(c.attributes);for(let[h,f]of Object.entries(l))if(h in e.attributes){let u=e.attributes[h],d=t.getAccessor(u);d!=null&&d.min&&d!==null&&d!==void 0&&d.max&&(f.min=d.min,f.max=d.max)}e.attributes=l,c.indices&&(e.indices=Ic(c.indices)),t.removeObjectExtension(e,Oe),Gx(e)}function kx(t,e){var r;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:4,s=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;if(!s.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let o=s.DracoWriter.encodeSync({attributes:t}),a=i==null||(r=i.parseSync)===null||r===void 0?void 0:r.call(i,{attributes:t}),c=s._addFauxAttributes(a.attributes),l=s.addBufferView(o);return{primitives:[{attributes:c,mode:n,extensions:{[Oe]:{bufferView:l,attributes:c}}}]}}function Gx(t){if(!t.attributes&&Object.keys(t.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Tp(t){for(let e of t.json.meshes||[])for(let r of e.primitives)yield r}var Oc={};ht(Oc,{decode:()=>qx,name:()=>Kx});var Nc="KHR_texture_transform",Kx=Nc,Fi=new m,Jx=new z,Yx=new z;async function qx(t,e){var r;if(!new K(t).hasExtension(Nc)||!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.json.materials||[];for(let o=0;o<i.length;o++)jx(o,t)}function jx(t,e){var r,n,s;let i=[],o=(r=e.json.materials)===null||r===void 0?void 0:r[t],a=o==null||(n=o.pbrMetallicRoughness)===null||n===void 0?void 0:n.baseColorTexture;a&&bn(e,t,a,i);let c=o?.emissiveTexture;c&&bn(e,t,c,i);let l=o?.normalTexture;l&&bn(e,t,l,i);let h=o?.occlusionTexture;h&&bn(e,t,h,i);let f=o==null||(s=o.pbrMetallicRoughness)===null||s===void 0?void 0:s.metallicRoughnessTexture;f&&bn(e,t,f,i)}function bn(t,e,r,n){let s=Zx(r,n);if(!s)return;let i=t.json.meshes||[];for(let o of i)for(let a of o.primitives){let c=a.material;Number.isFinite(c)&&e===c&&Qx(t,a,s)}}function Zx(t,e){var r;let n=(r=t.extensions)===null||r===void 0?void 0:r[Nc],{texCoord:s=0}=t,{texCoord:i=s}=n;if(!(e.findIndex(a=>{let[c,l]=a;return c===s&&l===i})!==-1)){let a=eS(n);return s!==i&&(t.texCoord=i),e.push([s,i]),{originalTexCoord:s,texCoord:i,matrix:a}}return null}function Qx(t,e,r){let{originalTexCoord:n,texCoord:s,matrix:i}=r,o=e.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){var a;let l=(a=t.json.accessors)===null||a===void 0?void 0:a[o];if(l&&l.bufferView){var c;let h=(c=t.json.bufferViews)===null||c===void 0?void 0:c[l.bufferView];if(h){let{arrayBuffer:f,byteOffset:u}=t.buffers[h.buffer],d=(u||0)+(l.byteOffset||0)+(h.byteOffset||0),{ArrayType:p,length:_}=br(l,h),A=Ei[l.componentType],T=Ti[l.type],x=h.byteStride||A*T,R=new Float32Array(_);for(let S=0;S<l.count;S++){let B=new p(f,d+S*x,2);Fi.set(B[0],B[1],1),Fi.transformByMatrix3(i),R.set([Fi[0],Fi[1]],S*T)}n===s?$x(l,h,t.buffers,R):tS(s,l,e,t,R)}}}}function $x(t,e,r,n){t.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),e.buffer=r.length-1,e.byteLength=n.buffer.byteLength,e.byteOffset=0,delete e.byteStride}function tS(t,e,r,n,s){n.buffers.push({arrayBuffer:s.buffer,byteOffset:0,byteLength:s.buffer.byteLength});let i=n.json.bufferViews;if(!i)return;i.push({buffer:n.buffers.length-1,byteLength:s.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:i?.length-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),r.attributes[`TEXCOORD_${t}`]=o.length-1)}function eS(t){let{offset:e=[0,0],rotation:r=0,scale:n=[1,1]}=t,s=new z().set(1,0,0,0,1,0,e[0],e[1],1),i=Jx.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=Yx.set(n[0],0,0,0,n[1],0,0,0,1);return s.multiplyRight(i).multiplyRight(o)}var bc={};ht(bc,{decode:()=>nS,encode:()=>sS,name:()=>rS});var er="KHR_lights_punctual",rS=er;async function nS(t){let e=new K(t),{json:r}=e,n=e.getExtension(er);n&&(e.json.lights=n.lights,e.removeExtension(er));for(let s of r.nodes||[]){let i=e.getObjectExtension(s,er);i&&(s.light=i.light),e.removeObjectExtension(s,er)}}async function sS(t){let e=new K(t),{json:r}=e;if(r.lights){let n=e.addExtension(er);at(!n.lights),n.lights=r.lights,delete r.lights}if(e.json.lights){for(let n of e.json.lights){let s=n.node;e.addObjectExtension(s,er,n)}delete e.json.lights}}var Pc={};ht(Pc,{decode:()=>oS,encode:()=>aS,name:()=>iS});var Pn="KHR_materials_unlit",iS=Pn;async function oS(t){let e=new K(t),{json:r}=e;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),e.removeObjectExtension(n,Pn);e.removeExtension(Pn)}function aS(t){let e=new K(t),{json:r}=e;if(e.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,e.addObjectExtension(n,Pn,{}),e.addExtension(Pn))}var Dc={};ht(Dc,{decode:()=>lS,encode:()=>hS,name:()=>cS});var Dn="KHR_techniques_webgl",cS=Dn;async function lS(t){let e=new K(t),{json:r}=e,n=e.getExtension(Dn);if(n){let s=fS(n,e);for(let i of r.materials||[]){let o=e.getObjectExtension(i,Dn);o&&(i.technique=Object.assign({},o,s[o.technique]),i.technique.values=uS(i.technique,e)),e.removeObjectExtension(i,Dn)}e.removeExtension(Dn)}}async function hS(t,e){}function fS(t,e){let{programs:r=[],shaders:n=[],techniques:s=[]}=t,i=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=i.decode(e.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),s.forEach(o=>{o.program=r[o.program]}),s}function uS(t,e){let r=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(n=>{t.uniforms[n].value&&!(n in r)&&(r[n]=t.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=e.getTexture(r[n].index))}),r}var Ep=[mc,gc,Bc,Mc,yc,Fc,bc,Pc,Dc,Oc,Tc];function Rp(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Ep.filter(i=>Sp(i.name,e));for(let i of n){var s;(s=i.preprocess)===null||s===void 0||s.call(i,t,e,r)}}async function xp(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Ep.filter(i=>Sp(i.name,e));for(let i of n){var s;await((s=i.decode)===null||s===void 0?void 0:s.call(i,t,e,r))}}function Sp(t,e){var r;let n=(e==null||(r=e.gltf)===null||r===void 0?void 0:r.excludeExtensions)||{};return!(t in n&&!n[t])}var wc="KHR_binary_glTF";function Cp(t){let e=new K(t),{json:r}=e;for(let n of r.images||[]){let s=e.getObjectExtension(n,wc);s&&Object.assign(n,s),e.removeObjectExtension(n,wc)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,e.removeExtension(wc)}var Bp={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},pS={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},vc=class{constructor(){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}},this.json=void 0}normalize(e,r){this.json=e.json;let n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),Cp(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(let r in Bp)this._convertTopLevelObjectToArray(e,r)}_convertTopLevelObjectToArray(e,r){let n=e[r];if(!(!n||Array.isArray(n))){e[r]=[];for(let s in n){let i=n[s];i.id=i.id||s;let o=e[r].length;e[r].push(i),this.idToIndexMap[r][s]=o}}}_convertObjectIdsToArrayIndices(e){for(let r in Bp)this._convertIdsToIndices(e,r);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(let r of e.textures)this._convertTextureIds(r);for(let r of e.meshes)this._convertMeshIds(r);for(let r of e.nodes)this._convertNodeIds(r);for(let r of e.scenes)this._convertSceneIds(r)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(let r of e.primitives){let{attributes:n,indices:s,material:i}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");s&&(r.indices=this._convertIdToIndex(s,"accessor")),i&&(r.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(r=>this._convertIdToIndex(r,"node"))),e.meshes&&(e.meshes=e.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(e,r){e[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),e[r]=[]);for(let n of e[r])for(let s in n){let i=n[s],o=this._convertIdToIndex(i,s);n[s]=o}}_convertIdToIndex(e,r){let n=pS[r];if(n in this.idToIndexMap){let s=this.idToIndexMap[n][e];if(!Number.isFinite(s))throw new Error(`gltf v1: failed to resolve ${r} with id ${e}`);return s}return e}_updateObjects(e){for(let r of this.json.buffers)delete r.type}_updateMaterial(e){for(let i of e.materials){var r,n,s;i.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=i.values)===null||r===void 0?void 0:r.tex)||((n=i.values)===null||n===void 0?void 0:n.texture2d_0)||((s=i.values)===null||s===void 0?void 0:s.diffuseTex),a=e.textures.findIndex(c=>c.id===o);a!==-1&&(i.pbrMetallicRoughness.baseColorTexture={index:a})}}};function Mp(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new vc().normalize(t,e)}async function yp(t,e){var r,n,s;let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return gS(t,e,i,o),Mp(t,{normalize:o==null||(r=o.gltf)===null||r===void 0?void 0:r.normalize}),Rp(t,o,a),o!=null&&(n=o.gltf)!==null&&n!==void 0&&n.loadBuffers&&t.json.buffers&&await AS(t,o,a),o!=null&&(s=o.gltf)!==null&&s!==void 0&&s.loadImages&&await _S(t,o,a),await xp(t,o,a),t}function gS(t,e,r,n){if(n.uri&&(t.baseUri=n.uri),e instanceof ArrayBuffer&&!gp(e,r,n)&&(e=new TextDecoder().decode(e)),typeof e=="string")t.json=xo(e);else if(e instanceof ArrayBuffer){let o={};r=Ap(o,e,r,n.glb),at(o.type==="glTF",`Invalid GLB magic string ${o.type}`),t._glb=o,t.json=o.json}else at(!1,"GLTF: must be ArrayBuffer or string");let s=t.json.buffers||[];if(t.buffers=new Array(s.length).fill(null),t._glb&&t._glb.header.hasBinChunk){let{binChunks:o}=t._glb;t.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let i=t.json.images||[];t.images=new Array(i.length).fill({})}async function AS(t,e,r){let n=t.json.buffers||[];for(let o=0;o<n.length;++o){let a=n[o];if(a.uri){var s,i;let{fetch:c}=r;at(c);let l=Sc(a.uri,e),h=await(r==null||(s=r.fetch)===null||s===void 0?void 0:s.call(r,l)),f=await(h==null||(i=h.arrayBuffer)===null||i===void 0?void 0:i.call(h));t.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete a.uri}else t.buffers[o]===null&&(t.buffers[o]={arrayBuffer:new ArrayBuffer(a.byteLength),byteOffset:0,byteLength:a.byteLength})}}async function _S(t,e,r){let n=mS(t),s=t.json.images||[],i=[];for(let o of n)i.push(TS(t,s[o],o,e,r));return await Promise.all(i)}function mS(t){let e=new Set,r=t.json.textures||[];for(let n of r)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function TS(t,e,r,n,s){let i;if(e.uri&&!e.hasOwnProperty("bufferView")){let a=Sc(e.uri,n),{fetch:c}=s;i=await(await c(a)).arrayBuffer(),e.bufferView={data:i}}if(Number.isFinite(e.bufferView)){let a=op(t.json,t.buffers,e.bufferView);i=De(a.buffer,a.byteOffset,a.byteLength)}at(i,"glTF image has no data");let o=await Ct(i,[Ee,Wa],{...n,mimeType:e.mimeType,basis:n.basis||{format:Qs()}},s);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),t.images=t.images||[],t.images[r]=o}var rr={name:"glTF",id:"gltf",module:"gltf",version:dp,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:ES,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function ES(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;e={...rr.options,...e},e.gltf={...rr.options.gltf,...e.gltf};let{byteOffset:n=0}=e;return await yp({},t,n,e,r)}var RS={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},xS={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Pt={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},SS={magFilter:Pt.TEXTURE_MAG_FILTER,minFilter:Pt.TEXTURE_MIN_FILTER,wrapS:Pt.TEXTURE_WRAP_S,wrapT:Pt.TEXTURE_WRAP_T},CS={[Pt.TEXTURE_MAG_FILTER]:Pt.LINEAR,[Pt.TEXTURE_MIN_FILTER]:Pt.NEAREST_MIPMAP_LINEAR,[Pt.TEXTURE_WRAP_S]:Pt.REPEAT,[Pt.TEXTURE_WRAP_T]:Pt.REPEAT};function BS(){return{id:"default-sampler",parameters:CS}}function MS(t){return xS[t]}function yS(t){return RS[t]}var Uc=class{constructor(){this.baseUri="",this.jsonUnprocessed=void 0,this.json=void 0,this.buffers=[],this.images=[]}postProcess(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{json:n,buffers:s=[],images:i=[]}=e,{baseUri:o=""}=e;return at(n),this.baseUri=o,this.buffers=s,this.images=i,this.jsonUnprocessed=n,this.json=this._resolveTree(e.json,r),this.json}_resolveTree(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={...e};return this.json=n,e.bufferViews&&(n.bufferViews=e.bufferViews.map((s,i)=>this._resolveBufferView(s,i))),e.images&&(n.images=e.images.map((s,i)=>this._resolveImage(s,i))),e.samplers&&(n.samplers=e.samplers.map((s,i)=>this._resolveSampler(s,i))),e.textures&&(n.textures=e.textures.map((s,i)=>this._resolveTexture(s,i))),e.accessors&&(n.accessors=e.accessors.map((s,i)=>this._resolveAccessor(s,i))),e.materials&&(n.materials=e.materials.map((s,i)=>this._resolveMaterial(s,i))),e.meshes&&(n.meshes=e.meshes.map((s,i)=>this._resolveMesh(s,i))),e.nodes&&(n.nodes=e.nodes.map((s,i)=>this._resolveNode(s,i)),n.nodes=n.nodes.map((s,i)=>this._resolveNodeChildren(s))),e.skins&&(n.skins=e.skins.map((s,i)=>this._resolveSkin(s,i))),e.scenes&&(n.scenes=e.scenes.map((s,i)=>this._resolveScene(s,i))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(e){return this._get(this.json.scenes,e)}getNode(e){return this._get(this.json.nodes,e)}getSkin(e){return this._get(this.json.skins,e)}getMesh(e){return this._get(this.json.meshes,e)}getMaterial(e){return this._get(this.json.materials,e)}getAccessor(e){return this._get(this.json.accessors,e)}getCamera(e){return this._get(this.json.cameras,e)}getTexture(e){return this._get(this.json.textures,e)}getSampler(e){return this._get(this.json.samplers,e)}getImage(e){return this._get(this.json.images,e)}getBufferView(e){return this._get(this.json.bufferViews,e)}getBuffer(e){return this._get(this.json.buffers,e)}_get(e,r){if(typeof r=="object")return r;let n=e&&e[r];return n||console.warn(`glTF file error: Could not find ${e}[${r}]`),n}_resolveScene(e,r){return{...e,id:e.id||`scene-${r}`,nodes:(e.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(e,r){let n={...e,id:e?.id||`node-${r}`};return e.mesh!==void 0&&(n.mesh=this.getMesh(e.mesh)),e.camera!==void 0&&(n.camera=this.getCamera(e.camera)),e.skin!==void 0&&(n.skin=this.getSkin(e.skin)),e.meshes!==void 0&&e.meshes.length&&(n.mesh=e.meshes.reduce((s,i)=>{let o=this.getMesh(i);return s.id=o.id,s.primitives=s.primitives.concat(o.primitives),s},{primitives:[]})),n}_resolveNodeChildren(e){return e.children&&(e.children=e.children.map(r=>this.getNode(r))),e}_resolveSkin(e,r){let n=typeof e.inverseBindMatrices=="number"?this.getAccessor(e.inverseBindMatrices):void 0;return{...e,id:e.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(e,r){let n={...e,id:e.id||`mesh-${r}`,primitives:[]};return e.primitives&&(n.primitives=e.primitives.map(s=>{let i={...s,attributes:{},indices:void 0,material:void 0},o=s.attributes;for(let a in o)i.attributes[a]=this.getAccessor(o[a]);return s.indices!==void 0&&(i.indices=this.getAccessor(s.indices)),s.material!==void 0&&(i.material=this.getMaterial(s.material)),i})),n}_resolveMaterial(e,r){let n={...e,id:e.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let s=n.pbrMetallicRoughness;s.baseColorTexture&&(s.baseColorTexture={...s.baseColorTexture},s.baseColorTexture.texture=this.getTexture(s.baseColorTexture.index)),s.metallicRoughnessTexture&&(s.metallicRoughnessTexture={...s.metallicRoughnessTexture},s.metallicRoughnessTexture.texture=this.getTexture(s.metallicRoughnessTexture.index))}return n}_resolveAccessor(e,r){let n=MS(e.componentType),s=yS(e.type),i=n*s,o={...e,id:e.id||`accessor-${r}`,bytesPerComponent:n,components:s,bytesPerElement:i,value:void 0,bufferView:void 0,sparse:void 0};if(e.bufferView!==void 0&&(o.bufferView=this.getBufferView(e.bufferView)),o.bufferView){let a=o.bufferView.buffer,{ArrayType:c,byteLength:l}=br(o,o.bufferView),h=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+a.byteOffset,f=a.arrayBuffer.slice(h,h+l);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(a,h,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new c(f)}return o}_getValueFromInterleavedBuffer(e,r,n,s,i){let o=new Uint8Array(i*s);for(let a=0;a<i;a++){let c=r+a*n;o.set(new Uint8Array(e.arrayBuffer.slice(c,c+s)),a*s)}return o.buffer}_resolveTexture(e,r){return{...e,id:e.id||`texture-${r}`,sampler:typeof e.sampler=="number"?this.getSampler(e.sampler):BS(),source:typeof e.source=="number"?this.getImage(e.source):void 0}}_resolveSampler(e,r){let n={id:e.id||`sampler-${r}`,...e,parameters:{}};for(let s in n){let i=this._enumSamplerParameter(s);i!==void 0&&(n.parameters[i]=n[s])}return n}_enumSamplerParameter(e){return SS[e]}_resolveImage(e,r){let n={...e,id:e.id||`image-${r}`,image:null,bufferView:e.bufferView!==void 0?this.getBufferView(e.bufferView):void 0},s=this.images[r];return s&&(n.image=s),n}_resolveBufferView(e,r){let n=e.buffer,s=this.buffers[n].arrayBuffer,i=this.buffers[n].byteOffset||0;return e.byteOffset&&(i+=e.byteOffset),{id:`bufferView-${r}`,...e,buffer:this.buffers[n],data:new Uint8Array(s,i,e.byteLength)}}_resolveCamera(e,r){let n={...e,id:e.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function wn(t,e){return new Uc().postProcess(t,e)}var Ni={URI:0,EMBEDDED:1};function Oi(t,e,r,n){t.rotateYtoZ=!0;let s=(t.byteOffset||0)+(t.byteLength||0)-r;if(s===0)throw new Error("glTF byte length must be greater than 0.");return t.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",t.gltfArrayBuffer=De(e,r,s),t.gltfByteOffset=0,t.gltfByteLength=s,r%4===0||console.warn(`${t.type}: embedded glb is not aligned to a 4-byte boundary.`),(t.byteOffset||0)+(t.byteLength||0)}async function bi(t,e,r,n){let s=r?.["3d-tiles"]||{};if(IS(t,e,r),s.loadGLTF){if(!n)return;if(t.gltfUrl){let{fetch:i}=n,o=await i(t.gltfUrl,r);t.gltfArrayBuffer=await o.arrayBuffer(),t.gltfByteOffset=0}if(t.gltfArrayBuffer){let i=await Ct(t.gltfArrayBuffer,rr,r,n);t.gltf=wn(i),t.gpuMemoryUsageInBytes=Nn(t.gltf),delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength}}}function IS(t,e,r){switch(e){case Ni.URI:if(t.gltfArrayBuffer){let n=new Uint8Array(t.gltfArrayBuffer,t.gltfByteOffset),i=new TextDecoder().decode(n);t.gltfUrl=i.replace(/[\s\0]+$/,"")}delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength;break;case Ni.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function Ip(t,e,r,n,s){var i;r=FS(t,e,r,n,s),await bi(t,Ni.EMBEDDED,n,s);let o=t==null||(i=t.gltf)===null||i===void 0?void 0:i.extensions;return o&&o.CESIUM_RTC&&(t.rtcCenter=o.CESIUM_RTC.center),r}function FS(t,e,r,n,s){r=Ne(t,e,r),r=Fr(t,e,r),r=Nr(t,e,r,n),r=Oi(t,e,r,n);let i=new fe(t.featureTableJson,t.featureTableBinary);return t.rtcCenter=i.getGlobalProperty("RTC_CENTER",w.FLOAT,3),r}async function Fp(t,e,r,n,s){return r=NS(t,e,r,n,s),await bi(t,t.gltfFormat||0,n,s),r}function NS(t,e,r,n,s){var i;if(r=Ne(t,e,r),t.version!==1)throw new Error(`Instanced 3D Model version ${t.version} is not supported`);r=Fr(t,e,r);let o=new DataView(e);if(t.gltfFormat=o.getUint32(r,!0),r+=4,r=Nr(t,e,r,n),r=Oi(t,e,r,n),!(t!=null&&(i=t.header)!==null&&i!==void 0&&i.featureTableJsonByteLength)||t.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let a=new fe(t.featureTableJson,t.featureTableBinary),c=a.getGlobalProperty("INSTANCES_LENGTH");if(a.featuresLength=c,!Number.isFinite(c))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");t.eastNorthUp=a.getGlobalProperty("EAST_NORTH_UP"),t.rtcCenter=a.getGlobalProperty("RTC_CENTER",w.FLOAT,3);let l=new tr(t.batchTableJson,t.batchTableBinary,c);return OS(t,a,l,c),r}function OS(t,e,r,n){let s=new Array(n),i=new m,o=new m,a=new m,c=new m,l=new z,h=new Zt,f=new m,u={},d=new D,p=[],_=[],A=[],T=[];for(let x=0;x<n;x++){let R;if(e.hasProperty("POSITION"))R=e.getProperty("POSITION",w.FLOAT,3,x,i);else if(e.hasProperty("POSITION_QUANTIZED")){R=e.getProperty("POSITION_QUANTIZED",w.UNSIGNED_SHORT,3,x,i);let g=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",w.FLOAT,3);if(!g)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let y=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",w.FLOAT,3);if(!y)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let O=65535;for(let b=0;b<3;b++)R[b]=R[b]/O*y[b]+g[b]}if(!R)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");i.copy(R),u.translation=i,t.normalUp=e.getProperty("NORMAL_UP",w.FLOAT,3,x,p),t.normalRight=e.getProperty("NORMAL_RIGHT",w.FLOAT,3,x,_);let S=!1;if(t.normalUp){if(!t.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");t.hasCustomOrientation=!0}else{if(t.octNormalUp=e.getProperty("NORMAL_UP_OCT32P",w.UNSIGNED_SHORT,2,x,p),t.octNormalRight=e.getProperty("NORMAL_RIGHT_OCT32P",w.UNSIGNED_SHORT,2,x,_),t.octNormalUp)throw t.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");t.eastNorthUp?(L.WGS84.eastNorthUpToFixedFrame(i,d),d.getRotationMatrix3(l)):l.identity()}S&&(c.copy(o).cross(a).normalize(),l.setColumn(0,o),l.setColumn(1,a),l.setColumn(2,c)),h.fromMatrix3(l),u.rotation=h,f.set(1,1,1);let B=e.getProperty("SCALE",w.FLOAT,1,x,A);Number.isFinite(B)&&f.multiplyByScalar(B);let M=e.getProperty("SCALE_NON_UNIFORM",w.FLOAT,3,x,p);M&&f.scale(M),u.scale=f;let F=e.getProperty("BATCH_ID",w.UNSIGNED_SHORT,1,x,T);F===void 0&&(F=x);let C=new D().fromQuaternion(u.rotation);d.identity(),d.translate(u.translation),d.multiplyRight(C),d.scale(u.scale);let E=d.clone();s[x]={modelMatrix:E,batchId:F}}t.instances=s}async function Np(t,e,r,n,s,i){r=Ne(t,e,r);let o=new DataView(e);for(t.tilesLength=o.getUint32(r,!0),r+=4,t.tiles=[];t.tiles.length<t.tilesLength&&(t.byteLength||0)-r>12;){let a={shape:"tile3d"};t.tiles.push(a),r=await i(e,r,n,s,a)}return r}async function Op(t,e,r,n){var s,i;if(t.rotateYtoZ=!0,t.gltfUpAxis=r!=null&&(s=r["3d-tiles"])!==null&&s!==void 0&&s.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r!=null&&(i=r["3d-tiles"])!==null&&i!==void 0&&i.loadGLTF){if(!n)return e.byteLength;let o=await Ct(e,rr,r,n);t.gltf=wn(o),t.gpuMemoryUsageInBytes=Nn(t.gltf)}else t.gltfArrayBuffer=e;return e.byteLength}async function Lc(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{shape:"tile3d"};switch(s.byteOffset=e,s.type=Ud(t,e),s.type){case Qe.COMPOSITE:return await Np(s,t,e,r,n,Lc);case Qe.BATCHED_3D_MODEL:return await Ip(s,t,e,r,n);case Qe.GLTF:return await Op(s,t,r,n);case Qe.INSTANCED_3D_MODEL:return await Fp(s,t,e,r,n);case Qe.POINT_CLOUD:return await sp(s,t,e,r,n);default:throw new Error(`3DTileLoader: unknown type ${s.type}`)}}async function Hc(t,e,r){if(new Uint32Array(t.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(t.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let i=bp(t.slice(8,16)),o=new Uint8Array(t,24,i),c=new TextDecoder("utf8").decode(o),l=JSON.parse(c),h=bp(t.slice(16,24)),f=new ArrayBuffer(0);if(h&&(f=t.slice(24+i)),await Pi(l,l.tileAvailability,f,r),Array.isArray(l.contentAvailability))for(let u of l.contentAvailability)await Pi(l,u,f,r);else await Pi(l,l.contentAvailability,f,r);return await Pi(l,l.childSubtreeAvailability,f,r),l}async function Pi(t,e,r,n){let s=Number.isFinite(e.bitstream)?e.bitstream:e.bufferView;if(typeof s!="number")return;let i=t.bufferViews[s],o=t.buffers[i.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let c=`${n?.baseUrl||""}/${o.uri}`,h=await(await n.fetch(c)).arrayBuffer();e.explicitBitstream=new Uint8Array(h,i.byteOffset,i.byteLength);return}let a=t.buffers.slice(0,i.buffer).reduce((c,l)=>c+l.byteLength,0);e.explicitBitstream=new Uint8Array(r.slice(a,a+o.byteLength),i.byteOffset,i.byteLength)}function bp(t){let e=new DataView(t),r=e.getUint32(0,!0),n=e.getUint32(4,!0);return r+2**32*n}var Di={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Ai,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:Hc,options:{}};var lg=v(Cr(),1);var ig=v(Cr(),1);function bS(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var wi=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=bS(n),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function Pp(t){let e;return t<10?e="".concat(t.toFixed(2),"ms"):t<100?e="".concat(t.toFixed(1),"ms"):t<1e3?e="".concat(t.toFixed(0),"ms"):e="".concat((t/1e3).toFixed(2),"s"),e}function Dp(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(e-t.length,0);return"".concat(" ".repeat(r)).concat(t)}function vi(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>n&&(r=Math.min(r,n/t.width));let i=t.width*r,o=t.height*r,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(i/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(s,");"),"background-size:".concat(i,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}var Ui;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Ui||(Ui={}));var PS=10;function wp(t){return typeof t!="string"?t:(t=t.toUpperCase(),Ui[t]||Ui.WHITE)}function vp(t,e,r){if(!Wt&&typeof t=="string"){if(e){let n=wp(e);t="\x1B[".concat(n,"m").concat(t,"\x1B[39m")}if(r){let n=wp(r);t="\x1B[".concat(n+PS,"m").concat(t,"\x1B[49m")}}return t}function Up(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(r),s=t;for(let i of n){let o=s[i];typeof o=="function"&&(e.find(a=>i===a)||(s[i]=o.bind(t)))}}function Lr(t,e){if(!t)throw new Error(e||"Assertion failed")}function nr(){let t;if(Wt()&&xr.performance){var e,r;t=xr===null||xr===void 0||(e=xr.performance)===null||e===void 0||(r=e.now)===null||r===void 0?void 0:r.call(e)}else if("hrtime"in Ye){var n;let s=Ye===null||Ye===void 0||(n=Ye.hrtime)===null||n===void 0?void 0:n.call(Ye);t=s[0]*1e3+s[1]/1e6}else t=Date.now();return t}var Hr={debug:Wt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},DS={enabled:!0,level:0};function Dt(){}var Lp={},Hp={once:!0},vn=class{constructor(){let{id:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=$s,this._startTs=nr(),this._deltaTs=nr(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new wi("__probe-".concat(this.id,"__"),DS),this.timeStamp("".concat(this.id," started")),Up(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((nr()-this._startTs).toPrecision(10))}getDelta(){return Number((nr()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,r){this._storage.setConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){Lr(e,r)}warn(e){return this._getLogFunction(0,e,Hr.warn,arguments,Hp)}error(e){return this._getLogFunction(0,e,Hr.error,arguments)}deprecated(e,r){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(e,r){return this.error("`".concat(e,"` has been removed. Use `").concat(r,"` instead"))}probe(e,r){return this._getLogFunction(e,r,Hr.log,arguments,{time:!0,once:!0})}log(e,r){return this._getLogFunction(e,r,Hr.debug,arguments)}info(e,r){return this._getLogFunction(e,r,console.info,arguments)}once(e,r){return this._getLogFunction(e,r,Hr.debug||Hr.info,arguments,Hp)}table(e,r,n){return r?this._getLogFunction(e,r,console.table||Dt,n&&[n],{tag:LS(r)}):Dt}image(e){let{logLevel:r,priority:n,image:s,message:i="",scale:o=1}=e;return this._shouldLog(r||n)?Wt()?US({image:s,message:i,scale:o}):vS({image:s,message:i,scale:o}):Dt}time(e,r){return this._getLogFunction(e,r,console.time?console.time:console.info)}timeEnd(e,r){return this._getLogFunction(e,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,r){return this._getLogFunction(e,r,console.timeStamp||Dt)}group(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=Vp({logLevel:e,message:r,opts:n}),{collapsed:i}=n;return s.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(e,r,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||Dt)}withGroup(e,r,n){this.group(e,r)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=Xp(e)}_getLogFunction(e,r,n,s,i){if(this._shouldLog(e)){i=Vp({logLevel:e,message:r,args:s,opts:i}),n=n||i.method,Lr(n),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=nr();let o=i.tag||i.message;if(i.once&&o)if(!Lp[o])Lp[o]=nr();else return Dt;return r=wS(this.id,i.message,i),n.bind(console,r,...i.args)}return Dt}};vn.VERSION=$s;function Xp(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Lr(Number.isFinite(e)&&e>=0),e}function Vp(t){let{logLevel:e,message:r}=t;t.logLevel=Xp(e);let n=t.args?Array.from(t.args):[];for(;n.length&&n.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&n.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let s=typeof t.message;return Lr(s==="string"||s==="object"),Object.assign(t,{args:n},t.opts)}function wS(t,e,r){if(typeof e=="string"){let n=r.time?Dp(Pp(r.total)):"";e=r.time?"".concat(t,": ").concat(n," ").concat(e):"".concat(t,": ").concat(e),e=vp(e,r.color,r.background)}return e}function vS(t){let{image:e,message:r="",scale:n=1}=t;return console.warn("removed"),Dt}function US(t){let{image:e,message:r="",scale:n=1}=t;if(typeof e=="string"){let i=new Image;return i.onload=()=>{let o=vi(i,r,n);console.log(...o)},i.src=e,Dt}let s=e.nodeName||"";if(s.toLowerCase()==="img")return console.log(...vi(e,r,n)),Dt;if(s.toLowerCase()==="canvas"){let i=new Image;return i.onload=()=>console.log(...vi(i,r,n)),i.src=e.toDataURL(),Dt}return Dt}function LS(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}var Vc=new vn({id:"@probe.gl/log"});var wt=null;try{wt=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Z(t,e,r){this.low=t|0,this.high=e|0,this.unsigned=!!r}Z.prototype.__isLong__;Object.defineProperty(Z.prototype,"__isLong__",{value:!0});function pt(t){return(t&&t.__isLong__)===!0}function Wp(t){var e=Math.clz32(t&-t);return t?31-e:e}Z.isLong=pt;var zp={},kp={};function sr(t,e){var r,n,s;return e?(t>>>=0,(s=0<=t&&t<256)&&(n=kp[t],n)?n:(r=X(t,0,!0),s&&(kp[t]=r),r)):(t|=0,(s=-128<=t&&t<128)&&(n=zp[t],n)?n:(r=X(t,t<0?-1:0,!1),s&&(zp[t]=r),r))}Z.fromInt=sr;function vt(t,e){if(isNaN(t))return e?ue:kt;if(e){if(t<0)return ue;if(t>=Yp)return Zp}else{if(t<=-Kp)return St;if(t+1>=Kp)return jp}return t<0?vt(-t,e).neg():X(t%Xr|0,t/Xr|0,e)}Z.fromNumber=vt;function X(t,e,r){return new Z(t,e,r)}Z.fromBits=X;var Li=Math.pow;function Wc(t,e,r){if(t.length===0)throw Error("empty string");if(typeof e=="number"?(r=e,e=!1):e=!!e,t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return e?ue:kt;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=t.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return Wc(t.substring(1),e,r).neg();for(var s=vt(Li(r,8)),i=kt,o=0;o<t.length;o+=8){var a=Math.min(8,t.length-o),c=parseInt(t.substring(o,o+a),r);if(a<8){var l=vt(Li(r,a));i=i.mul(l).add(vt(c))}else i=i.mul(s),i=i.add(vt(c))}return i.unsigned=e,i}Z.fromString=Wc;function Gt(t,e){return typeof t=="number"?vt(t,e):typeof t=="string"?Wc(t,e):X(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}Z.fromValue=Gt;var Gp=1<<16,HS=1<<24,Xr=Gp*Gp,Yp=Xr*Xr,Kp=Yp/2,Jp=sr(HS),kt=sr(0);Z.ZERO=kt;var ue=sr(0,!0);Z.UZERO=ue;var Vr=sr(1);Z.ONE=Vr;var qp=sr(1,!0);Z.UONE=qp;var Xc=sr(-1);Z.NEG_ONE=Xc;var jp=X(-1,2147483647,!1);Z.MAX_VALUE=jp;var Zp=X(-1,-1,!0);Z.MAX_UNSIGNED_VALUE=Zp;var St=X(0,-2147483648,!1);Z.MIN_VALUE=St;var I=Z.prototype;I.toInt=function(){return this.unsigned?this.low>>>0:this.low};I.toNumber=function(){return this.unsigned?(this.high>>>0)*Xr+(this.low>>>0):this.high*Xr+(this.low>>>0)};I.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(St)){var r=vt(e),n=this.div(r),s=n.mul(r).sub(this);return n.toString(e)+s.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var i=vt(Li(e,6),this.unsigned),o=this,a="";;){var c=o.div(i),l=o.sub(c.mul(i)).toInt()>>>0,h=l.toString(e);if(o=c,o.isZero())return h+a;for(;h.length<6;)h="0"+h;a=""+h+a}};I.getHighBits=function(){return this.high};I.getHighBitsUnsigned=function(){return this.high>>>0};I.getLowBits=function(){return this.low};I.getLowBitsUnsigned=function(){return this.low>>>0};I.getNumBitsAbs=function(){if(this.isNegative())return this.eq(St)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,r=31;r>0&&!(e&1<<r);r--);return this.high!=0?r+33:r+1};I.isZero=function(){return this.high===0&&this.low===0};I.eqz=I.isZero;I.isNegative=function(){return!this.unsigned&&this.high<0};I.isPositive=function(){return this.unsigned||this.high>=0};I.isOdd=function(){return(this.low&1)===1};I.isEven=function(){return(this.low&1)===0};I.equals=function(e){return pt(e)||(e=Gt(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};I.eq=I.equals;I.notEquals=function(e){return!this.eq(e)};I.neq=I.notEquals;I.ne=I.notEquals;I.lessThan=function(e){return this.comp(e)<0};I.lt=I.lessThan;I.lessThanOrEqual=function(e){return this.comp(e)<=0};I.lte=I.lessThanOrEqual;I.le=I.lessThanOrEqual;I.greaterThan=function(e){return this.comp(e)>0};I.gt=I.greaterThan;I.greaterThanOrEqual=function(e){return this.comp(e)>=0};I.gte=I.greaterThanOrEqual;I.ge=I.greaterThanOrEqual;I.compare=function(e){if(pt(e)||(e=Gt(e)),this.eq(e))return 0;var r=this.isNegative(),n=e.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};I.comp=I.compare;I.negate=function(){return!this.unsigned&&this.eq(St)?St:this.not().add(Vr)};I.neg=I.negate;I.add=function(e){pt(e)||(e=Gt(e));var r=this.high>>>16,n=this.high&65535,s=this.low>>>16,i=this.low&65535,o=e.high>>>16,a=e.high&65535,c=e.low>>>16,l=e.low&65535,h=0,f=0,u=0,d=0;return d+=i+l,u+=d>>>16,d&=65535,u+=s+c,f+=u>>>16,u&=65535,f+=n+a,h+=f>>>16,f&=65535,h+=r+o,h&=65535,X(u<<16|d,h<<16|f,this.unsigned)};I.subtract=function(e){return pt(e)||(e=Gt(e)),this.add(e.neg())};I.sub=I.subtract;I.multiply=function(e){if(this.isZero())return this;if(pt(e)||(e=Gt(e)),wt){var r=wt.mul(this.low,this.high,e.low,e.high);return X(r,wt.get_high(),this.unsigned)}if(e.isZero())return this.unsigned?ue:kt;if(this.eq(St))return e.isOdd()?St:kt;if(e.eq(St))return this.isOdd()?St:kt;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Jp)&&e.lt(Jp))return vt(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,s=this.high&65535,i=this.low>>>16,o=this.low&65535,a=e.high>>>16,c=e.high&65535,l=e.low>>>16,h=e.low&65535,f=0,u=0,d=0,p=0;return p+=o*h,d+=p>>>16,p&=65535,d+=i*h,u+=d>>>16,d&=65535,d+=o*l,u+=d>>>16,d&=65535,u+=s*h,f+=u>>>16,u&=65535,u+=i*l,f+=u>>>16,u&=65535,u+=o*c,f+=u>>>16,u&=65535,f+=n*h+s*l+i*c+o*a,f&=65535,X(d<<16|p,f<<16|u,this.unsigned)};I.mul=I.multiply;I.divide=function(e){if(pt(e)||(e=Gt(e)),e.isZero())throw Error("division by zero");if(wt){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var r=(this.unsigned?wt.div_u:wt.div_s)(this.low,this.high,e.low,e.high);return X(r,wt.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?ue:kt;var n,s,i;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return ue;if(e.gt(this.shru(1)))return qp;i=ue}else{if(this.eq(St)){if(e.eq(Vr)||e.eq(Xc))return St;if(e.eq(St))return Vr;var o=this.shr(1);return n=o.div(e).shl(1),n.eq(kt)?e.isNegative()?Vr:Xc:(s=this.sub(e.mul(n)),i=n.add(s.div(e)),i)}else if(e.eq(St))return this.unsigned?ue:kt;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();i=kt}for(s=this;s.gte(e);){n=Math.max(1,Math.floor(s.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),c=a<=48?1:Li(2,a-48),l=vt(n),h=l.mul(e);h.isNegative()||h.gt(s);)n-=c,l=vt(n,this.unsigned),h=l.mul(e);l.isZero()&&(l=Vr),i=i.add(l),s=s.sub(h)}return i};I.div=I.divide;I.modulo=function(e){if(pt(e)||(e=Gt(e)),wt){var r=(this.unsigned?wt.rem_u:wt.rem_s)(this.low,this.high,e.low,e.high);return X(r,wt.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};I.mod=I.modulo;I.rem=I.modulo;I.not=function(){return X(~this.low,~this.high,this.unsigned)};I.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};I.clz=I.countLeadingZeros;I.countTrailingZeros=function(){return this.low?Wp(this.low):Wp(this.high)+32};I.ctz=I.countTrailingZeros;I.and=function(e){return pt(e)||(e=Gt(e)),X(this.low&e.low,this.high&e.high,this.unsigned)};I.or=function(e){return pt(e)||(e=Gt(e)),X(this.low|e.low,this.high|e.high,this.unsigned)};I.xor=function(e){return pt(e)||(e=Gt(e)),X(this.low^e.low,this.high^e.high,this.unsigned)};I.shiftLeft=function(e){return pt(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?X(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):X(0,this.low<<e-32,this.unsigned)};I.shl=I.shiftLeft;I.shiftRight=function(e){return pt(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?X(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):X(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};I.shr=I.shiftRight;I.shiftRightUnsigned=function(e){return pt(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?X(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):e===32?X(this.high,0,this.unsigned):X(this.high>>>e-32,0,this.unsigned)};I.shru=I.shiftRightUnsigned;I.shr_u=I.shiftRightUnsigned;I.rotateLeft=function(e){var r;return pt(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?X(this.high,this.low,this.unsigned):e<32?(r=32-e,X(this.low<<e|this.high>>>r,this.high<<e|this.low>>>r,this.unsigned)):(e-=32,r=32-e,X(this.high<<e|this.low>>>r,this.low<<e|this.high>>>r,this.unsigned))};I.rotl=I.rotateLeft;I.rotateRight=function(e){var r;return pt(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?X(this.high,this.low,this.unsigned):e<32?(r=32-e,X(this.high<<r|this.low>>>e,this.low<<r|this.high>>>e,this.unsigned)):(e-=32,r=32-e,X(this.low<<r|this.high>>>e,this.high<<r|this.low>>>e,this.unsigned))};I.rotr=I.rotateRight;I.toSigned=function(){return this.unsigned?X(this.low,this.high,!1):this};I.toUnsigned=function(){return this.unsigned?this:X(this.low,this.high,!0)};I.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};I.toBytesLE=function(){var e=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};I.toBytesBE=function(){var e=this.high,r=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Z.fromBytes=function(e,r,n){return n?Z.fromBytesLE(e,r):Z.fromBytesBE(e,r)};Z.fromBytesLE=function(e,r){return new Z(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,r)};Z.fromBytesBE=function(e,r){return new Z(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],r)};var Wr=Z;var VS=16;function Un(t){t==="X"&&(t="");let e=t.padEnd(VS,"0");return Wr.fromString(e,!0,16)}function zc(t){if(t.isZero())return"X";let e=t.countTrailingZeros(),r=e%4;e=(e-r)/4;let n=e;e*=4;let i=t.shiftRightUnsigned(e).toString(16).replace(/0+$/,"");return Array(17-n-i.length).join("0")+i}function kc(t,e){let r=XS(t).shiftRightUnsigned(2);return t.add(Wr.fromNumber(2*e+1-4).multiply(r))}function XS(t){return t.and(t.not().add(1))}var WS=3,zS=30,kS=2*zS+1,Qp=180/Math.PI;function tg(t){if(t.length===0)throw new Error(`Invalid Hilbert quad key ${t}`);let e=t.split("/"),r=parseInt(e[0],10),n=e[1],s=n.length,i=0,o=[0,0];for(let a=s-1;a>=0;a--){i=s-a;let c=n[a],l=0,h=0;c==="1"?h=1:c==="2"?(l=1,h=1):c==="3"&&(l=1);let f=Math.pow(2,i-1);GS(f,o,l,h),o[0]+=f*l,o[1]+=f*h}if(r%2===1){let a=o[0];o[0]=o[1],o[1]=a}return{face:r,ij:o,level:i}}function eg(t){if(t.isZero())return"";let e=t.toString(2);for(;e.length<WS+kS;)e="0"+e;let r=e.lastIndexOf("1"),n=e.substring(0,3),s=e.substring(3,r),i=s.length/2,o=Wr.fromString(n,!0,2).toString(10),a="";if(i!==0)for(a=Wr.fromString(s,!0,2).toString(4);a.length<i;)a="0"+a;return`${o}/${a}`}function Gc(t,e,r){let n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function $p(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function Kc(t){return[$p(t[0]),$p(t[1])]}function Jc(t,e){let[r,n]=e;switch(t){case 0:return[1,r,n];case 1:return[-r,1,n];case 2:return[-r,-n,1];case 3:return[-1,-n,-r];case 4:return[n,-1,-r];case 5:return[n,r,-1];default:throw new Error("Invalid face")}}function Yc(t){let[e,r,n]=t,s=Math.atan2(n,Math.sqrt(e*e+r*r));return[Math.atan2(r,e)*Qp,s*Qp]}function GS(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let s=e[0];e[0]=e[1],e[1]=s}}function rg(t){let e=Gc(t.ij,t.level,[.5,.5]),r=Kc(e),n=Jc(t.face,r);return Yc(n)}var KS=100;function qc(t){let{face:e,ij:r,level:n}=t,s=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(KS*Math.pow(2,-n))),o=new Float64Array(4*i*2+2),a=0,c=0;for(let l=0;l<4;l++){let h=s[l].slice(0),f=s[l+1],u=(f[0]-h[0])/i,d=(f[1]-h[1])/i;for(let p=0;p<i;p++){h[0]+=u,h[1]+=d;let _=Gc(r,n,h),A=Kc(_),T=Jc(e,A),x=Yc(T);Math.abs(x[1])>89.999&&(x[0]=c);let R=x[0]-c;x[0]+=R>180?-360:R<-180?360:0,o[a++]=x[0],o[a++]=x[1],c=x[0]}}return o[a++]=o[0],o[a++]=o[1],o}function zr(t){let e=JS(t);return tg(e)}function JS(t){if(t.indexOf("/")>0)return t;let e=Un(t);return eg(e)}function jc(t){let e=zr(t);return rg(e)}function sg(t){let e;if(t.face===2||t.face===5){let r=null,n=0;for(let s=0;s<4;s++){let i=`${t.face}/${s}`,o=zr(i),a=qc(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}e=ng(r)}else{let r=qc(t);e=ng(r)}return e}function ng(t){if(t.length%2!==0)throw new Error("Invalid corners");let e=[],r=[];for(let n=0;n<t.length;n+=2)e.push(t[n]),r.push(t[n+1]);return e.sort((n,s)=>n-s),r.sort((n,s)=>n-s),{west:e[0],east:e[e.length-1],north:r[r.length-1],south:r[0]}}function Zc(t,e){let r=e?.minimumHeight||0,n=e?.maximumHeight||0,s=zr(t),i=sg(s),o=i.west,a=i.south,c=i.east,l=i.north,h=[];return h.push(new m(o,l,r)),h.push(new m(c,l,r)),h.push(new m(c,a,r)),h.push(new m(o,a,r)),h.push(new m(o,l,n)),h.push(new m(c,l,n)),h.push(new m(c,a,n)),h.push(new m(o,a,n)),h}function Hi(t){let e=t.token,r={minimumHeight:t.minimumHeight,maximumHeight:t.maximumHeight},n=Zc(e,r),s=jc(e),i=s[0],o=s[1],a=L.WGS84.cartographicToCartesian([i,o,r.maximumHeight]),c=new m(a[0],a[1],a[2]);n.push(c);let l=An(n);return[...l.center,...l.halfAxes]}var YS=4,qS=8,jS={QUADTREE:YS,OCTREE:qS};function ZS(t,e,r){if(t!=null&&t.box){let n=Un(t.s2VolumeInfo.token),s=kc(n,e),i=zc(s),o={...t.s2VolumeInfo};switch(o.token=i,r){case"OCTREE":let l=t.s2VolumeInfo,h=l.maximumHeight-l.minimumHeight,f=h/2,u=l.minimumHeight+h/2;l.minimumHeight=u-f,l.maximumHeight=u+f;break;default:break}return{box:Hi(o),s2VolumeInfo:o}}}async function $c(t){let{implicitOptions:e,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:s,loaderOptions:i}=t,{subtree:o,level:a=0,globalData:c={level:0,mortonIndex:0,x:0,y:0,z:0}}=t,{subdivisionScheme:l,subtreeLevels:h,maximumLevel:f,contentUrlTemplate:u,subtreesUriTemplate:d,basePath:p}=e,_={children:[],lodMetricValue:0,contentUrl:""};if(!f)return Vc.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${u} won't be loaded...`),_;let A=a+c.level;if(A>f)return _;let T=jS[l],x=Math.log2(T),R=n&1,S=n>>1&1,B=n>>2&1,M=(T**a-1)/(T-1),F=ir(r.mortonIndex,n,x),C=M+F,E=ir(r.x,R,1),g=ir(r.y,S,1),y=ir(r.z,B,1),O=!1;a>=h&&(O=Qc(o.childSubtreeAvailability,F));let b=ir(c.x,E,a),N=ir(c.y,g,a),U=ir(c.z,y,a);if(O){let q=`${p}/${d}`,tt=Vi(q,A,b,N,U);o=await(0,ig.load)(tt,Di,i),c={mortonIndex:F,x:E,y:g,z:y,level:a},F=0,C=0,E=0,g=0,y=0,a=0}if(!Qc(o.tileAvailability,C))return _;Qc(o.contentAvailability,C)&&(_.contentUrl=Vi(u,A,b,N,U));let Q=a+1,J={mortonIndex:F,x:E,y:g,z:y};for(let q=0;q<T;q++){let tt=ZS(s,q,l),mt=await $c({subtree:o,implicitOptions:e,loaderOptions:i,parentData:J,childIndex:q,level:Q,globalData:{...c},s2VolumeBox:tt});if(mt.contentUrl||mt.children.length){let o0=A+1,a0=QS(mt,o0,{childTileX:E,childTileY:g,childTileZ:y},e,s);_.children.push(a0)}}return _}function Qc(t,e){let r;return Array.isArray(t)?(r=t[0],t.length>1&&Vc.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=t,"constant"in r?Boolean(r.constant):r.explicitBitstream?eC(e,r.explicitBitstream):!1}function QS(t,e,r,n,s){let{basePath:i,refine:o,getRefine:a,lodMetricType:c,getTileType:l,rootLodMetricValue:h,rootBoundingVolume:f}=n,u=t.contentUrl&&t.contentUrl.replace(`${i}/`,""),d=h/2**e,p=s!=null&&s.box?{box:s.box}:f,_=$S(e,p,r);return{children:t.children,contentUrl:t.contentUrl,content:{uri:u},id:t.contentUrl,refine:a(o),type:l(t),lodMetricType:c,lodMetricValue:d,geometricError:d,transform:t.transform,boundingVolume:_}}function $S(t,e,r){if(e.region){let{childTileX:n,childTileY:s,childTileZ:i}=r,[o,a,c,l,h,f]=e.region,u=2**t,d=(c-o)/u,p=(l-a)/u,_=(f-h)/u,[A,T]=[o+d*n,o+d*(n+1)],[x,R]=[a+p*s,a+p*(s+1)],[S,B]=[h+_*i,h+_*(i+1)];return{region:[A,x,T,R,S,B]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${e}`)}function ir(t,e,r){return(t<<r)+e}function Vi(t,e,r,n,s){let i=tC({level:e,x:r,y:n,z:s});return t.replace(/{level}|{x}|{y}|{z}/gi,o=>i[o])}function tC(t){let e={};for(let r in t)e[`{${r}}`]=t[r];return e}function eC(t,e){let r=Math.floor(t/8),n=t%8;return(e[r]>>n&1)===1}function el(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(!e)return re.EMPTY;let n=e.split("?")[0].split(".").pop();switch(n){case"pnts":return re.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return re.SCENEGRAPH;default:return n||re.EMPTY}}function rl(t){switch(t){case"REPLACE":case"replace":return Et.REPLACE;case"ADD":case"add":return Et.ADD;default:return t}}function tl(t,e){if(/^[a-z][0-9a-z+.-]*:/i.test(e)){let n=new URL(t,`${e}/`);return decodeURI(n.toString())}else if(t.startsWith("/"))return t;return Te.resolve(e,t)}function og(t,e){if(!t)return null;let r;if(t.content){var n;let i=t.content.uri||((n=t.content)===null||n===void 0?void 0:n.url);typeof i<"u"&&(r=tl(i,e))}return{...t,id:r,contentUrl:r,lodMetricType:qe.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:el(t,r),refine:rl(t.refine)}}async function hg(t,e,r){let n=null,s=cg(t.root);s&&t.root?n=await ag(t.root,t,e,s,r):n=og(t.root,e);let i=[];for(i.push(n);i.length>0;){let o=i.pop()||{},a=o.children||[],c=[];for(let l of a){let h=cg(l),f;h?f=await ag(l,t,e,h,r):f=og(l,e),f&&(c.push(f),i.push(f))}o.children=c}return n}async function ag(t,e,r,n,s){var i,o,a;let{subdivisionScheme:c,maximumLevel:l,availableLevels:h,subtreeLevels:f,subtrees:{uri:u}}=n,d=Vi(u,0,0,0,0),p=tl(d,r),_=await(0,lg.load)(p,Di,s),A=(i=t.content)===null||i===void 0?void 0:i.uri,T=A?tl(A,r):"",x=e==null||(o=e.root)===null||o===void 0?void 0:o.refine,R=t.geometricError,S=(a=t.boundingVolume.extensions)===null||a===void 0?void 0:a["3DTILES_bounding_volume_S2"];if(S){let C={box:Hi(S),s2VolumeInfo:S};t.boundingVolume=C}let B=t.boundingVolume,M={contentUrlTemplate:T,subtreesUriTemplate:u,subdivisionScheme:c,subtreeLevels:f,maximumLevel:Number.isFinite(h)?h-1:l,refine:x,basePath:r,lodMetricType:qe.GEOMETRIC_ERROR,rootLodMetricValue:R,rootBoundingVolume:B,getTileType:el,getRefine:rl};return await rC(t,r,_,M,s)}async function rC(t,e,r,n,s){if(!t)return null;let{children:i,contentUrl:o}=await $c({subtree:r,implicitOptions:n,loaderOptions:s}),a,c=null;return o&&(a=o,c={uri:o.replace(`${e}/`,"")}),{...t,id:a,contentUrl:a,lodMetricType:qe.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:el(t,a),refine:rl(t.refine),content:c||t.content,children:i}}function cg(t){var e;return(t==null||(e=t.extensions)===null||e===void 0?void 0:e["3DTILES_implicit_tiling"])||t?.implicitTiling}var Xi={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Ai,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:nC,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function nC(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=e["3d-tiles"]||{},s;return n.isTileset==="auto"?s=r?.url&&r.url.indexOf(".json")!==-1:s=n.isTileset,s?sC(t,e,r):iC(t,e,r)}async function sC(t,e,r){var n;let s=JSON.parse(new TextDecoder().decode(t)),i=r?.url||"",o=oC(i),a=await hg(s,o,e||{});return{...s,shape:"tileset3d",loader:Xi,url:i,queryString:r?.queryString||"",basePath:o,root:a||s.root,type:ft.TILES3D,lodMetricType:qe.GEOMETRIC_ERROR,lodMetricValue:((n=s.root)===null||n===void 0?void 0:n.geometricError)||0}}async function iC(t,e,r){let n={content:{shape:"tile3d",featureIds:null}};return await Lc(t,0,e,r,n.content),n.content}function oC(t){return Te.dirname(t)}var fg=[0],aC={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:"",loader:Xi,onTilesetLoad:{type:"function",value:t=>{}},onTileLoad:{type:"function",value:t=>{}},onTileUnload:{type:"function",value:t=>{}},onTileError:{type:"function",value:(t,e,r)=>{}},_getMeshColor:{type:"function",value:t=>[255,255,255]}},Wi=class extends be.CompositeLayer{initializeState(){"onTileLoadFail"in this.props&&be.log.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}}get isLoaded(){return Boolean(this.state?.tileset3d?.isLoaded()&&super.isLoaded)}shouldUpdateState({changeFlags:e}){return e.somethingChanged}updateState({props:e,oldProps:r,changeFlags:n}){if(e.data&&e.data!==r.data&&this._loadTileset(e.data),n.viewportChanged){let{activeViewports:s}=this.state;Object.keys(s).length&&(this._updateTileset(s),this.state.lastUpdatedViewports=s,this.state.activeViewports={})}if(n.propsChanged){let{layerMap:s}=this.state;for(let i in s)s[i].needsUpdate=!0}}activateViewport(e){let{activeViewports:r,lastUpdatedViewports:n}=this.state;this.internalState.viewport=e,r[e.id]=e;let s=n?.[e.id];(!s||!e.equals(s))&&(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())}getPickingInfo({info:e,sourceLayer:r}){let n=r&&r.props.tile;return e.picked&&(e.object=n),e.sourceTile=n,e}filterSubLayer({layer:e,viewport:r}){let{tile:n}=e.props,{id:s}=r;return n.selected&&n.viewportIds.includes(s)}_updateAutoHighlight(e){let r=e.sourceTile,n=this.state.layerMap[r?.id];n&&n.layer&&n.layer.updateAutoHighlight(e)}async _loadTileset(e){let{loadOptions:r={}}=this.props,n=this.props.loader||this.props.loaders,s=Array.isArray(n)?n[0]:n,i={loadOptions:{...r}},o=e;if(s.preload){let l=await s.preload(e,r);l.url&&(o=l.url),l.headers&&(i.loadOptions.fetch={...i.loadOptions.fetch,headers:l.headers}),Object.assign(i,l)}let a=await(0,gg.load)(o,s,i.loadOptions),c=new yn(a,{onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileError:this.props.onTileError,...i});this.setState({tileset3d:c,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(c)}_onTileLoad(e){let{lastUpdatedViewports:r}=this.state;this.props.onTileLoad(e),this._updateTileset(r),this.setNeedsUpdate()}_onTileUnload(e){delete this.state.layerMap[e.id],this.props.onTileUnload(e)}_updateTileset(e){if(!e)return;let{tileset3d:r}=this.state,{timeline:n}=this.context,s=Object.keys(e).length;!n||!s||!r||r.selectTiles(Object.values(e)).then(i=>{this.state.frameNumber!==i&&this.setState({frameNumber:i})})}_getSubLayer(e,r){if(!e.content)return null;switch(e.type){case re.POINTCLOUD:return this._makePointCloudLayer(e,r);case re.SCENEGRAPH:return this._make3DModelLayer(e);case re.MESH:return this._makeSimpleMeshLayer(e,r);default:throw new Error(`Tile3DLayer: Failed to render layer of type ${e.content.type}`)}}_makePointCloudLayer(e,r){let{attributes:n,pointCount:s,constantRGBA:i,cartographicOrigin:o,modelMatrix:a}=e.content,{positions:c,normals:l,colors:h}=n;if(!c)return null;let f=r&&r.props.data||{header:{vertexCount:s},attributes:{POSITION:c,NORMAL:l,COLOR_0:h}},{pointSize:u,getPointColor:d}=this.props,p=this.getSubLayerClass("pointcloud",dg.PointCloudLayer);return new p({pointSize:u},this.getSubLayerProps({id:"pointcloud"}),{id:`${this.id}-pointcloud-${e.id}`,tile:e,data:f,coordinateSystem:be.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:o,modelMatrix:a,getColor:i||d,_offset:0})}_make3DModelLayer(e){let{gltf:r,instances:n,cartographicOrigin:s,modelMatrix:i}=e.content,o=this.getSubLayerClass("scenegraph",pg.ScenegraphLayer);return new o({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:`${this.id}-scenegraph-${e.id}`,tile:e,data:n||fg,scenegraph:r,coordinateSystem:be.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:s,modelMatrix:i,getTransformMatrix:a=>a.modelMatrix,getPosition:[0,0,0],_offset:0})}_makeSimpleMeshLayer(e,r){let n=e.content,{attributes:s,indices:i,modelMatrix:o,cartographicOrigin:a,coordinateSystem:c=be.COORDINATE_SYSTEM.METER_OFFSETS,material:l,featureIds:h}=n,{_getMeshColor:f}=this.props,u=r&&r.props.mesh||new ug.Geometry({topology:"triangle-list",attributes:cC(s),indices:i}),d=this.getSubLayerClass("mesh",Cn);return new d(this.getSubLayerProps({id:"mesh"}),{id:`${this.id}-mesh-${e.id}`,tile:e,mesh:u,data:fg,getColor:f(e),pbrMaterial:l,modelMatrix:o,coordinateOrigin:a,coordinateSystem:c,featureIds:h,_offset:0})}renderLayers(){let{tileset3d:e,layerMap:r}=this.state;return e?e.tiles.map(n=>{let s=r[n.id]=r[n.id]||{tile:n},{layer:i}=s;return n.selected&&(i?s.needsUpdate&&(i=this._getSubLayer(n,i),s.needsUpdate=!1):i=this._getSubLayer(n)),s.layer=i,i}).filter(Boolean):null}},Ln=Wi;(()=>{Wi.defaultProps=aC})(),(()=>{Wi.layerName="Tile3DLayer"})();function cC(t){let e={};return e.positions={...t.positions,value:new Float32Array(t.positions.value)},t.normals&&(e.normals=t.normals),t.texCoords&&(e.texCoords=t.texCoords),t.colors&&(e.colors=t.colors),t.uvRegions&&(e.uvRegions=t.uvRegions),e}var Yi=v(Lt(),1),al=v(qs(),1),xg=v(Lt(),1);var lC=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function nl(t){return t>>1^-(t&1)}function hC(t){let e=0,r={};for(let[n,s]of lC){let i=s===8?t.getFloat64:t.getFloat32;r[n]=i.call(t,e,!0),e+=s}return{header:r,headerEndPosition:e}}function fC(t,e){let r=e,n=3,s=t.getUint32(r,!0),i=new Uint16Array(s*n);r+=Uint32Array.BYTES_PER_ELEMENT;let o=Uint16Array.BYTES_PER_ELEMENT,a=s*o,c=r,l=c+a,h=l+a,f=0,u=0,d=0;for(let p=0;p<s;p++)f+=nl(t.getUint16(c+o*p,!0)),u+=nl(t.getUint16(l+o*p,!0)),d+=nl(t.getUint16(h+o*p,!0)),i[p]=f,i[p+s]=u,i[p+s*2]=d;return r+=a*3,{vertexData:i,vertexDataEndPosition:r}}function Hn(t,e,r,n){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i;if(n===2?i=new Uint16Array(t,e,r):i=new Uint32Array(t,e,r),!s)return i;let o=0;for(let a=0;a<i.length;++a){let c=i[a];i[a]=o-c,c===0&&++o}return i}function uC(t,e,r){let n=r,s=3,o=e.length/s>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;n%o!==0&&(n+=o-n%o);let a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=a*3,l=Hn(t.buffer,n,c,o);return n+=c*o,{triangleIndicesEndPosition:n,triangleIndices:l}}function dC(t,e,r){let n=r,s=3,o=e.length/s>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=Hn(t.buffer,n,a,o,!1);n+=a*o;let l=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let h=Hn(t.buffer,n,l,o,!1);n+=l*o;let f=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let u=Hn(t.buffer,n,f,o,!1);n+=f*o;let d=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let p=Hn(t.buffer,n,d,o,!1);return n+=d*o,{edgeIndicesEndPosition:n,westIndices:c,southIndices:h,eastIndices:u,northIndices:p}}function pC(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function gC(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function AC(t,e){let r={};if(t.byteLength<=e)return{extensions:r,extensionsEndPosition:e};let n=e;for(;n<t.byteLength;){let s=t.getUint8(n,!0);n+=Uint8Array.BYTES_PER_ELEMENT;let i=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let o=new DataView(t.buffer,n,i);switch(s){case 1:{r.vertexNormals=pC(o);break}case 2:{r.waterMask=gC(o);break}default:}n+=i}return{extensions:r,extensionsEndPosition:n}}var or={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},_C={maxDecodingStep:or.extensions};function sl(t,e){let r=Object.assign({},_C,e),n=new DataView(t),{header:s,headerEndPosition:i}=hC(n);if(r.maxDecodingStep<or.vertices)return{header:s};let{vertexData:o,vertexDataEndPosition:a}=fC(n,i);if(r.maxDecodingStep<or.triangleIndices)return{header:s,vertexData:o};let{triangleIndices:c,triangleIndicesEndPosition:l}=uC(n,o,a);if(r.maxDecodingStep<or.edgeIndices)return{header:s,vertexData:o,triangleIndices:c};let{westIndices:h,southIndices:f,eastIndices:u,northIndices:d,edgeIndicesEndPosition:p}=dC(n,o,l);if(r.maxDecodingStep<or.extensions)return{header:s,vertexData:o,triangleIndices:c,westIndices:h,northIndices:d,eastIndices:u,southIndices:f};let{extensions:_}=AC(n,p);return{header:s,vertexData:o,triangleIndices:c,westIndices:h,northIndices:d,eastIndices:u,southIndices:f,extensions:_}}function zi(t,e,r,n){let s=n?TC(n,t.POSITION.value):mC(e),i=new t.POSITION.value.constructor(s.length*6),o=new t.TEXCOORD_0.value.constructor(s.length*4),a=new e.constructor(s.length*6);for(let l=0;l<s.length;l++){let h=s[l];EC({edge:h,edgeIndex:l,attributes:t,skirtHeight:r,newPosition:i,newTexcoord0:o,newTriangles:a})}t.POSITION.value=jr(t.POSITION.value,i),t.TEXCOORD_0.value=jr(t.TEXCOORD_0.value,o);let c=e instanceof Array?e.concat(a):jr(e,a);return{attributes:t,triangles:c}}function mC(t){let e=[];for(let o=0;o<t.length;o+=3)e.push([t[o],t[o+1]]),e.push([t[o+1],t[o+2]]),e.push([t[o+2],t[o]]);e.sort((o,a)=>Math.min(...o)-Math.min(...a)||Math.max(...o)-Math.max(...a));let r=[],n=0;for(;n<e.length;){var s,i;e[n][0]===((s=e[n+1])===null||s===void 0?void 0:s[1])&&e[n][1]===((i=e[n+1])===null||i===void 0?void 0:i[0])?n+=2:(r.push(e[n]),n++)}return r}function TC(t,e){t.westIndices.sort((n,s)=>e[3*n+1]-e[3*s+1]),t.eastIndices.sort((n,s)=>e[3*s+1]-e[3*n+1]),t.southIndices.sort((n,s)=>e[3*s]-e[3*n]),t.northIndices.sort((n,s)=>e[3*n]-e[3*s]);let r=[];for(let n in t){let s=t[n];for(let i=0;i<s.length-1;i++)r.push([s[i],s[i+1]])}return r}function EC(t){let{edge:e,edgeIndex:r,attributes:n,skirtHeight:s,newPosition:i,newTexcoord0:o,newTriangles:a}=t,c=n.POSITION.value.length,l=r*2,h=r*2+1;i.set(n.POSITION.value.subarray(e[0]*3,e[0]*3+3),l*3),i[l*3+2]=i[l*3+2]-s,i.set(n.POSITION.value.subarray(e[1]*3,e[1]*3+3),h*3),i[h*3+2]=i[h*3+2]-s,o.set(n.TEXCOORD_0.value.subarray(e[0]*2,e[0]*2+2),l*2),o.set(n.TEXCOORD_0.value.subarray(e[1]*2,e[1]*2+2),h*2);let f=r*2*3;a[f]=e[0],a[f+1]=c/3+h,a[f+2]=e[1],a[f+3]=c/3+h,a[f+4]=e[0],a[f+5]=c/3+l}function il(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{bounds:r}=e,{header:n,vertexData:s,triangleIndices:i,westIndices:o,northIndices:a,eastIndices:c,southIndices:l}=sl(t,or.triangleIndices),h=i,f=RC(s,n,r),u=$e(f);if(e!=null&&e.skirtHeight){let{attributes:d,triangles:p}=zi(f,h,e.skirtHeight,{westIndices:o,northIndices:a,eastIndices:c,southIndices:l});f=d,h=p}return{loaderData:{header:{}},header:{vertexCount:h.length,boundingBox:u},schema:void 0,topology:"triangle-list",mode:4,indices:{value:h,size:1},attributes:f}}function RC(t,e,r){let{minHeight:n,maxHeight:s}=e,[i,o,a,c]=r||[0,0,1,1],l=a-i,h=c-o,f=s-n,u=t.length/3,d=new Float32Array(u*3),p=new Float32Array(u*2);for(let _=0;_<u;_++){let A=t[_]/32767,T=t[_+u]/32767,x=t[_+u*2]/32767;d[3*_+0]=A*l+i,d[3*_+1]=T*h+o,d[3*_+2]=x*f+n,p[2*_+0]=A,p[2*_+1]=T}return{POSITION:{value:d,size:3},TEXCOORD_0:{value:p,size:2}}}var Vn=class{constructor(e=257){this.gridSize=e;let r=e-1;if(r&r-1)throw new Error(`Expected grid size to be 2^n+1, got ${e}.`);this.numTriangles=r*r*2-2,this.numParentTriangles=this.numTriangles-r*r,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(this.numTriangles*4);for(let n=0;n<this.numTriangles;n++){let s=n+2,i=0,o=0,a=0,c=0,l=0,h=0;for(s&1?a=c=l=r:i=o=h=r;(s>>=1)>1;){let u=i+a>>1,d=o+c>>1;s&1?(a=i,c=o,i=l,o=h):(i=a,o=c,a=l,c=h),l=u,h=d}let f=n*4;this.coords[f+0]=i,this.coords[f+1]=o,this.coords[f+2]=a,this.coords[f+3]=c}}createTile(e){return new ol(e,this)}},ol=class{constructor(e,r){let n=r.gridSize;if(e.length!==n*n)throw new Error(`Expected terrain data of length ${n*n} (${n} x ${n}), got ${e.length}.`);this.terrain=e,this.martini=r,this.errors=new Float32Array(e.length),this.update()}update(){let{numTriangles:e,numParentTriangles:r,coords:n,gridSize:s}=this.martini,{terrain:i,errors:o}=this;for(let a=e-1;a>=0;a--){let c=a*4,l=n[c+0],h=n[c+1],f=n[c+2],u=n[c+3],d=l+f>>1,p=h+u>>1,_=d+p-h,A=p+l-d,T=(i[h*s+l]+i[u*s+f])/2,x=p*s+d,R=Math.abs(T-i[x]);if(o[x]=Math.max(o[x],R),a<r){let S=(h+A>>1)*s+(l+_>>1),B=(u+A>>1)*s+(f+_>>1);o[x]=Math.max(o[x],o[S],o[B])}}}getMesh(e=0){let{gridSize:r,indices:n}=this.martini,{errors:s}=this,i=0,o=0,a=r-1;n.fill(0);function c(d,p,_,A,T,x){let R=d+_>>1,S=p+A>>1;Math.abs(d-T)+Math.abs(p-x)>1&&s[S*r+R]>e?(c(T,x,d,p,R,S),c(_,A,T,x,R,S)):(n[p*r+d]=n[p*r+d]||++i,n[A*r+_]=n[A*r+_]||++i,n[x*r+T]=n[x*r+T]||++i,o++)}c(0,0,a,a,a,0),c(a,a,0,0,0,a);let l=new Uint16Array(i*2),h=new Uint32Array(o*3),f=0;function u(d,p,_,A,T,x){let R=d+_>>1,S=p+A>>1;if(Math.abs(d-T)+Math.abs(p-x)>1&&s[S*r+R]>e)u(T,x,d,p,R,S),u(_,A,T,x,R,S);else{let B=n[p*r+d]-1,M=n[A*r+_]-1,F=n[x*r+T]-1;l[2*B]=d,l[2*B+1]=p,l[2*M]=_,l[2*M+1]=A,l[2*F]=T,l[2*F+1]=x,h[f++]=B,h[f++]=M,h[f++]=F}}return u(0,0,a,a,a,0),u(a,a,0,0,0,a),{vertices:l,triangles:h}}};var Xn=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r;this.data=e,this.width=r,this.height=n,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;let s=r-1,i=n-1,o=this._addPoint(0,0),a=this._addPoint(s,0),c=this._addPoint(0,i),l=this._addPoint(s,i),h=this._addTriangle(l,o,c,-1,-1,-1);this._addTriangle(o,l,a,h,-1,-1),this._flush()}run(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;for(;this.getMaxError()>e;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(e,r){return this.data[this.width*r+e]}_flush(){let e=this.coords;for(let r=0;r<this._pendingLen;r++){let n=this._pending[r],s=2*this.triangles[n*3+0],i=2*this.triangles[n*3+1],o=2*this.triangles[n*3+2];this._findCandidate(e[s],e[s+1],e[i],e[i+1],e[o],e[o+1],n)}this._pendingLen=0}_findCandidate(e,r,n,s,i,o,a){let c=Math.min(e,n,i),l=Math.min(r,s,o),h=Math.max(e,n,i),f=Math.max(r,s,o),u=ar(n,s,i,o,c,l),d=ar(i,o,e,r,c,l),p=ar(e,r,n,s,c,l),_=s-r,A=e-n,T=o-s,x=n-i,R=r-o,S=i-e,B=ar(e,r,n,s,i,o),M=this.heightAt(e,r)/B,F=this.heightAt(n,s)/B,C=this.heightAt(i,o)/B,E=0,g=0,y=0,O=0;for(let b=l;b<=f;b++){let N=0;u<0&&T!==0&&(N=Math.max(N,Math.floor(-u/T))),d<0&&R!==0&&(N=Math.max(N,Math.floor(-d/R))),p<0&&_!==0&&(N=Math.max(N,Math.floor(-p/_)));let U=u+T*N,Y=d+R*N,W=p+_*N,Q=!1;for(let J=c+N;J<=h;J++){if(U>=0&&Y>=0&&W>=0){Q=!0;let q=M*U+F*Y+C*W,tt=Math.abs(q-this.heightAt(J,b));O+=tt*tt,tt>E&&(E=tt,g=J,y=b)}else if(Q)break;U+=T,Y+=R,W+=_}u+=x,d+=S,p+=A}(g===e&&y===r||g===n&&y===s||g===i&&y===o)&&(E=0),this._candidates[2*a]=g,this._candidates[2*a+1]=y,this._rms[a]=O,this._queuePush(a,E,O)}_step(){let e=this._queuePop(),r=e*3+0,n=e*3+1,s=e*3+2,i=this.triangles[r],o=this.triangles[n],a=this.triangles[s],c=this.coords[2*i],l=this.coords[2*i+1],h=this.coords[2*o],f=this.coords[2*o+1],u=this.coords[2*a],d=this.coords[2*a+1],p=this._candidates[2*e],_=this._candidates[2*e+1],A=this._addPoint(p,_);if(ar(c,l,h,f,p,_)===0)this._handleCollinear(A,r);else if(ar(h,f,u,d,p,_)===0)this._handleCollinear(A,n);else if(ar(u,d,c,l,p,_)===0)this._handleCollinear(A,s);else{let T=this._halfedges[r],x=this._halfedges[n],R=this._halfedges[s],S=this._addTriangle(i,o,A,T,-1,-1,r),B=this._addTriangle(o,a,A,x,-1,S+1),M=this._addTriangle(a,i,A,R,S+2,B+1);this._legalize(S),this._legalize(B),this._legalize(M)}}_addPoint(e,r){let n=this.coords.length>>1;return this.coords.push(e,r),n}_addTriangle(e,r,n,s,i,o){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this.triangles.length,c=a/3;return this.triangles[a+0]=e,this.triangles[a+1]=r,this.triangles[a+2]=n,this._halfedges[a+0]=s,this._halfedges[a+1]=i,this._halfedges[a+2]=o,s>=0&&(this._halfedges[s]=a+0),i>=0&&(this._halfedges[i]=a+1),o>=0&&(this._halfedges[o]=a+2),this._candidates[2*c+0]=0,this._candidates[2*c+1]=0,this._queueIndices[c]=-1,this._rms[c]=0,this._pending[this._pendingLen++]=c,a}_legalize(e){let r=this._halfedges[e];if(r<0)return;let n=e-e%3,s=r-r%3,i=n+(e+1)%3,o=n+(e+2)%3,a=s+(r+2)%3,c=s+(r+1)%3,l=this.triangles[o],h=this.triangles[e],f=this.triangles[i],u=this.triangles[a],d=this.coords;if(!xC(d[2*l],d[2*l+1],d[2*h],d[2*h+1],d[2*f],d[2*f+1],d[2*u],d[2*u+1]))return;let p=this._halfedges[i],_=this._halfedges[o],A=this._halfedges[a],T=this._halfedges[c];this._queueRemove(n/3),this._queueRemove(s/3);let x=this._addTriangle(l,u,f,-1,A,p,n),R=this._addTriangle(u,l,h,x,_,T,s);this._legalize(x+1),this._legalize(R+2)}_handleCollinear(e,r){let n=r-r%3,s=n+(r+1)%3,i=n+(r+2)%3,o=this.triangles[i],a=this.triangles[r],c=this.triangles[s],l=this._halfedges[s],h=this._halfedges[i],f=this._halfedges[r];if(f<0){let M=this._addTriangle(e,o,a,-1,h,-1,n),F=this._addTriangle(o,e,c,M,-1,l);this._legalize(M+1),this._legalize(F+2);return}let u=f-f%3,d=u+(f+2)%3,p=u+(f+1)%3,_=this.triangles[d],A=this._halfedges[d],T=this._halfedges[p];this._queueRemove(u/3);let x=this._addTriangle(o,a,e,h,-1,-1,n),R=this._addTriangle(a,_,e,T,-1,x+1,u),S=this._addTriangle(_,c,e,A,-1,R+1),B=this._addTriangle(c,o,e,l,x+2,S+1);this._legalize(x),this._legalize(R),this._legalize(S),this._legalize(B)}_queuePush(e,r,n){let s=this._queue.length;this._queueIndices[e]=s,this._queue.push(e),this._errors.push(r),this._rmsSum+=n,this._queueUp(s)}_queuePop(){let e=this._queue.length-1;return this._queueSwap(0,e),this._queueDown(0,e),this._queuePopBack()}_queuePopBack(){let e=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[e],this._queueIndices[e]=-1,e}_queueRemove(e){let r=this._queueIndices[e];if(r<0){let s=this._pending.indexOf(e);if(s!==-1)this._pending[s]=this._pending[--this._pendingLen];else throw new Error("Broken triangulation (something went wrong).");return}let n=this._queue.length-1;n!==r&&(this._queueSwap(r,n),this._queueDown(r,n)||this._queueUp(r)),this._queuePopBack()}_queueLess(e,r){return this._errors[e]>this._errors[r]}_queueSwap(e,r){let n=this._queue[e],s=this._queue[r];this._queue[e]=s,this._queue[r]=n,this._queueIndices[n]=r,this._queueIndices[s]=e;let i=this._errors[e];this._errors[e]=this._errors[r],this._errors[r]=i}_queueUp(e){let r=e;for(;;){let n=r-1>>1;if(n===r||!this._queueLess(r,n))break;this._queueSwap(n,r),r=n}}_queueDown(e,r){let n=e;for(;;){let s=2*n+1;if(s>=r||s<0)break;let i=s+1,o=s;if(i<r&&this._queueLess(i,s)&&(o=i),!this._queueLess(o,n))break;this._queueSwap(n,o),n=o}return n>e}};function ar(t,e,r,n,s,i){return(r-s)*(e-i)-(n-i)*(t-s)}function xC(t,e,r,n,s,i,o,a){let c=t-o,l=e-a,h=r-o,f=n-a,u=s-o,d=i-a,p=c*c+l*l,_=h*h+f*f,A=u*u+d*d;return c*(f*A-_*d)-l*(h*A-_*u)+p*(h*d-f*u)<0}function mg(t,e){let{meshMaxError:r,bounds:n,elevationDecoder:s}=e,{data:i,width:o,height:a}=t,c,l;switch(e.tesselator){case"martini":c=ki(i,o,a,s,e.tesselator),l=Ag(r,o,c);break;case"delatin":c=ki(i,o,a,s,e.tesselator),l=_g(r,o,a,c);break;default:o===a&&!(a&o-1)?(c=ki(i,o,a,s,"martini"),l=Ag(r,o,c)):(c=ki(i,o,a,s,"delatin"),l=_g(r,o,a,c));break}let{vertices:h}=l,{triangles:f}=l,u=SC(h,c,o,a,n),d=$e(u);if(e.skirtHeight){let{attributes:p,triangles:_}=zi(u,f,e.skirtHeight);u=p,f=_}return{loaderData:{header:{}},header:{vertexCount:f.length,boundingBox:d},mode:4,indices:{value:Uint32Array.from(f),size:1},attributes:u}}function Ag(t,e,r){let n=e+1,i=new Vn(n).createTile(r),{vertices:o,triangles:a}=i.getMesh(t);return{vertices:o,triangles:a}}function _g(t,e,r,n){let s=new Xn(n,e+1,r+1);s.run(t);let{coords:i,triangles:o}=s;return{vertices:i,triangles:o}}function ki(t,e,r,n,s){let{rScaler:i,bScaler:o,gScaler:a,offset:c}=n,l=new Float32Array((e+1)*(r+1));for(let h=0,f=0;f<r;f++)for(let u=0;u<e;u++,h++){let d=h*4,p=t[d+0],_=t[d+1],A=t[d+2];l[h+f]=p*i+_*a+A*o+c}if(s==="martini"){for(let h=(e+1)*e,f=0;f<e;f++,h++)l[h]=l[h-e-1];for(let h=r,f=0;f<r+1;f++,h+=r+1)l[h]=l[h-1]}return l}function SC(t,e,r,n,s){let i=r+1,o=t.length/2,a=new Float32Array(o*3),c=new Float32Array(o*2),[l,h,f,u]=s||[0,0,r,n],d=(f-l)/r,p=(u-h)/n;for(let _=0;_<o;_++){let A=t[_*2],T=t[_*2+1],x=T*i+A;a[3*_+0]=A*d+l,a[3*_+1]=-T*p+u,a[3*_+2]=e[x],c[2*_+0]=A/r,c[2*_+1]=T/n}return{POSITION:{value:a,size:3},TEXCOORD_0:{value:c,size:2}}}var Gi="4.1.0";var Ki={name:"Terrain",id:"terrain",module:"terrain",version:Gi,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};var Tg={name:"Quantized Mesh",id:"quantized-mesh",module:"terrain",version:Gi,worker:!0,extensions:["terrain"],mimeTypes:["application/vnd.quantized-mesh"],options:{"quantized-mesh":{bounds:[0,0,1,1],skirtHeight:null}}};var CC={...Ki,parse:BC};async function BC(t,e,r){let n={...e,mimeType:"application/x.image",image:{...e?.image,type:"data"}},s=await Ct(t,[],n,r),i={...CC.options.terrain,...e?.terrain};return mg(s,i)}var h4={...Tg,parseSync:(t,e)=>il(t,e?.["quantized-mesh"]),parse:async(t,e)=>il(t,e?.["quantized-mesh"])};var Eg=[1],MC={...te.defaultProps,elevationData:Ie,texture:{...Ie,optional:!0},meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[Ki]};function Rg(t){return Array.isArray(t)?t.join(";"):t||""}var Ji=class extends Yi.CompositeLayer{updateState({props:e,oldProps:r}){let n=e.elevationData!==r.elevationData;if(n){let{elevationData:i}=e,o=i&&(Array.isArray(i)||i.includes("{x}")&&i.includes("{y}"));this.setState({isTiled:o})}let s=n||e.meshMaxError!==r.meshMaxError||e.elevationDecoder!==r.elevationDecoder||e.bounds!==r.bounds;if(!this.state.isTiled&&s){let i=this.loadTerrain(e);this.setState({terrain:i})}e.workerUrl&&Yi.log.removed("workerUrl","loadOptions.terrain.workerUrl")()}loadTerrain({elevationData:e,bounds:r,elevationDecoder:n,meshMaxError:s,signal:i}){if(!e)return null;let o=this.getLoadOptions();o={...o,terrain:{skirtHeight:this.state.isTiled?s*2:0,...o?.terrain,bounds:r,meshMaxError:s,elevationDecoder:n}};let{fetch:a}=this.props;return a(e,{propName:"elevationData",layer:this,loadOptions:o,signal:i})}getTiledTerrainData(e){let{elevationData:r,fetch:n,texture:s,elevationDecoder:i,meshMaxError:o}=this.props,{viewport:a}=this.context,c=$t(r,e),l=s&&$t(s,e),{signal:h}=e,f=[0,0],u=[0,0];if(a.isGeospatial){let A=e.bbox;f=a.projectFlat([A.west,A.south]),u=a.projectFlat([A.east,A.north])}else{let A=e.bbox;f=[A.left,A.bottom],u=[A.right,A.top]}let d=[f[0],f[1],u[0],u[1]],p=this.loadTerrain({elevationData:c,bounds:d,elevationDecoder:i,meshMaxError:o,signal:h}),_=l?n(l,{propName:"texture",layer:this,loaders:[],signal:h}).catch(A=>null):Promise.resolve(null);return Promise.all([p,_])}renderSubLayers(e){let r=this.getSubLayerClass("mesh",al.SimpleMeshLayer),{color:n,wireframe:s,material:i}=this.props,{data:o}=e;if(!o)return null;let[a,c]=o;return new r(e,{data:Eg,mesh:a,texture:c,_instanced:!1,coordinateSystem:xg.COORDINATE_SYSTEM.CARTESIAN,getPosition:l=>[0,0,0],getColor:n,wireframe:s,material:i})}onViewportLoad(e){if(!e)return;let{zRange:r}=this.state,n=e.map(o=>o.content).filter(Boolean).map(o=>o[0].header.boundingBox.map(c=>c[2]));if(n.length===0)return;let s=Math.min(...n.map(o=>o[0])),i=Math.max(...n.map(o=>o[1]));(!r||s<r[0]||i>r[1])&&this.setState({zRange:[s,i]})}renderLayers(){let{color:e,material:r,elevationData:n,texture:s,wireframe:i,meshMaxError:o,elevationDecoder:a,tileSize:c,maxZoom:l,minZoom:h,extent:f,maxRequests:u,onTileLoad:d,onTileUnload:p,onTileError:_,maxCacheSize:A,maxCacheByteSize:T,refinementStrategy:x}=this.props;if(this.state.isTiled)return new te(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:Rg(n),texture:Rg(s),meshMaxError:o,elevationDecoder:a}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:c,maxZoom:l,minZoom:h,extent:f,maxRequests:u,onTileLoad:d,onTileUnload:p,onTileError:_,maxCacheSize:A,maxCacheByteSize:T,refinementStrategy:x});if(!n)return null;let R=this.getSubLayerClass("mesh",al.SimpleMeshLayer);return new R(this.getSubLayerProps({id:"mesh"}),{data:Eg,mesh:this.state.terrain,texture:s,_instanced:!1,getPosition:S=>[0,0,0],getColor:e,material:r,wireframe:i})}},Wn=Ji;(()=>{Ji.defaultProps=MC})(),(()=>{Ji.layerName="TerrainLayer"})();var ao=v(Lt(),1),Bl=v(Ut(),1),r0=v(Cg(),1);var zn={x:0,y:1,z:2};function cr(t,e={}){let{start:r=0,end:n=t.length,plane:s="xy"}=e,i=e.size||2,o=0,a=zn[s[0]],c=zn[s[1]];for(let l=r,h=n-i;l<n;l+=i)o+=(t[l+a]-t[h+a])*(t[l+c]+t[h+c]),h=l;return o/2}function ll(t,e,r=2,n,s="xy"){let i=e&&e.length,o=i?e[0]*r:t.length,a=Mg(t,0,o,r,!0,n&&n[0],s),c=[];if(!a||a.next===a.prev)return c;let l,h,f,u,d,p,_;if(i&&(a=PC(t,e,a,r,n,s)),t.length>80*r){u=h=t[0],d=f=t[1];for(let A=r;A<o;A+=r)p=t[A],_=t[A+1],p<u&&(u=p),_<d&&(d=_),p>h&&(h=p),_>f&&(f=_);l=Math.max(h-u,f-d),l=l!==0?32767/l:0}return kn(a,c,r,u,d,l,0),c}function Mg(t,e,r,n,s,i,o){let a,c;i===void 0&&(i=cr(t,{start:e,end:r,size:n,plane:o}));let l=zn[o[0]],h=zn[o[1]];if(s===i<0)for(a=e;a<r;a+=n)c=Bg(a,t[a+l],t[a+h],c);else for(a=r-n;a>=e;a-=n)c=Bg(a,t[a+l],t[a+h],c);return c&&Zi(c,c.next)&&(Kn(c),c=c.next),c}function lr(t,e){if(!t)return t;e||(e=t);let r=t,n;do if(n=!1,!r.steiner&&(Zi(r,r.next)||rt(r.prev,r,r.next)===0)){if(Kn(r),r=e=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==e);return e}function kn(t,e,r,n,s,i,o){if(!t)return;!o&&i&&LC(t,n,s,i);let a=t,c,l;for(;t.prev!==t.next;){if(c=t.prev,l=t.next,i?NC(t,n,s,i):FC(t)){e.push(c.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),Kn(t),t=l.next,a=l.next;continue}if(t=l,t===a){o?o===1?(t=OC(lr(t),e,r),kn(t,e,r,n,s,i,2)):o===2&&bC(t,e,r,n,s,i):kn(lr(t),e,r,n,s,i,1);break}}}function FC(t){let e=t.prev,r=t,n=t.next;if(rt(e,r,n)>=0)return!1;let s=e.x,i=r.x,o=n.x,a=e.y,c=r.y,l=n.y,h=s<i?s<o?s:o:i<o?i:o,f=a<c?a<l?a:l:c<l?c:l,u=s>i?s>o?s:o:i>o?i:o,d=a>c?a>l?a:l:c>l?c:l,p=n.next;for(;p!==e;){if(p.x>=h&&p.x<=u&&p.y>=f&&p.y<=d&&kr(s,a,i,c,o,l,p.x,p.y)&&rt(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function NC(t,e,r,n){let s=t.prev,i=t,o=t.next;if(rt(s,i,o)>=0)return!1;let a=s.x,c=i.x,l=o.x,h=s.y,f=i.y,u=o.y,d=a<c?a<l?a:l:c<l?c:l,p=h<f?h<u?h:u:f<u?f:u,_=a>c?a>l?a:l:c>l?c:l,A=h>f?h>u?h:u:f>u?f:u,T=cl(d,p,e,r,n),x=cl(_,A,e,r,n),R=t.prevZ,S=t.nextZ;for(;R&&R.z>=T&&S&&S.z<=x;){if(R.x>=d&&R.x<=_&&R.y>=p&&R.y<=A&&R!==s&&R!==o&&kr(a,h,c,f,l,u,R.x,R.y)&&rt(R.prev,R,R.next)>=0||(R=R.prevZ,S.x>=d&&S.x<=_&&S.y>=p&&S.y<=A&&S!==s&&S!==o&&kr(a,h,c,f,l,u,S.x,S.y)&&rt(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;R&&R.z>=T;){if(R.x>=d&&R.x<=_&&R.y>=p&&R.y<=A&&R!==s&&R!==o&&kr(a,h,c,f,l,u,R.x,R.y)&&rt(R.prev,R,R.next)>=0)return!1;R=R.prevZ}for(;S&&S.z<=x;){if(S.x>=d&&S.x<=_&&S.y>=p&&S.y<=A&&S!==s&&S!==o&&kr(a,h,c,f,l,u,S.x,S.y)&&rt(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function OC(t,e,r){let n=t;do{let s=n.prev,i=n.next.next;!Zi(s,i)&&yg(s,n,n.next,i)&&Gn(s,i)&&Gn(i,s)&&(e.push(s.i/r|0),e.push(n.i/r|0),e.push(i.i/r|0),Kn(n),Kn(n.next),n=t=i),n=n.next}while(n!==t);return lr(n)}function bC(t,e,r,n,s,i){let o=t;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&XC(o,a)){let c=Ig(o,a);o=lr(o,o.next),c=lr(c,c.next),kn(o,e,r,n,s,i,0),kn(c,e,r,n,s,i,0);return}a=a.next}o=o.next}while(o!==t)}function PC(t,e,r,n,s,i){let o=[],a,c,l,h,f;for(a=0,c=e.length;a<c;a++)l=e[a]*n,h=a<c-1?e[a+1]*n:t.length,f=Mg(t,l,h,n,!1,s&&s[a+1],i),f===f.next&&(f.steiner=!0),o.push(VC(f));for(o.sort(DC),a=0;a<o.length;a++)r=wC(o[a],r);return r}function DC(t,e){return t.x-e.x}function wC(t,e){let r=vC(t,e);if(!r)return e;let n=Ig(r,t);return lr(n,n.next),lr(r,r.next)}function vC(t,e){let r=e,n=t.x,s=t.y,i=-1/0,o;do{if(s<=r.y&&s>=r.next.y&&r.next.y!==r.y){let u=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(u<=n&&u>i&&(i=u,o=r.x<r.next.x?r:r.next,u===n))return o}r=r.next}while(r!==e);if(!o)return null;let a=o,c=o.x,l=o.y,h=1/0,f;r=o;do n>=r.x&&r.x>=c&&n!==r.x&&kr(s<l?n:i,s,c,l,s<l?i:n,s,r.x,r.y)&&(f=Math.abs(s-r.y)/(n-r.x),Gn(r,t)&&(f<h||f===h&&(r.x>o.x||r.x===o.x&&UC(o,r)))&&(o=r,h=f)),r=r.next;while(r!==a);return o}function UC(t,e){return rt(t.prev,t,e.prev)<0&&rt(e.next,t,t.next)<0}function LC(t,e,r,n){let s=t;do s.z===0&&(s.z=cl(s.x,s.y,e,r,n)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==t);s.prevZ.nextZ=null,s.prevZ=null,HC(s)}function HC(t){let e,r,n=1,s,i,o,a,c,l;do{for(i=t,t=null,l=null,s=0;i;){for(s++,a=i,o=0,r=0;r<n&&(o++,a=a.nextZ,!!a);r++);for(c=n;o>0||c>0&&a;)o!==0&&(c===0||!a||i.z<=a.z)?(e=i,i=i.nextZ,o--):(e=a,a=a.nextZ,c--),l?l.nextZ=e:t=e,e.prevZ=l,l=e;i=a}l.nextZ=null,n*=2}while(s>1);return t}function cl(t,e,r,n,s){return t=(t-r)*s|0,e=(e-n)*s|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function VC(t){let e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}function kr(t,e,r,n,s,i,o,a){return(s-o)*(e-a)>=(t-o)*(i-a)&&(t-o)*(n-a)>=(r-o)*(e-a)&&(r-o)*(i-a)>=(s-o)*(n-a)}function XC(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!WC(t,e)&&(Gn(t,e)&&Gn(e,t)&&zC(t,e)&&(rt(t.prev,t,e.prev)||rt(t,e.prev,e))||Zi(t,e)&&rt(t.prev,t,t.next)>0&&rt(e.prev,e,e.next)>0)}function rt(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Zi(t,e){return t.x===e.x&&t.y===e.y}function yg(t,e,r,n){let s=ji(rt(t,e,r)),i=ji(rt(t,e,n)),o=ji(rt(r,n,t)),a=ji(rt(r,n,e));return!!(s!==i&&o!==a||s===0&&qi(t,r,e)||i===0&&qi(t,n,e)||o===0&&qi(r,t,n)||a===0&&qi(r,e,n))}function qi(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function ji(t){return t>0?1:t<0?-1:0}function WC(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&yg(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function Gn(t,e){return rt(t.prev,t,t.next)<0?rt(t,e,t.next)>=0&&rt(t,t.prev,e)>=0:rt(t,e,t.prev)<0||rt(t,t.next,e)<0}function zC(t,e){let r=t,n=!1,s=(t.x+e.x)/2,i=(t.y+e.y)/2;do r.y>i!=r.next.y>i&&r.next.y!==r.y&&s<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==t);return n}function Ig(t,e){let r=new Jn(t.i,t.x,t.y),n=new Jn(e.i,e.x,e.y),s=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=s,s.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function Bg(t,e,r,n){let s=new Jn(t,e,r);return n?(s.next=n.next,s.prev=n,n.next.prev=s,n.next=s):(s.prev=s,s.next=s),s}function Kn(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}var Jn=class{constructor(e,r,n){P(this,"i",void 0),P(this,"x",void 0),P(this,"y",void 0),P(this,"prev",null),P(this,"next",null),P(this,"z",0),P(this,"prevZ",null),P(this,"nextZ",null),P(this,"steiner",!1),this.i=e,this.x=r,this.y=n}};function ul(t,e,r){let n=YC(t),s=Object.keys(n).filter(i=>n[i]!==Array);return qC(t,{propArrayTypes:n,...e},{numericPropKeys:r&&r.numericPropKeys||s,PositionDataType:r?r.PositionDataType:Float32Array,triangulate:r?r.triangulate:!0})}function YC(t){let e={};for(let r of t)if(r.properties)for(let n in r.properties){let s=r.properties[n];e[n]=eB(s,e[n])}return e}function qC(t,e,r){let{pointPositionsCount:n,pointFeaturesCount:s,linePositionsCount:i,linePathsCount:o,lineFeaturesCount:a,polygonPositionsCount:c,polygonObjectsCount:l,polygonRingsCount:h,polygonFeaturesCount:f,propArrayTypes:u,coordLength:d}=e,{numericPropKeys:p=[],PositionDataType:_=Float32Array,triangulate:A=!0}=r,T=t[0]&&"id"in t[0],x=t.length>65535?Uint32Array:Uint16Array,R={type:"Point",positions:new _(n*d),globalFeatureIds:new x(n),featureIds:s>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},S={type:"LineString",pathIndices:i>65535?new Uint32Array(o+1):new Uint16Array(o+1),positions:new _(i*d),globalFeatureIds:new x(i),featureIds:a>65535?new Uint32Array(i):new Uint16Array(i),numericProps:{},properties:[],fields:[]},B={type:"Polygon",polygonIndices:c>65535?new Uint32Array(l+1):new Uint16Array(l+1),primitivePolygonIndices:c>65535?new Uint32Array(h+1):new Uint16Array(h+1),positions:new _(c*d),globalFeatureIds:new x(c),featureIds:f>65535?new Uint32Array(c):new Uint16Array(c),numericProps:{},properties:[],fields:[]};A&&(B.triangles=[]);for(let F of[R,S,B])for(let C of p){let E=u[C];F.numericProps[C]=new E(F.positions.length/d)}S.pathIndices[o]=i,B.polygonIndices[l]=c,B.primitivePolygonIndices[h]=c;let M={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let F of t){let C=F.geometry,E=F.properties||{};switch(C.type){case"Point":jC(C,R,M,d,E),R.properties.push(fl(E,p)),T&&R.fields.push({id:F.id}),M.pointFeature++;break;case"LineString":ZC(C,S,M,d,E),S.properties.push(fl(E,p)),T&&S.fields.push({id:F.id}),M.lineFeature++;break;case"Polygon":QC(C,B,M,d,E),B.properties.push(fl(E,p)),T&&B.fields.push({id:F.id}),M.polygonFeature++;break;default:throw new Error("Invalid geometry type")}M.feature++}return tB(R,S,B,d)}function jC(t,e,r,n,s){e.positions.set(t.data,r.pointPosition*n);let i=t.data.length/n;dl(e,s,r.pointPosition,i),e.globalFeatureIds.fill(r.feature,r.pointPosition,r.pointPosition+i),e.featureIds.fill(r.pointFeature,r.pointPosition,r.pointPosition+i),r.pointPosition+=i}function ZC(t,e,r,n,s){e.positions.set(t.data,r.linePosition*n);let i=t.data.length/n;dl(e,s,r.linePosition,i),e.globalFeatureIds.fill(r.feature,r.linePosition,r.linePosition+i),e.featureIds.fill(r.lineFeature,r.linePosition,r.linePosition+i);for(let o=0,a=t.indices.length;o<a;++o){let c=t.indices[o],l=o===a-1?t.data.length:t.indices[o+1];e.pathIndices[r.linePath++]=r.linePosition,r.linePosition+=(l-c)/n}}function QC(t,e,r,n,s){e.positions.set(t.data,r.polygonPosition*n);let i=t.data.length/n;dl(e,s,r.polygonPosition,i),e.globalFeatureIds.fill(r.feature,r.polygonPosition,r.polygonPosition+i),e.featureIds.fill(r.polygonFeature,r.polygonPosition,r.polygonPosition+i);for(let o=0,a=t.indices.length;o<a;++o){let c=r.polygonPosition;e.polygonIndices[r.polygonObject++]=c;let l=t.areas[o],h=t.indices[o],f=t.indices[o+1];for(let d=0,p=h.length;d<p;++d){let _=h[d],A=d===p-1?f===void 0?t.data.length:f[0]:h[d+1];e.primitivePolygonIndices[r.polygonRing++]=r.polygonPosition,r.polygonPosition+=(A-_)/n}let u=r.polygonPosition;$C(e,l,h,{startPosition:c,endPosition:u,coordLength:n})}}function $C(t,e,r,n){let{startPosition:s,endPosition:i,coordLength:o}=n;if(!t.triangles)return;let a=s*o,c=i*o,l=t.positions.subarray(a,c),h=r[0],f=r.slice(1).map(d=>(d-h)/o),u=ll(l,f,o,e);for(let d=0,p=u.length;d<p;++d)t.triangles.push(s+u[d])}function hl(t,e){let r={};for(let n in t)r[n]={value:t[n],size:e};return r}function tB(t,e,r,n){let s={shape:"binary-feature-collection",points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:hl(t.numericProps,1)},lines:{...e,positions:{value:e.positions,size:n},pathIndices:{value:e.pathIndices,size:1},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:hl(e.numericProps,1)},polygons:{...r,positions:{value:r.positions,size:n},polygonIndices:{value:r.polygonIndices,size:1},primitivePolygonIndices:{value:r.primitivePolygonIndices,size:1},globalFeatureIds:{value:r.globalFeatureIds,size:1},featureIds:{value:r.featureIds,size:1},numericProps:hl(r.numericProps,1)}};return s.polygons&&r.triangles&&(s.polygons.triangles={value:new Uint32Array(r.triangles),size:1}),s}function dl(t,e,r,n){for(let s in t.numericProps)if(s in e){let i=e[s];t.numericProps[s].fill(i,r,r+n)}}function fl(t,e){let r={};for(let n in t)e.includes(n)||(r[n]=t[n]);return r}function eB(t,e){return e===Array||!Number.isFinite(t)?Array:e===Float64Array||Math.fround(t)!==t?Float64Array:Float32Array}function to(t,e){let r=e?.globalFeatureId;return r!==void 0?rB(t,r):nB(t,e?.type)}function rB(t,e){let r=bg(t);for(let n of r){let s=0,i=n.featureIds.value[0];for(let o=0;o<n.featureIds.value.length;o++){let a=n.featureIds.value[o];if(a!==i){if(e===n.globalFeatureIds.value[s])return Qi(n,s,o);s=o,i=a}}if(e===n.globalFeatureIds.value[s])return Qi(n,s,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function nB(t,e){let r=bg(t,e);return sB(r)}function Og(t,e,r){switch(t.type){case"Point":return cB(t,e,r);case"LineString":return aB(t,e,r);case"Polygon":return Pg(t,e,r);default:let n=t;throw new Error(`Unsupported geometry type: ${n?.type}`)}}function bg(t,e){let r=[];return t.points&&(t.points.type="Point",r.push(t.points)),t.lines&&(t.lines.type="LineString",r.push(t.lines)),t.polygons&&(t.polygons.type="Polygon",r.push(t.polygons)),r}function sB(t){let e=[];for(let r of t){if(r.featureIds.value.length===0)continue;let n=0,s=r.featureIds.value[0];for(let i=0;i<r.featureIds.value.length;i++){let o=r.featureIds.value[i];o!==s&&(e.push(Qi(r,n,i)),n=i,s=o)}e.push(Qi(r,n,r.featureIds.value.length))}return e}function Qi(t,e,r){let n=Og(t,e,r),s=oB(t,e,r),i=iB(t,e,r);return{type:"Feature",geometry:n,properties:s,...i}}function iB(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return t.fields&&t.fields[t.featureIds.value[e]]}function oB(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=Object.assign({},t.properties[t.featureIds.value[e]]);for(let s in t.numericProps)n[s]=t.numericProps[s].value[e];return n}function Pg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,s=t.polygonIndices.value.filter(c=>c>=e&&c<=r),i=t.primitivePolygonIndices.value.filter(c=>c>=e&&c<=r);if(!(s.length>2)){let c=[];for(let l=0;l<i.length-1;l++){let h=i[l],f=i[l+1],u=$i(n,h,f);c.push(u)}return{type:"Polygon",coordinates:c}}let a=[];for(let c=0;c<s.length-1;c++){let l=s[c],h=s[c+1],f=Pg(t,l,h).coordinates;a.push(f)}return{type:"MultiPolygon",coordinates:a}}function aB(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,s=t.pathIndices.value.filter(a=>a>=e&&a<=r);if(!(s.length>2))return{type:"LineString",coordinates:$i(n,s[0],s[1])};let o=[];for(let a=0;a<s.length-1;a++){let c=$i(n,s[a],s[a+1]);o.push(c)}return{type:"MultiLineString",coordinates:o}}function cB(t,e,r){let{positions:n}=t,s=$i(n,e,r);return s.length>1?{type:"MultiPoint",coordinates:s}:{type:"Point",coordinates:s[0]}}function $i(t,e,r){e=e||0,r=r||t.value.length/t.size;let n=[];for(let s=e;s<r;s++){let i=Array();for(let o=s*t.size;o<(s+1)*t.size;o++)i.push(Number(t.value[o]));n.push(i)}return n}var El=v(Vg(),1);function Xg(t){let e=t.length;if(e<=1)return[t];let r=[],n,s;for(let i=0;i<e;i++){let o=MB(t[i]);o!==0&&(s===void 0&&(s=o<0),s===o<0?(n&&r.push(n),n=[t[i]]):n&&n.push(t[i]))}return n&&r.push(n),r}function MB(t){let e=0;for(let r=0,n=t.length-1,s,i;r<t.length;n=r++)s=t[r],i=t[n],e+=(i[0]-s[0])*(s[1]+i[1]);return e}function Wg(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?yB(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function yB(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],s=e._values[t.readVarint()];e.properties[n]=s}}var hr=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(e,r,n,s,i){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=s,this._values=i,e.readFields(Wg,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,s=0,i=0,o=0,a=[],c;for(;e.pos<r;){if(s<=0){let l=e.readVarint();n=l&7,s=l>>3}if(s--,n===1||n===2)i+=e.readSVarint(),o+=e.readSVarint(),n===1&&(c&&a.push(c),c=[]),c&&c.push([i,o]);else if(n===7)c&&c.push(c[0].slice());else throw new Error(`unknown command ${n}`)}return c&&a.push(c),a}bbox(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,s=0,i=0,o=0,a=1/0,c=-1/0,l=1/0,h=-1/0;for(;e.pos<r;){if(s<=0){let f=e.readVarint();n=f&7,s=f>>3}if(s--,n===1||n===2)i+=e.readSVarint(),o+=e.readSVarint(),i<a&&(a=i),i>c&&(c=i),o<l&&(l=o),o>h&&(h=o);else if(n!==7)throw new Error(`unknown command ${n}`)}return[a,l,c,h]}_toGeoJSON(e){let r=this.loadGeometry(),n=hr.types[this.type],s,i;switch(this.type){case 1:let a=[];for(s=0;s<r.length;s++)a[s]=r[s][0];r=a,e(r,this);break;case 2:for(s=0;s<r.length;s++)e(r[s],this);break;case 3:for(r=Xg(r),s=0;s<r.length;s++)for(i=0;i<r[s].length;i++)e(r[s][i],this);break}r.length===1?r=r[0]:n=`Multi${n}`;let o={type:"Feature",geometry:{type:n,coordinates:r},properties:this.properties};return this.id!==null&&(o.id=this.id),o}toGeoJSON(e){if(typeof e=="function")return this._toGeoJSON(e);let{x:r,y:n,z:s}=e,i=this.extent*Math.pow(2,s),o=this.extent*r,a=this.extent*n;function c(l){for(let h=0;h<l.length;h++){let f=l[h];f[0]=(f[0]+o)*360/i-180;let u=180-(f[1]+a)*360/i;f[1]=360/Math.PI*Math.atan(Math.exp(u*Math.PI/180))-90}}return this._toGeoJSON(c)}};var Yn=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(IB,this,r),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let r=this._pbf.readVarint()+this._pbf.pos;return new hr(this._pbf,r,this.extent,this._keys,this._values)}};function IB(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(FB(r)))}function FB(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var qn=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(NB,{},r)}};function NB(t,e,r){if(t===3&&r){let n=new Yn(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function zg(t){let e=t.indices.length,r="Polygon";if(e<=1)return{type:r,data:t.data,areas:[[cr(t.data)]],indices:[t.indices]};let n=[],s=[],i=[],o=[],a,c=0;for(let l,h=0,f;h<e;h++){f=t.indices[h]-c,l=t.indices[h+1]-c||t.data.length;let u=t.data.slice(f,l),d=cr(u);if(d===0){let p=t.data.slice(0,f),_=t.data.slice(l);t.data=p.concat(_),c+=l-f;continue}a===void 0&&(a=d<0),a===d<0?(o.length&&(n.push(i),s.push(o)),o=[f],i=[d]):(i.push(d),o.push(f))}return i&&n.push(i),o.length&&s.push(o),{type:r,areas:n,indices:s,data:t.data}}function kg(t,e,r,n){for(let s=0,i=t.length;s<i;s+=2){t[s]=(t[s]+e)*360/n-180;let o=180-(t[s+1]+r)*360/n;t[s+1]=360/Math.PI*Math.atan(Math.exp(o*Math.PI/180))-90}}function Gg(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?OB(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function OB(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],s=e._values[t.readVarint()];e.properties[n]=s}}var Kg,fr,Al,no,_l,ml,jn;var Zn=class{constructor(e,r,n,s,i,o){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this._geometryInfo=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=s,this._values=i,this._geometryInfo=o,e.readFields(Gg,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry,Kg=e.readVarint()+e.pos,fr=1,no=0,_l=0,ml=0,jn=0;let r=[],n=[];for(;e.pos<Kg;)if(no<=0&&(Al=e.readVarint(),fr=Al&7,no=Al>>3),no--,fr===1||fr===2)_l+=e.readSVarint(),ml+=e.readSVarint(),fr===1&&r.push(jn),n.push(_l,ml),jn+=2;else if(fr===7){if(jn>0){let s=r[r.length-1];n.push(n[s],n[s+1]),jn+=2}}else throw new Error(`unknown command ${fr}`);return{data:n,indices:r}}_toBinaryCoordinates(e){let r=this.loadGeometry(),n;e(r.data,this);let s=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=r.indices.length,n={type:"Point",...r};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=r.indices.length,this._geometryInfo.linePositionsCount+=r.data.length/s,n={type:"LineString",...r};break;case 3:n=zg(r),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=n.indices.length;for(let o of n.indices)this._geometryInfo.polygonRingsCount+=o.length;this._geometryInfo.polygonPositionsCount+=n.data.length/s;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let i={type:"Feature",geometry:n,properties:this.properties};return this.id!==null&&(i.id=this.id),i}toBinaryCoordinates(e){if(typeof e=="function")return this._toBinaryCoordinates(e);let{x:r,y:n,z:s}=e,i=this.extent*Math.pow(2,s),o=this.extent*r,a=this.extent*n;return this._toBinaryCoordinates(c=>kg(c,o,a,i))}};var Qn=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(bB,this,r),this.length=this._features.length}feature(e,r){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let n=this._pbf.readVarint()+this._pbf.pos;return new Zn(this._pbf,n,this.extent,this._keys,this._values,r)}};function bB(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(PB(r)))}function PB(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var $n=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(DB,{},r)}};function DB(t,e,r){if(t===3&&r){let n=new Qn(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function so(t,e){var r,n;let s=vB(e),i=(e==null||(r=e.gis)===null||r===void 0?void 0:r.format)||(e==null||(n=e.mvt)===null||n===void 0?void 0:n.shape)||e?.shape;switch(i){case"columnar-table":return{shape:"columnar-table",data:Tl(t,s)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:Jg(t,s)};case"geojson":return Jg(t,s);case"binary-geometry":return Tl(t,s);case"binary":return Tl(t,s);default:throw new Error(i||"undefined shape")}}function Tl(t,e){let[r,n]=wB(t,e),s=ul(r,n);return s.byteLength=t.byteLength,s}function wB(t,e){let r=[],n={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength<=0)return[r,n];let s=new $n(new El.default(t));return(e&&Array.isArray(e.layers)?e.layers:Object.keys(s.layers)).forEach(o=>{let a=s.layers[o];if(a)for(let c=0;c<a.length;c++){let l=a.feature(c,n),h=LB(l,e,o);r.push(h)}}),[r,n]}function Jg(t,e){if(t.byteLength<=0)return[];let r=[],n=new qn(new El.default(t));return(Array.isArray(e.layers)?e.layers:Object.keys(n.layers)).forEach(i=>{let o=n.layers[i];if(o)for(let a=0;a<o.length;a++){let c=o.feature(a),l=UB(c,e,i);r.push(l)}}),r}function vB(t){var e;if(!(t!=null&&t.mvt))throw new Error("mvt options required");let r=((e=t.mvt)===null||e===void 0?void 0:e.coordinates)==="wgs84",{tileIndex:n}=t.mvt,s=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(r&&!s)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return t.mvt}function UB(t,e,r){let n=t.toGeoJSON(e.coordinates==="wgs84"?e.tileIndex:HB);return e.layerProperty&&(n.properties[e.layerProperty]=r),n}function LB(t,e,r){let n=t.toBinaryCoordinates(e.coordinates==="wgs84"?e.tileIndex:VB);return e.layerProperty&&n.properties&&(n.properties[e.layerProperty]=r),n}function HB(t,e){let{extent:r}=e;for(let n=0;n<t.length;n++){let s=t[n];s[0]/=r,s[1]/=r}}function VB(t,e){let{extent:r}=e;for(let n=0,s=t.length;n<s;++n)t[n]/=r}var XB="4.1.0",io={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:XB,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}},WB={...io,parse:async(t,e)=>so(t,e),parseSync:so,binary:!0};var zB={Point:Yg,MultiPoint:kB,LineString:qg,MultiLineString:GB,Polygon:jg,MultiPolygon:KB};function Yg([t,e],[r,n],s){let i=Re(r[0],n[0],t),o=Re(r[1],n[1],e);return s.unprojectFlat([i,o])}function Rl(t,e,r){return t.map(n=>Yg(n,e,r))}function kB(t,e,r){return Rl(t,e,r)}function qg(t,e,r){return Rl(t,e,r)}function GB(t,e,r){return t.map(n=>qg(n,e,r))}function jg(t,e,r){return t.map(n=>Rl(n,e,r))}function KB(t,e,r){return t.map(n=>jg(n,e,r))}function Zg(t,e,r){let n=r.projectFlat([e.west,e.north]),s=r.projectFlat([e.east,e.south]),i=[n,s];return{...t,coordinates:zB[t.type](t.coordinates,i,r)}}var JB=["points","lines","polygons"];function xl(t,e,r,n){for(let s of JB){let i=t[s]&&YB(t[s],e,r,n);if(i>=0)return i}return-1}function YB(t,e,r,n){let s=t.featureIds.value;if(!s.length)return-1;let i=0,o=s[s.length-1]+1;if(n){let c=qB(t,n);if(c)i=c[0],o=c[1]+1;else return-1}let a=-1;if(e in t.numericProps){let c=t.numericProps[e].value.findIndex((l,h)=>l===r&&s[h]>=i&&s[h]<o);return c>=0?t.globalFeatureIds.value[c]:-1}else e?a=Qg(t.properties,c=>c[e]===r,i,o):t.fields&&(a=Qg(t.fields,c=>c.id===r,i,o));return a>=0?jB(t,a):-1}function qB(t,e){if(!t.__layers){let r={},{properties:n}=t;for(let s=0;s<n.length;s++){let{layerName:i}=n[s];i&&(r[i]?r[i][1]=s:r[i]=[s,s])}t.__layers=r}return t.__layers[e]}function jB(t,e){if(!t.__ids){let r=[],n=t.featureIds.value,s=t.globalFeatureIds.value;for(let i=0;i<n.length;i++)r[n[i]]=s[i];t.__ids=r}return t.__ids[e]}function Qg(t,e,r,n){for(let s=r;s<n;s++)if(e(t[s],s))return s;return-1}var Sl=512,ZB={...Bl.GeoJsonLayer.defaultProps,data:Ie,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[io],binary:!0},oo=class extends te{initializeState(){super.initializeState();let e=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:e,data:null,tileJSON:null,hoveredFeatureId:null,hoveredFeatureLayerName:null})}get isLoaded(){return Boolean(this.state?.data&&super.isLoaded)}updateState({props:e,oldProps:r,context:n,changeFlags:s}){s.dataChanged&&this._updateTileData(),this.state?.data&&(super.updateState({props:e,oldProps:r,context:n,changeFlags:s}),this._setWGS84PropertyForTiles());let{highlightColor:i}=e;i!==r.highlightColor&&Array.isArray(i)&&this.setState({highlightColor:i})}async _updateTileData(){let e=this.props.data,r=null;if(typeof e=="string"&&!Na(e)){let{onDataLoad:n,fetch:s}=this.props;this.setState({data:null,tileJSON:null});try{r=await s(e,{propName:"data",layer:this,loaders:[]})}catch(i){this.raiseError(i,"loading TileJSON"),e=null}n&&n(r,{propName:"data",layer:this})}else e&&typeof e=="object"&&"tilejson"in e&&(r=e);r&&(e=r.tiles),this.setState({data:e,tileJSON:r})}_getTilesetOptions(){let e=super._getTilesetOptions(),r=this.state.tileJSON,{minZoom:n,maxZoom:s}=this.props;return r&&(Number.isFinite(r.minzoom)&&r.minzoom>n&&(e.minZoom=r.minzoom),Number.isFinite(r.maxzoom)&&(!Number.isFinite(s)||r.maxzoom<s)&&(e.maxZoom=r.maxzoom)),e}renderLayers(){return this.state?.data?super.renderLayers():null}getTileData(e){let{data:r,binary:n}=this.state,{index:s,signal:i}=e,o=$t(r,e);if(!o)return Promise.reject("Invalid URL");let a=this.getLoadOptions(),{fetch:c}=this.props;return a={...a,mimeType:"application/x-protobuf",mvt:{...a?.mvt,coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:s},gis:n?{format:"binary"}:{}},c(o,{propName:"data",layer:this,loadOptions:a,signal:i})}renderSubLayers(e){let{x:r,y:n,z:s}=e.tile.index,i=Math.pow(2,s),o=Sl/i,a=-o,c=Sl*r/i,l=Sl*(1-n/i),h=new D().scale([o,a,1]);e.autoHighlight=!1,this.context.viewport.resolution||(e.modelMatrix=h,e.coordinateOrigin=[c,l,0],e.coordinateSystem=ao.COORDINATE_SYSTEM.CARTESIAN,e.extensions=[...e.extensions||[],new r0.ClipExtension]);let f=super.renderSubLayers(e);return this.state.binary&&!(f instanceof Bl.GeoJsonLayer)&&ao.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),f}_updateAutoHighlight(e){let{uniqueIdProperty:r}=this.props,{hoveredFeatureId:n,hoveredFeatureLayerName:s}=this.state,i=e.object,o=null,a=null;i&&(o=Cl(i,r),a=$g(i));let{highlightColor:c}=this.props;typeof c=="function"&&(c=c(e)),(n!==o||s!==a)&&this.setState({highlightColor:c,hoveredFeatureId:o,hoveredFeatureLayerName:a})}getPickingInfo(e){let r=super.getPickingInfo(e),n=Boolean(this.context.viewport.resolution);if(this.state.binary&&r.index!==-1){let{data:s}=e.sourceLayer.props;r.object=to(s,{globalFeatureId:r.index})}return r.object&&!n&&(r.object=e0(r.object,r.tile.bbox,this.context.viewport)),r}getSubLayerPropsByTile(e){return{highlightedObjectIndex:this.getHighlightedObjectIndex(e),highlightColor:this.state.highlightColor}}getHighlightedObjectIndex(e){let{hoveredFeatureId:r,hoveredFeatureLayerName:n,binary:s}=this.state,{uniqueIdProperty:i,highlightedFeatureId:o}=this.props,a=e.content,c=t0(o);if(!(t0(r)||c))return-1;let h=c?o:r;return Array.isArray(a)?a.findIndex(f=>{let u=Cl(f,i)===h,d=c||$g(f)===n;return u&&d}):a&&s?xl(a,i,h,c?"":n):-1}_pickObjects(e){let{deck:r,viewport:n}=this.context,s=n.width,i=n.height,o=n.x,a=n.y,c=[this.id];return r.pickObjects({x:o,y:a,width:s,height:i,layerIds:c,maxObjects:e})}getRenderedFeatures(e=null){let r=this._pickObjects(e),n=new Set,s=[];for(let i of r){let o=Cl(i.object,this.props.uniqueIdProperty);o===void 0?s.push(i.object):n.has(o)||(n.add(o),s.push(i.object))}return s}_setWGS84PropertyForTiles(){let e="dataInWGS84";this.state.tileset.selectedTiles.forEach(n=>{n.hasOwnProperty(e)||Object.defineProperty(n,e,{get:()=>{if(!n.content)return null;if(this.state.binary&&Array.isArray(n.content)&&!n.content.length)return[];let{bbox:s}=n;if(n._contentWGS84===void 0&&Oa(s)){let i=this.state.binary?to(n.content):n.content;n._contentWGS84=i.map(o=>e0(o,s,this.context.viewport))}return n._contentWGS84}})})}},ts=oo;(()=>{oo.layerName="MVTLayer"})(),(()=>{oo.defaultProps=ZB})();function Cl(t,e){if(t.properties&&e)return t.properties[e];if("id"in t)return t.id}function $g(t){return t.properties?.layerName||null}function t0(t){return t!=null&&t!==""}function e0(t,e,r){let n={...t,geometry:{type:t.geometry.type}};return Object.defineProperty(n.geometry,"coordinates",{get:()=>Zg(t.geometry,e,r).coordinates}),n}var n0="0123456789bcdefghjkmnpqrstuvwxyz",s0={};for(let t=0;t<n0.length;t++)s0[n0.charAt(t)]=t;var QB=-90,$B=90,tM=-180,eM=180;function rM(t){let e=!0,r=$B,n=QB,s=eM,i=tM,o,a=0;for(let c=0,l=t.length;c<l;c++){let h=t[c].toLowerCase();a=s0[h];for(let f=4;f>=0;f--){let u=a>>f&1;e?(o=(s+i)/2,u===1?i=o:s=o):(o=(r+n)/2,u===1?n=o:r=o),e=!e}}return[n,i,r,s]}function i0(t){let[e,r,n,s]=rM(t);return[s,n,s,e,r,e,r,n,s,n]}var nM={getGeohash:{type:"accessor",value:t=>t.geohash}},co=class extends It{indexToBounds(){let{data:e,getGeohash:r}=this.props;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(n,s)=>i0(r(n,s))}}},es=co;(()=>{co.layerName="GeohashLayer"})(),(()=>{co.defaultProps=nM})();return d0(rs);})();
770
638
  return __exports__;
771
639
  });