@carbonenginejs/runtime-trinity 0.4.0 → 0.5.0

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 (966) hide show
  1. package/README.md +139 -7
  2. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +1 -1
  3. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  4. package/dist/controllers/Tr2BindingPoint.js +1 -1
  5. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  6. package/dist/controllers/Tr2ControllerExpression.js +7 -7
  7. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  8. package/dist/curves/CjsGrannyCurves.js +119 -5
  9. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  10. package/dist/curves/Tr2BoneMatrixCurve.js +59 -4
  11. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  12. package/dist/curves/Tr2CurveRandomAxisRotation.js +4 -3
  13. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  14. package/dist/curves/Tr2GrannyTrack.js +1 -1
  15. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  16. package/dist/curves/Tr2MatrixKey.js +1 -1
  17. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  18. package/dist/curves/Tr2ScalarExprKey.js +106 -103
  19. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  20. package/dist/curves/TriColorSequencer.js +86 -0
  21. package/dist/curves/TriColorSequencer.js.map +1 -0
  22. package/dist/curves/TriEventCurve.js +1 -1
  23. package/dist/curves/TriEventCurve.js.map +1 -1
  24. package/dist/curves/TriPerlinCurve.js +2 -49
  25. package/dist/curves/TriPerlinCurve.js.map +1 -1
  26. package/dist/curves/TriVectorSequencer.js +103 -0
  27. package/dist/curves/TriVectorSequencer.js.map +1 -0
  28. package/dist/curves/index.js +2 -0
  29. package/dist/curves/index.js.map +1 -1
  30. package/dist/eve/AudioGameObject.js +121 -0
  31. package/dist/eve/AudioGameObject.js.map +1 -0
  32. package/dist/eve/CjsDistributionRandom.js +39 -0
  33. package/dist/eve/CjsDistributionRandom.js.map +1 -0
  34. package/dist/eve/EveBannerItem.js +6 -2
  35. package/dist/eve/EveBannerItem.js.map +1 -1
  36. package/dist/eve/EveBannerLight.js +9 -12
  37. package/dist/eve/EveBannerLight.js.map +1 -1
  38. package/dist/eve/EveBannerSet.js +21 -1
  39. package/dist/eve/EveBannerSet.js.map +1 -1
  40. package/dist/eve/EveBoosterSet2.js +20 -2
  41. package/dist/eve/EveBoosterSet2.js.map +1 -1
  42. package/dist/eve/EveComponentTypes.js +116 -0
  43. package/dist/eve/EveComponentTypes.js.map +1 -0
  44. package/dist/eve/EveHazeSet.js +19 -1
  45. package/dist/eve/EveHazeSet.js.map +1 -1
  46. package/dist/eve/EveHazeSetLight.js +9 -12
  47. package/dist/eve/EveHazeSetLight.js.map +1 -1
  48. package/dist/eve/EveParticleDirectForce.js +25 -0
  49. package/dist/eve/EveParticleDirectForce.js.map +1 -0
  50. package/dist/eve/EveParticleDragForce.js +25 -0
  51. package/dist/eve/EveParticleDragForce.js.map +1 -0
  52. package/dist/eve/EveParticleSpring.js +26 -0
  53. package/dist/eve/EveParticleSpring.js.map +1 -0
  54. package/dist/eve/EvePlaneLight.js +9 -15
  55. package/dist/eve/EvePlaneLight.js.map +1 -1
  56. package/dist/eve/EvePlaneSet.js +20 -1
  57. package/dist/eve/EvePlaneSet.js.map +1 -1
  58. package/dist/eve/EvePlaneSetItem.js +1 -1
  59. package/dist/eve/EvePlaneSetItem.js.map +1 -1
  60. package/dist/eve/EveSpaceObjectDecal.js +1 -1
  61. package/dist/eve/EveSpaceObjectDecal.js.map +1 -1
  62. package/dist/eve/EveSpacePerObjectData.js +14 -4
  63. package/dist/eve/EveSpacePerObjectData.js.map +1 -1
  64. package/dist/eve/EveSpotlightLight.js +9 -12
  65. package/dist/eve/EveSpotlightLight.js.map +1 -1
  66. package/dist/eve/EveSpotlightSet.js +19 -1
  67. package/dist/eve/EveSpotlightSet.js.map +1 -1
  68. package/dist/eve/EveSpriteLight.js +9 -15
  69. package/dist/eve/EveSpriteLight.js.map +1 -1
  70. package/dist/eve/EveSpriteLineSet.js +19 -1
  71. package/dist/eve/EveSpriteLineSet.js.map +1 -1
  72. package/dist/eve/EveSpriteLineSetItem.js +1 -1
  73. package/dist/eve/EveSpriteLineSetItem.js.map +1 -1
  74. package/dist/eve/EveSpriteSet.js +19 -1
  75. package/dist/eve/EveSpriteSet.js.map +1 -1
  76. package/dist/eve/EveTrailsSet.js +1 -1
  77. package/dist/eve/EveTrailsSet.js.map +1 -1
  78. package/dist/eve/EveUpdateContext.js +195 -31
  79. package/dist/eve/EveUpdateContext.js.map +1 -1
  80. package/dist/eve/Locator.js +2 -2
  81. package/dist/eve/Locator.js.map +1 -1
  82. package/dist/eve/attachment/decal/DecalMeshCache.js +47 -0
  83. package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -0
  84. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +424 -0
  85. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -0
  86. package/dist/eve/attachment/turrets/EveTurretSet.js +788 -0
  87. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -0
  88. package/dist/{generated/eve → eve}/attachment/turrets/EveTurretSetPSData.js +6 -4
  89. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +1 -0
  90. package/dist/{generated/eve → eve}/attachment/turrets/EveTurretSetVSData.js +12 -8
  91. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +1 -0
  92. package/dist/eve/attachment/turrets/EveTurretTarget.js +216 -0
  93. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -0
  94. package/dist/eve/child/EveChildAudio.js +89 -0
  95. package/dist/eve/child/EveChildAudio.js.map +1 -0
  96. package/dist/eve/child/EveChildContainer.js +540 -14
  97. package/dist/eve/child/EveChildContainer.js.map +1 -1
  98. package/dist/eve/child/EveChildEffectPropagator.js +600 -0
  99. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -0
  100. package/dist/eve/child/EveChildFogVolume.js +183 -0
  101. package/dist/eve/child/EveChildFogVolume.js.map +1 -0
  102. package/dist/{generated/eve → eve}/child/EveChildInstanceTransform.js +1 -1
  103. package/dist/eve/child/EveChildInstanceTransform.js.map +1 -0
  104. package/dist/eve/child/EveChildInstancedMeshes.js +45 -3
  105. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  106. package/dist/eve/child/EveChildLightingOverride.js +159 -0
  107. package/dist/eve/child/EveChildLightingOverride.js.map +1 -0
  108. package/dist/eve/child/EveChildMesh.js +571 -13
  109. package/dist/eve/child/EveChildMesh.js.map +1 -1
  110. package/dist/eve/child/EveChildTransform.js +39 -24
  111. package/dist/eve/child/EveChildTransform.js.map +1 -1
  112. package/dist/{generated/eve → eve}/child/EveCloudVolumeBall.js +1 -1
  113. package/dist/eve/child/EveCloudVolumeBall.js.map +1 -0
  114. package/dist/{generated/eve → eve}/child/behaviors/DroneAgent.js +1 -1
  115. package/dist/eve/child/behaviors/DroneAgent.js.map +1 -0
  116. package/dist/{generated/eve → eve}/child/behaviors/SplineTunnel.js +1 -1
  117. package/dist/eve/child/behaviors/SplineTunnel.js.map +1 -0
  118. package/dist/{generated/eve → eve}/child/behaviors/SplineTunnelPoint.js +1 -1
  119. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +1 -0
  120. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +2 -1
  121. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  122. package/dist/eve/child/lineSetPaths/EveCircle.js +2 -1
  123. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  124. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -4
  125. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  126. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +3 -2
  127. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  128. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +5 -3
  129. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  130. package/dist/eve/child/modifiers/EveChildModifierSRT.js +6 -4
  131. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  132. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +7 -2
  133. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
  134. package/dist/{generated/eve → eve}/distribution/attributeModifiers/InitialPlacement.js +1 -1
  135. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -0
  136. package/dist/eve/index.js +49 -1
  137. package/dist/eve/index.js.map +1 -1
  138. package/dist/{generated/eve/lights/LightData.js → eve/lights/CjsLightData.js} +59 -44
  139. package/dist/eve/lights/CjsLightData.js.map +1 -0
  140. package/dist/{generated/eve → eve}/lights/LightFeatures.js +1 -1
  141. package/dist/eve/lights/LightFeatures.js.map +1 -0
  142. package/dist/eve/lights/Tr2Light.js +30 -38
  143. package/dist/eve/lights/Tr2Light.js.map +1 -1
  144. package/dist/eve/lights/Tr2PointLight.js +37 -15
  145. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  146. package/dist/eve/lights/Tr2SpotLight.js +41 -15
  147. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  148. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -31
  149. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  150. package/dist/eve/perObjectData/DecalPSPerObjectData.js +56 -0
  151. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +1 -0
  152. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +31 -0
  153. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  154. package/dist/{generated/eve → eve}/perObjectData/EveTurretSetPerObjectData.js +5 -3
  155. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  156. package/dist/{generated/eve → eve}/perObjectData/MergeMorphsConstantBuffer.js +1 -1
  157. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +1 -0
  158. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +129 -0
  159. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -0
  160. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +127 -0
  161. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -0
  162. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +200 -0
  163. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -0
  164. package/dist/eve/{EveRemotePositionCurve.js → renderable/stretch/EveRemotePositionCurve.js} +2 -2
  165. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -0
  166. package/dist/eve/renderable/stretch/EveStretch.js +293 -0
  167. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -0
  168. package/dist/eve/renderable/stretch/EveStretch2.js +188 -0
  169. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -0
  170. package/dist/eve/renderable/stretch/EveStretch3.js +335 -0
  171. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -0
  172. package/dist/eve/scene/EveSpaceScene.js +475 -21
  173. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  174. package/dist/eve/socket/EveSocketParameterFilePath.js +26 -0
  175. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -0
  176. package/dist/eve/spaceObject/EveEffectRoot2.js +690 -0
  177. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -0
  178. package/dist/eve/spaceObject/EveMissile.js +165 -0
  179. package/dist/eve/spaceObject/EveMissile.js.map +1 -0
  180. package/dist/eve/spaceObject/EveMissileWarhead.js +318 -0
  181. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -0
  182. package/dist/eve/spaceObject/EveMobile.js +292 -0
  183. package/dist/eve/spaceObject/EveMobile.js.map +1 -0
  184. package/dist/eve/spaceObject/EveRootTransform.js +182 -0
  185. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -0
  186. package/dist/eve/spaceObject/EveSpaceObject2.js +743 -15
  187. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  188. package/dist/eve/spaceObject/EveTransform.js +264 -0
  189. package/dist/eve/spaceObject/EveTransform.js.map +1 -0
  190. package/dist/{generated/eve → eve}/spaceObject/swarm/SwarmVehicle.js +1 -1
  191. package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -0
  192. package/dist/{generated/eve → eve}/spaceObject/swarm/SwarmVehicleDebug.js +1 -1
  193. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -0
  194. package/dist/{generated/eve → eve}/ui/EveEllipseDefinition.js +17 -16
  195. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -0
  196. package/dist/{generated/eve → eve}/ui/EveEllipseSet.js +42 -32
  197. package/dist/eve/ui/EveEllipseSet.js.map +1 -0
  198. package/dist/eve/ui/EveSprite2dBracket.js +75 -0
  199. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -0
  200. package/dist/eve/ui/EveUiObject.js +58 -0
  201. package/dist/eve/ui/EveUiObject.js.map +1 -0
  202. package/dist/eve/volume/EveBoxVolume.js +47 -1
  203. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  204. package/dist/eve/volume/EveEllipsoidVolume.js +28 -1
  205. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  206. package/dist/eve/volume/EveSphereVolume.js +24 -1
  207. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  208. package/dist/generated/{trinityCore → curves}/Tr2VectorFunctionModifier.js +2 -2
  209. package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -0
  210. package/dist/generated/curves/index.js +1 -3
  211. package/dist/generated/curves/index.js.map +1 -1
  212. package/dist/generated/eve/EveCamera.js +100 -21
  213. package/dist/generated/eve/EveCamera.js.map +1 -1
  214. package/dist/generated/eve/EveEntity.js +59 -12
  215. package/dist/generated/eve/EveEntity.js.map +1 -1
  216. package/dist/generated/eve/attachment/decal/index.js +1 -1
  217. package/dist/generated/eve/attachment/index.js +0 -6
  218. package/dist/generated/eve/attachment/index.js.map +1 -1
  219. package/dist/generated/eve/attachment/turrets/enums.js.map +1 -1
  220. package/dist/generated/eve/attachment/turrets/index.js +0 -5
  221. package/dist/generated/eve/attachment/turrets/index.js.map +1 -1
  222. package/dist/generated/eve/child/EveChildBehaviorSystem.js +319 -7
  223. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +1 -1
  224. package/dist/generated/eve/child/EveChildBulletStorm.js +67 -13
  225. package/dist/generated/eve/child/EveChildBulletStorm.js.map +1 -1
  226. package/dist/generated/eve/child/EveChildCloud2.js +88 -5
  227. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  228. package/dist/generated/eve/child/EveChildExplosion.js +116 -13
  229. package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
  230. package/dist/generated/eve/child/EveChildInstanceContainer.js +42 -8
  231. package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
  232. package/dist/generated/eve/child/EveChildLineSet.js +3 -3
  233. package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
  234. package/dist/generated/eve/child/EveChildLink.js +218 -36
  235. package/dist/generated/eve/child/EveChildLink.js.map +1 -1
  236. package/dist/generated/eve/child/EveChildParticleSphere.js +40 -4
  237. package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
  238. package/dist/generated/eve/child/EveChildParticleSystem.js +282 -10
  239. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  240. package/dist/generated/eve/child/EveChildPlug.js +36 -8
  241. package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
  242. package/dist/generated/eve/child/EveChildPostProcessVolume.js +230 -32
  243. package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
  244. package/dist/generated/eve/child/EveChildQuad.js +290 -38
  245. package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
  246. package/dist/generated/eve/child/EveChildRef.js +35 -12
  247. package/dist/generated/eve/child/EveChildRef.js.map +1 -1
  248. package/dist/generated/eve/child/EveChildSocket.js +52 -14
  249. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  250. package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  251. package/dist/generated/eve/child/behaviors/Allign.js +114 -9
  252. package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
  253. package/dist/generated/eve/child/behaviors/ApproachGroup.js +117 -9
  254. package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
  255. package/dist/generated/eve/child/behaviors/BackAndForth.js +195 -7
  256. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  257. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +675 -17
  258. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  259. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +223 -75
  260. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  261. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +54 -9
  262. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  263. package/dist/generated/eve/child/behaviors/DroneAvoidance.js +134 -9
  264. package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  265. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +302 -9
  266. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  267. package/dist/generated/eve/child/behaviors/FollowASpline.js +336 -12
  268. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  269. package/dist/generated/eve/child/behaviors/Formation.js +304 -9
  270. package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
  271. package/dist/generated/eve/child/behaviors/InclusionVolume.js +70 -9
  272. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +1 -1
  273. package/dist/generated/eve/child/behaviors/Inertia.js +101 -9
  274. package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
  275. package/dist/generated/eve/child/behaviors/PlayFX.js +208 -9
  276. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  277. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +412 -9
  278. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +1 -1
  279. package/dist/generated/eve/child/behaviors/SeekTarget.js +102 -18
  280. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  281. package/dist/generated/eve/child/behaviors/SpawnDrones.js +111 -3
  282. package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
  283. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +114 -11
  284. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +1 -1
  285. package/dist/generated/eve/child/behaviors/Wander.js +52 -9
  286. package/dist/generated/eve/child/behaviors/Wander.js.map +1 -1
  287. package/dist/generated/eve/child/behaviors/enums.js.map +1 -1
  288. package/dist/generated/eve/child/behaviors/index.js +0 -3
  289. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  290. package/dist/generated/eve/child/enums.js.map +1 -1
  291. package/dist/generated/eve/child/index.js +0 -9
  292. package/dist/generated/eve/child/index.js.map +1 -1
  293. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js +66 -22
  294. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  295. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js +117 -21
  296. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  297. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js +87 -22
  298. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  299. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +37 -5
  300. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  301. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +302 -48
  302. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  303. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +76 -4
  304. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  305. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +58 -4
  306. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  307. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js +92 -5
  308. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  309. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +78 -4
  310. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  311. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js +137 -4
  312. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  313. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +73 -4
  314. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  315. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +63 -4
  316. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  317. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js +123 -4
  318. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  319. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js +360 -45
  320. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  321. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +11 -5
  322. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  323. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +27 -5
  324. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  325. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +36 -5
  326. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  327. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -1
  328. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +1 -1
  329. package/dist/generated/eve/distribution/index.js +0 -1
  330. package/dist/generated/eve/distribution/index.js.map +1 -1
  331. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +30 -4
  332. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  333. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +59 -4
  334. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  335. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +67 -4
  336. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  337. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +26 -4
  338. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  339. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +25 -4
  340. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  341. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +28 -4
  342. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  343. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +28 -4
  344. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  345. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js +27 -4
  346. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  347. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +40 -5
  348. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  349. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js +27 -4
  350. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  351. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +65 -4
  352. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  353. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +55 -4
  354. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  355. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +63 -4
  356. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  357. package/dist/generated/eve/effect/EveLensflare.js +11 -6
  358. package/dist/generated/eve/effect/EveLensflare.js.map +1 -1
  359. package/dist/generated/eve/effect/EveMultiEffect.js +24 -11
  360. package/dist/generated/eve/effect/EveMultiEffect.js.map +1 -1
  361. package/dist/generated/eve/enums.js.map +1 -1
  362. package/dist/generated/eve/index.js +9 -43
  363. package/dist/generated/eve/index.js.map +1 -1
  364. package/dist/generated/eve/lights/Tr2FactionLight.js +116 -26
  365. package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
  366. package/dist/generated/eve/lights/index.js +0 -2
  367. package/dist/generated/eve/lights/index.js.map +1 -1
  368. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  369. package/dist/generated/eve/perObjectData/index.js +0 -3
  370. package/dist/generated/eve/perObjectData/index.js.map +1 -1
  371. package/dist/generated/eve/renderable/index.js +0 -5
  372. package/dist/generated/eve/renderable/index.js.map +1 -1
  373. package/dist/generated/eve/renderable/stretch/enums.js.map +1 -1
  374. package/dist/generated/eve/renderable/stretch/index.js +0 -5
  375. package/dist/generated/eve/renderable/stretch/index.js.map +1 -1
  376. package/dist/generated/eve/scene/EveComponentCollection.js +32 -5
  377. package/dist/generated/eve/scene/EveComponentCollection.js.map +1 -1
  378. package/dist/generated/eve/scene/EveComponentRegistry.js +117 -5
  379. package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
  380. package/dist/generated/eve/scene/EveSceneStaticParticles.js +117 -11
  381. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +1 -1
  382. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
  383. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  384. package/dist/generated/eve/scene/TriShadowFrustum.js +74 -22
  385. package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
  386. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +128 -26
  387. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
  388. package/dist/generated/eve/scene/index.js +0 -2
  389. package/dist/generated/eve/scene/index.js.map +1 -1
  390. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +204 -28
  391. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  392. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +78 -10
  393. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  394. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +220 -26
  395. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  396. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +291 -40
  397. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  398. package/dist/generated/eve/smartLights/EveSmartLightQuad.js +293 -36
  399. package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  400. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +33 -13
  401. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  402. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +70 -5
  403. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  404. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +184 -70
  405. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  406. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +68 -9
  407. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  408. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +63 -9
  409. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  410. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +253 -26
  411. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  412. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +37 -9
  413. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  414. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +145 -9
  415. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  416. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +1 -1
  417. package/dist/generated/eve/smartLights/index.js +1 -1
  418. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js +33 -5
  419. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +1 -1
  420. package/dist/generated/eve/socket/EveSocketParameterBool.js +56 -0
  421. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +1 -0
  422. package/dist/generated/eve/socket/EveSocketParameterColor.js +68 -0
  423. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +1 -0
  424. package/dist/generated/eve/socket/EveSocketParameterFloat.js +56 -0
  425. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +1 -0
  426. package/dist/generated/eve/socket/EveSocketParameterInt.js +56 -0
  427. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +1 -0
  428. package/dist/generated/eve/socket/EveSocketParameterString.js +54 -5
  429. package/dist/generated/eve/socket/EveSocketParameterString.js.map +1 -1
  430. package/dist/generated/eve/socket/EveSocketParameterVector2.js +64 -0
  431. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +1 -0
  432. package/dist/generated/eve/socket/EveSocketParameterVector3.js +64 -0
  433. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +1 -0
  434. package/dist/generated/eve/socket/EveSocketParameterVector4.js +64 -0
  435. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +1 -0
  436. package/dist/generated/eve/socket/index.js +7 -1
  437. package/dist/generated/eve/socket/index.js.map +1 -1
  438. package/dist/generated/eve/spaceObject/EvePlanet.js +1 -1
  439. package/dist/generated/eve/spaceObject/EvePlanet.js.map +1 -1
  440. package/dist/generated/eve/spaceObject/EveShip2.js +194 -11
  441. package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
  442. package/dist/generated/eve/spaceObject/enums.js.map +1 -1
  443. package/dist/generated/eve/spaceObject/index.js +0 -8
  444. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  445. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +104 -15
  446. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  447. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +83 -7
  448. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  449. package/dist/generated/eve/spaceObject/swarm/index.js +0 -2
  450. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  451. package/dist/generated/eve/ui/EveLineSet.js +49 -19
  452. package/dist/generated/eve/ui/EveLineSet.js.map +1 -1
  453. package/dist/generated/{trinityCore → eve/ui}/EveSprite2dBracketRenderer.js +3 -3
  454. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -0
  455. package/dist/generated/eve/ui/EveTacticalTrails.js +20 -8
  456. package/dist/generated/eve/ui/EveTacticalTrails.js.map +1 -1
  457. package/dist/generated/eve/ui/enums.js.map +1 -1
  458. package/dist/generated/eve/ui/index.js +1 -4
  459. package/dist/generated/eve/ui/index.js.map +1 -1
  460. package/dist/generated/include/enums.js.map +1 -1
  461. package/dist/generated/include/index.js +0 -9
  462. package/dist/generated/include/index.js.map +1 -1
  463. package/dist/generated/index.js +14 -116
  464. package/dist/generated/index.js.map +1 -1
  465. package/dist/generated/particle/ITr2GenericEmitter.js +31 -1
  466. package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
  467. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +114 -64
  468. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  469. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +62 -26
  470. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  471. package/dist/generated/particle/Tr2DynamicEmitter.js +186 -37
  472. package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
  473. package/dist/generated/particle/Tr2ElementBlendConstraint.js +56 -26
  474. package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
  475. package/dist/generated/particle/Tr2ForceSphereVolume.js +68 -28
  476. package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
  477. package/dist/generated/particle/Tr2ParticleSystem.js +266 -10
  478. package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
  479. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +41 -4
  480. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
  481. package/dist/generated/particle/Tr2PlaneConstraint.js +160 -42
  482. package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
  483. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +71 -22
  484. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  485. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +59 -26
  486. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  487. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +59 -26
  488. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  489. package/dist/generated/particle/Tr2SphereConstraint.js +202 -46
  490. package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
  491. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +120 -64
  492. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  493. package/dist/generated/particle/Tr2StaticEmitter.js +79 -9
  494. package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
  495. package/dist/generated/particle/index.js +0 -4
  496. package/dist/generated/particle/index.js.map +1 -1
  497. package/dist/generated/postProcess/enums.js.map +1 -1
  498. package/dist/generated/postProcess/index.js +0 -14
  499. package/dist/generated/postProcess/index.js.map +1 -1
  500. package/dist/generated/raytracing/Tr2RaytracingGeometry.js +67 -65
  501. package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
  502. package/dist/generated/raytracing/index.js +0 -1
  503. package/dist/generated/raytracing/index.js.map +1 -1
  504. package/dist/generated/renderJob/Tr2RenderNodeEffect.js +100 -0
  505. package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -0
  506. package/dist/generated/{trinityCore → renderJob}/Tr2RenderNodeSprite2dScene.js +2 -2
  507. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -0
  508. package/dist/generated/renderJob/TriStepClearUav.js +22 -3
  509. package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
  510. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +23 -4
  511. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
  512. package/dist/generated/renderJob/TriStepPythonCB.js +20 -5
  513. package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
  514. package/dist/generated/renderJob/TriStepRenderAtlas.js +8 -3
  515. package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
  516. package/dist/generated/renderJob/TriStepRenderDebug.js +59 -24
  517. package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
  518. package/dist/generated/renderJob/TriStepRenderEffect.js +10 -3
  519. package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
  520. package/dist/generated/renderJob/TriStepRenderLineGraph.js +32 -3
  521. package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
  522. package/dist/generated/renderJob/TriStepRenderObject.js +19 -7
  523. package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
  524. package/dist/generated/renderJob/TriStepRenderPass.js +8 -3
  525. package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
  526. package/dist/generated/renderJob/TriStepRenderScene.js +7 -3
  527. package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
  528. package/dist/generated/renderJob/TriStepRenderSceneDebug.js +7 -3
  529. package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
  530. package/dist/generated/renderJob/TriStepRenderTexture.js +21 -3
  531. package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
  532. package/dist/generated/renderJob/TriStepRunComputeShader.js +14 -3
  533. package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
  534. package/dist/generated/renderJob/TriStepSetDebugRenderer.js +10 -3
  535. package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
  536. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +8 -4
  537. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
  538. package/dist/generated/renderJob/TriStepSetVariableStore.js +24 -6
  539. package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
  540. package/dist/generated/renderJob/TriStepToggleCubemap.js +16 -4
  541. package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
  542. package/dist/generated/renderJob/TriStepUpdate.js +7 -3
  543. package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
  544. package/dist/generated/renderJob/enums.js.map +1 -1
  545. package/dist/generated/renderJob/index.js +2 -1
  546. package/dist/generated/renderJob/index.js.map +1 -1
  547. package/dist/generated/shader/enums.js.map +1 -1
  548. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +127 -41
  549. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  550. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +122 -33
  551. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  552. package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  553. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +51 -31
  554. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  555. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +37 -26
  556. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
  557. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +5 -6
  558. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  559. package/dist/generated/sprite2d/enums.js.map +1 -1
  560. package/dist/generated/sprite2d/index.js +0 -5
  561. package/dist/generated/sprite2d/index.js.map +1 -1
  562. package/dist/generated/trinityCore/Tr2BoundingLineSet.js +31 -3
  563. package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
  564. package/dist/generated/trinityCore/Tr2CurveLineSet.js +214 -136
  565. package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
  566. package/dist/generated/trinityCore/Tr2DebugRenderer.js +113 -87
  567. package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
  568. package/dist/generated/trinityCore/Tr2DynamicBinding.js +1 -1
  569. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +1 -1
  570. package/dist/generated/trinityCore/Tr2ExternalParameter.js +147 -33
  571. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +1 -1
  572. package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
  573. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  574. package/dist/generated/trinityCore/Tr2GrannyAnimation.js +646 -52
  575. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +1 -1
  576. package/dist/generated/trinityCore/Tr2HostBitmap.js +189 -177
  577. package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  578. package/dist/generated/trinityCore/Tr2LineGraph.js +49 -8
  579. package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
  580. package/dist/generated/trinityCore/Tr2LineSet.js +36 -11
  581. package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
  582. package/dist/generated/trinityCore/Tr2ManipulationTool.js +39 -11
  583. package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
  584. package/dist/generated/trinityCore/Tr2PrimitiveSet.js +46 -42
  585. package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
  586. package/dist/generated/trinityCore/Tr2QuadRenderer.js +199 -45
  587. package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
  588. package/dist/generated/trinityCore/Tr2SSAO.js +15 -15
  589. package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
  590. package/dist/generated/trinityCore/Tr2ScalingTool.js +17 -3
  591. package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
  592. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +1 -1
  593. package/dist/generated/trinityCore/Tr2SolidSet.js +43 -7
  594. package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
  595. package/dist/generated/trinityCore/Tr2TextureAnimation.js +75 -40
  596. package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
  597. package/dist/generated/trinityCore/Tr2TextureArray.js +1 -1
  598. package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
  599. package/dist/generated/trinityCore/Tr2TextureAtlas.js +4 -0
  600. package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  601. package/dist/generated/trinityCore/TriLineSet.js +115 -21
  602. package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
  603. package/dist/generated/trinityCore/TriRigidOrientation.js +23 -3
  604. package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
  605. package/dist/generated/trinityCore/TriValueBinding.js +230 -40
  606. package/dist/generated/trinityCore/TriValueBinding.js.map +1 -1
  607. package/dist/generated/trinityCore/enums.js +1 -84
  608. package/dist/generated/trinityCore/enums.js.map +1 -1
  609. package/dist/generated/trinityCore/index.js +2 -27
  610. package/dist/generated/trinityCore/index.js.map +1 -1
  611. package/dist/generated/ui/index.js +0 -4
  612. package/dist/generated/ui/index.js.map +1 -1
  613. package/dist/generated/utilities/index.js +0 -5
  614. package/dist/generated/utilities/index.js.map +1 -1
  615. package/dist/index.js +115 -129
  616. package/dist/index.js.map +1 -1
  617. package/dist/particle/Tr2GpuSharedEmitter.js +37 -100
  618. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  619. package/dist/{generated/particle → particle}/Tr2ParticleElementData.js +1 -1
  620. package/dist/particle/Tr2ParticleElementData.js.map +1 -0
  621. package/dist/particle/Tr2ParticleElementDeclaration.js +70 -0
  622. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -0
  623. package/dist/particle/Tr2ParticleElementDeclarationName.js +80 -0
  624. package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -0
  625. package/dist/particle/index.js +4 -1
  626. package/dist/particle/index.js.map +1 -1
  627. package/dist/particle/particleElementBinding.js +37 -0
  628. package/dist/particle/particleElementBinding.js.map +1 -0
  629. package/dist/{generated/postProcess → postProcess}/BlurContext.js +6 -1
  630. package/dist/postProcess/BlurContext.js.map +1 -0
  631. package/dist/{generated/postProcess → postProcess}/GaussianData.js +1 -1
  632. package/dist/postProcess/GaussianData.js.map +1 -0
  633. package/dist/postProcess/Tr2PPBloomEffect.js +1 -1
  634. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  635. package/dist/{generated/postProcess → postProcess}/Tr2PPColorCorrectionEffect.js +1 -1
  636. package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -0
  637. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +1 -1
  638. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  639. package/dist/{generated/postProcess → postProcess}/Tr2PPDesaturateEffect.js +1 -1
  640. package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -0
  641. package/dist/{generated/postProcess → postProcess}/Tr2PPDynamicExposureEffect.js +1 -1
  642. package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -0
  643. package/dist/{generated/postProcess → postProcess}/Tr2PPEffect.js +6 -1
  644. package/dist/postProcess/Tr2PPEffect.js.map +1 -0
  645. package/dist/{generated/postProcess → postProcess}/Tr2PPFadeEffect.js +6 -1
  646. package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -0
  647. package/dist/{generated/postProcess → postProcess}/Tr2PPFilmGrainEffect.js +6 -1
  648. package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -0
  649. package/dist/{generated/postProcess → postProcess}/Tr2PPFogEffect.js +6 -1
  650. package/dist/postProcess/Tr2PPFogEffect.js.map +1 -0
  651. package/dist/postProcess/Tr2PPGenericEffect.js +1 -1
  652. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  653. package/dist/{generated/postProcess → postProcess}/Tr2PPGodRaysEffect.js +6 -1
  654. package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -0
  655. package/dist/{generated/postProcess → postProcess}/Tr2PPLutEffect.js +6 -1
  656. package/dist/postProcess/Tr2PPLutEffect.js.map +1 -0
  657. package/dist/{generated/postProcess → postProcess}/Tr2PPSignalLossEffect.js +6 -1
  658. package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -0
  659. package/dist/postProcess/Tr2PPTaaEffect.js +1 -1
  660. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  661. package/dist/postProcess/Tr2PPTonemappingEffect.js +1 -1
  662. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  663. package/dist/{generated/postProcess → postProcess}/Tr2PPVignetteEffect.js +6 -1
  664. package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -0
  665. package/dist/postProcess/Tr2PostProcess.js +35 -0
  666. package/dist/postProcess/Tr2PostProcess.js.map +1 -0
  667. package/dist/postProcess/Tr2PostProcessAttributes.js +7 -7
  668. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  669. package/dist/postProcess/index.js +18 -18
  670. package/dist/renderJob/TriStepRemoteSync.js +42 -0
  671. package/dist/renderJob/TriStepRemoteSync.js.map +1 -0
  672. package/dist/renderJob/index.js +1 -0
  673. package/dist/renderJob/index.js.map +1 -1
  674. package/dist/shader/Tr2Effect.js +110 -4
  675. package/dist/shader/Tr2Effect.js.map +1 -1
  676. package/dist/shader/parameter/CjsParameter.js +55 -0
  677. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  678. package/dist/shader/parameter/Tr2ConstantEffectParameter.js +4 -4
  679. package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  680. package/dist/shader/parameter/Tr2FloatParameter.js +6 -1
  681. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  682. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +9 -1
  683. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  684. package/dist/shader/parameter/Tr2Matrix4Parameter.js +6 -1
  685. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  686. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +6 -1
  687. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  688. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +6 -1
  689. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  690. package/dist/shader/parameter/Tr2Vector2Parameter.js +74 -6
  691. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  692. package/dist/shader/parameter/Tr2Vector3Parameter.js +90 -6
  693. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  694. package/dist/shader/parameter/Tr2Vector4Parameter.js +70 -1
  695. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  696. package/dist/shader/parameter/TriFloatArrayParameter.js +9 -1
  697. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  698. package/dist/shader/parameter/TriTextureParameter.js +9 -1
  699. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  700. package/dist/shader/parameter/TriTransformParameter.js +16 -2
  701. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  702. package/dist/shader/parameter/TriVariableParameter.js +6 -1
  703. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  704. package/dist/shader/reflection/Tr2ShaderOption.js +1 -1
  705. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  706. package/dist/shader/sampler/Tr2SamplerOverride.js +1 -1
  707. package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  708. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dClipRect.js +1 -1
  709. package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -0
  710. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dD3DVertex.js +1 -1
  711. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -0
  712. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dLineTraceVertex.js +1 -1
  713. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -0
  714. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dTriangle.js +1 -1
  715. package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -0
  716. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dVertexBase.js +4 -4
  717. package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -0
  718. package/dist/trinityCore/CjsBatchManager.js +203 -0
  719. package/dist/trinityCore/CjsBatchManager.js.map +1 -0
  720. package/dist/trinityCore/GrannyBoneOffset.js +89 -0
  721. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -0
  722. package/dist/trinityCore/ITriRenderBatchAccumulator.js +57 -0
  723. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -0
  724. package/dist/{generated/trinityCore → trinityCore}/Tr2BindingVector3.js +1 -1
  725. package/dist/trinityCore/Tr2BindingVector3.js.map +1 -0
  726. package/dist/trinityCore/Tr2DirectInstanceData.js +85 -0
  727. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -0
  728. package/dist/trinityCore/Tr2ExpressionTermInfo.js +5 -1
  729. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  730. package/dist/trinityCore/Tr2GpuBuffer.js +12 -5
  731. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  732. package/dist/trinityCore/Tr2InstancedMesh.js +59 -1
  733. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  734. package/dist/{generated/trinityCore → trinityCore}/Tr2MaterialParameterStore.js +13 -7
  735. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -0
  736. package/dist/trinityCore/Tr2Mesh.js +140 -2
  737. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  738. package/dist/trinityCore/Tr2MeshArea.js +71 -9
  739. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  740. package/dist/trinityCore/Tr2MeshBase.js +76 -5
  741. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  742. package/dist/trinityCore/Tr2PerObjectData.js +23 -0
  743. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -0
  744. package/dist/{generated/trinityCore → trinityCore}/Tr2PyValueBinding.js +1 -1
  745. package/dist/trinityCore/Tr2PyValueBinding.js.map +1 -0
  746. package/dist/trinityCore/Tr2RenderBatch.js +267 -0
  747. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -0
  748. package/dist/trinityCore/Tr2RenderContext.js +239 -0
  749. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  750. package/dist/trinityCore/Tr2RuntimeInstanceData.js +80 -1
  751. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  752. package/dist/{generated/trinityCore → trinityCore}/Tr2SerializedMorphAnimation.js +1 -1
  753. package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -0
  754. package/dist/trinityCore/Tr2VisibilityResults.js +104 -0
  755. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -0
  756. package/dist/trinityCore/TriDevice.js +58 -4
  757. package/dist/trinityCore/TriDevice.js.map +1 -1
  758. package/dist/{generated/trinityCore → trinityCore}/TriFloat.js +1 -1
  759. package/dist/trinityCore/TriFloat.js.map +1 -0
  760. package/dist/trinityCore/TriFrustum.js +374 -0
  761. package/dist/trinityCore/TriFrustum.js.map +1 -0
  762. package/dist/trinityCore/TriFrustumOrtho.js +158 -0
  763. package/dist/trinityCore/TriFrustumOrtho.js.map +1 -0
  764. package/dist/trinityCore/TriObserverLocal.js +7 -1
  765. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  766. package/dist/trinityCore/TriRenderBatchAccumulator.js +119 -0
  767. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -0
  768. package/dist/trinityCore/TriRenderBatchMap.js +61 -0
  769. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -0
  770. package/dist/trinityCore/TriSettings.js +82 -0
  771. package/dist/trinityCore/TriSettings.js.map +1 -0
  772. package/dist/{generated/trinityCore → trinityCore}/TriTorque.js +1 -1
  773. package/dist/trinityCore/TriTorque.js.map +1 -0
  774. package/dist/trinityCore/TriVariable.js +39 -1
  775. package/dist/trinityCore/TriVariable.js.map +1 -1
  776. package/dist/{generated/trinityCore → trinityCore}/TriView.js +7 -9
  777. package/dist/trinityCore/TriView.js.map +1 -0
  778. package/dist/trinityCore/TriViewport.js +7 -1
  779. package/dist/trinityCore/TriViewport.js.map +1 -1
  780. package/dist/trinityCore/index.js +23 -5
  781. package/dist/trinityCore/index.js.map +1 -1
  782. package/package.json +2 -2
  783. package/dist/eve/EveRemotePositionCurve.js.map +0 -1
  784. package/dist/generated/curves/Tr2CurveRasterizeDestination.js +0 -37
  785. package/dist/generated/curves/Tr2CurveRasterizeDestination.js.map +0 -1
  786. package/dist/generated/curves/Tr2CurveScalarDefinition.js +0 -48
  787. package/dist/generated/curves/Tr2CurveScalarDefinition.js.map +0 -1
  788. package/dist/generated/curves/Tr2Key.js +0 -47
  789. package/dist/generated/curves/Tr2Key.js.map +0 -1
  790. package/dist/generated/eve/AudioGameObject.js +0 -77
  791. package/dist/generated/eve/AudioGameObject.js.map +0 -1
  792. package/dist/generated/eve/attachment/decal/DecalMeshCache.js +0 -37
  793. package/dist/generated/eve/attachment/decal/DecalMeshCache.js.map +0 -1
  794. package/dist/generated/eve/attachment/turrets/EveTurretFiringFX.js +0 -130
  795. package/dist/generated/eve/attachment/turrets/EveTurretFiringFX.js.map +0 -1
  796. package/dist/generated/eve/attachment/turrets/EveTurretSet.js +0 -307
  797. package/dist/generated/eve/attachment/turrets/EveTurretSet.js.map +0 -1
  798. package/dist/generated/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  799. package/dist/generated/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  800. package/dist/generated/eve/attachment/turrets/EveTurretTarget.js +0 -54
  801. package/dist/generated/eve/attachment/turrets/EveTurretTarget.js.map +0 -1
  802. package/dist/generated/eve/child/EveChildAudio.js +0 -47
  803. package/dist/generated/eve/child/EveChildAudio.js.map +0 -1
  804. package/dist/generated/eve/child/EveChildEffectPropagator.js +0 -121
  805. package/dist/generated/eve/child/EveChildEffectPropagator.js.map +0 -1
  806. package/dist/generated/eve/child/EveChildFogVolume.js +0 -63
  807. package/dist/generated/eve/child/EveChildFogVolume.js.map +0 -1
  808. package/dist/generated/eve/child/EveChildInstanceTransform.js.map +0 -1
  809. package/dist/generated/eve/child/EveChildLightingOverride.js +0 -62
  810. package/dist/generated/eve/child/EveChildLightingOverride.js.map +0 -1
  811. package/dist/generated/eve/child/EveCloudVolumeBall.js.map +0 -1
  812. package/dist/generated/eve/child/behaviors/DroneAgent.js.map +0 -1
  813. package/dist/generated/eve/child/behaviors/SplineTunnel.js.map +0 -1
  814. package/dist/generated/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  815. package/dist/generated/eve/distribution/attributeModifiers/InitialPlacement.js.map +0 -1
  816. package/dist/generated/eve/lights/LightData.js.map +0 -1
  817. package/dist/generated/eve/lights/LightFeatures.js.map +0 -1
  818. package/dist/generated/eve/perObjectData/DecalPSPerObjectData.js +0 -48
  819. package/dist/generated/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  820. package/dist/generated/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  821. package/dist/generated/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  822. package/dist/generated/eve/renderable/stretch/EveFiringEffectElementContainer.js +0 -57
  823. package/dist/generated/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +0 -1
  824. package/dist/generated/eve/renderable/stretch/EveLocalPositionCurve.js +0 -93
  825. package/dist/generated/eve/renderable/stretch/EveLocalPositionCurve.js.map +0 -1
  826. package/dist/generated/eve/renderable/stretch/EveStretch.js +0 -109
  827. package/dist/generated/eve/renderable/stretch/EveStretch.js.map +0 -1
  828. package/dist/generated/eve/renderable/stretch/EveStretch2.js +0 -67
  829. package/dist/generated/eve/renderable/stretch/EveStretch2.js.map +0 -1
  830. package/dist/generated/eve/renderable/stretch/EveStretch3.js +0 -101
  831. package/dist/generated/eve/renderable/stretch/EveStretch3.js.map +0 -1
  832. package/dist/generated/eve/scene/EveInstancedMeshManager.js +0 -206
  833. package/dist/generated/eve/scene/EveInstancedMeshManager.js.map +0 -1
  834. package/dist/generated/eve/scene/Tr2OcclusionBuffer.js +0 -46
  835. package/dist/generated/eve/scene/Tr2OcclusionBuffer.js.map +0 -1
  836. package/dist/generated/eve/socket/_className.js +0 -44
  837. package/dist/generated/eve/socket/_className.js.map +0 -1
  838. package/dist/generated/eve/spaceObject/EveEffectRoot2.js +0 -150
  839. package/dist/generated/eve/spaceObject/EveEffectRoot2.js.map +0 -1
  840. package/dist/generated/eve/spaceObject/EveMissile.js +0 -53
  841. package/dist/generated/eve/spaceObject/EveMissile.js.map +0 -1
  842. package/dist/generated/eve/spaceObject/EveMissileWarhead.js +0 -90
  843. package/dist/generated/eve/spaceObject/EveMissileWarhead.js.map +0 -1
  844. package/dist/generated/eve/spaceObject/EveMobile.js +0 -49
  845. package/dist/generated/eve/spaceObject/EveMobile.js.map +0 -1
  846. package/dist/generated/eve/spaceObject/EveRootTransform.js +0 -48
  847. package/dist/generated/eve/spaceObject/EveRootTransform.js.map +0 -1
  848. package/dist/generated/eve/spaceObject/EveTransform.js +0 -72
  849. package/dist/generated/eve/spaceObject/EveTransform.js.map +0 -1
  850. package/dist/generated/eve/spaceObject/swarm/SwarmVehicle.js.map +0 -1
  851. package/dist/generated/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +0 -1
  852. package/dist/generated/eve/ui/EveEllipseDefinition.js.map +0 -1
  853. package/dist/generated/eve/ui/EveEllipseSet.js.map +0 -1
  854. package/dist/generated/eve/ui/EveSpherePinIndexTree.js +0 -49
  855. package/dist/generated/eve/ui/EveSpherePinIndexTree.js.map +0 -1
  856. package/dist/generated/eve/ui/EveUiObject.js +0 -41
  857. package/dist/generated/eve/ui/EveUiObject.js.map +0 -1
  858. package/dist/generated/include/ITr2InteriorLight.js +0 -37
  859. package/dist/generated/include/ITr2InteriorLight.js.map +0 -1
  860. package/dist/generated/include/ITriDevice.js +0 -31
  861. package/dist/generated/include/ITriDevice.js.map +0 -1
  862. package/dist/generated/include/ITriEffectTextureParameter.js +0 -31
  863. package/dist/generated/include/ITriEffectTextureParameter.js.map +0 -1
  864. package/dist/generated/include/Point.js +0 -34
  865. package/dist/generated/include/Point.js.map +0 -1
  866. package/dist/generated/include/Tr2CurveBase.js +0 -79
  867. package/dist/generated/include/Tr2CurveBase.js.map +0 -1
  868. package/dist/generated/include/Tr2DebugColor.js +0 -40
  869. package/dist/generated/include/Tr2DebugColor.js.map +0 -1
  870. package/dist/generated/include/Tr2DebugObjectReference.js +0 -34
  871. package/dist/generated/include/Tr2DebugObjectReference.js.map +0 -1
  872. package/dist/generated/include/Tr2Rect.js +0 -40
  873. package/dist/generated/include/Tr2Rect.js.map +0 -1
  874. package/dist/generated/include/TriPerlinNoise.js +0 -34
  875. package/dist/generated/include/TriPerlinNoise.js.map +0 -1
  876. package/dist/generated/particle/Tr2ParticleElementData.js.map +0 -1
  877. package/dist/generated/particle/Tr2ParticleElementDeclaration.js +0 -37
  878. package/dist/generated/particle/Tr2ParticleElementDeclaration.js.map +0 -1
  879. package/dist/generated/particle/Tr2ParticleElementDeclarationName.js +0 -42
  880. package/dist/generated/particle/Tr2ParticleElementDeclarationName.js.map +0 -1
  881. package/dist/generated/particle/Tr2ParticleStreamIterator.js +0 -37
  882. package/dist/generated/particle/Tr2ParticleStreamIterator.js.map +0 -1
  883. package/dist/generated/postProcess/BlurContext.js.map +0 -1
  884. package/dist/generated/postProcess/CASConstants.js +0 -34
  885. package/dist/generated/postProcess/CASConstants.js.map +0 -1
  886. package/dist/generated/postProcess/GaussianData.js.map +0 -1
  887. package/dist/generated/postProcess/Tr2PPColorCorrectionEffect.js.map +0 -1
  888. package/dist/generated/postProcess/Tr2PPDesaturateEffect.js.map +0 -1
  889. package/dist/generated/postProcess/Tr2PPDynamicExposureEffect.js.map +0 -1
  890. package/dist/generated/postProcess/Tr2PPEffect.js.map +0 -1
  891. package/dist/generated/postProcess/Tr2PPFadeEffect.js.map +0 -1
  892. package/dist/generated/postProcess/Tr2PPFilmGrainEffect.js.map +0 -1
  893. package/dist/generated/postProcess/Tr2PPFogEffect.js.map +0 -1
  894. package/dist/generated/postProcess/Tr2PPGodRaysEffect.js.map +0 -1
  895. package/dist/generated/postProcess/Tr2PPLutEffect.js.map +0 -1
  896. package/dist/generated/postProcess/Tr2PPSignalLossEffect.js.map +0 -1
  897. package/dist/generated/postProcess/Tr2PPVignetteEffect.js.map +0 -1
  898. package/dist/generated/raytracing/Tr2RaytracingMeshArea.js +0 -40
  899. package/dist/generated/raytracing/Tr2RaytracingMeshArea.js.map +0 -1
  900. package/dist/generated/renderJob/TriStepRemoteSync.js +0 -45
  901. package/dist/generated/renderJob/TriStepRemoteSync.js.map +0 -1
  902. package/dist/generated/sprite2d/Tr2Sprite2dClipRect.js.map +0 -1
  903. package/dist/generated/sprite2d/Tr2Sprite2dD3DVertex.js.map +0 -1
  904. package/dist/generated/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +0 -1
  905. package/dist/generated/sprite2d/Tr2Sprite2dTriangle.js.map +0 -1
  906. package/dist/generated/sprite2d/Tr2Sprite2dVertexBase.js.map +0 -1
  907. package/dist/generated/trinityCore/EveSprite2dBracket.js +0 -42
  908. package/dist/generated/trinityCore/EveSprite2dBracket.js.map +0 -1
  909. package/dist/generated/trinityCore/EveSprite2dBracketRenderer.js.map +0 -1
  910. package/dist/generated/trinityCore/GrannyBoneOffset.js +0 -52
  911. package/dist/generated/trinityCore/GrannyBoneOffset.js.map +0 -1
  912. package/dist/generated/trinityCore/Tr2BindingVector3.js.map +0 -1
  913. package/dist/generated/trinityCore/Tr2DirectInstanceData.js +0 -40
  914. package/dist/generated/trinityCore/Tr2DirectInstanceData.js.map +0 -1
  915. package/dist/generated/trinityCore/Tr2DisplayMode.js +0 -49
  916. package/dist/generated/trinityCore/Tr2DisplayMode.js.map +0 -1
  917. package/dist/generated/trinityCore/Tr2GStateAnimation.js +0 -210
  918. package/dist/generated/trinityCore/Tr2GStateAnimation.js.map +0 -1
  919. package/dist/generated/trinityCore/Tr2GStateParameter.js +0 -67
  920. package/dist/generated/trinityCore/Tr2GStateParameter.js.map +0 -1
  921. package/dist/generated/trinityCore/Tr2MaterialParameterStore.js.map +0 -1
  922. package/dist/generated/trinityCore/Tr2PlatformInfo.js +0 -33
  923. package/dist/generated/trinityCore/Tr2PlatformInfo.js.map +0 -1
  924. package/dist/generated/trinityCore/Tr2PostProcess.js +0 -31
  925. package/dist/generated/trinityCore/Tr2PostProcess.js.map +0 -1
  926. package/dist/generated/trinityCore/Tr2PyValueBinding.js.map +0 -1
  927. package/dist/generated/trinityCore/Tr2RenderNodeEffect.js +0 -64
  928. package/dist/generated/trinityCore/Tr2RenderNodeEffect.js.map +0 -1
  929. package/dist/generated/trinityCore/Tr2RenderNodeSprite2dScene.js.map +0 -1
  930. package/dist/generated/trinityCore/Tr2SerializedMorphAnimation.js.map +0 -1
  931. package/dist/generated/trinityCore/Tr2VectorFunctionModifier.js.map +0 -1
  932. package/dist/generated/trinityCore/Tr2VideoAdapter.js +0 -60
  933. package/dist/generated/trinityCore/Tr2VideoAdapter.js.map +0 -1
  934. package/dist/generated/trinityCore/Tr2VideoDriver.js +0 -46
  935. package/dist/generated/trinityCore/Tr2VideoDriver.js.map +0 -1
  936. package/dist/generated/trinityCore/Tr2VisibilityResults.js +0 -41
  937. package/dist/generated/trinityCore/Tr2VisibilityResults.js.map +0 -1
  938. package/dist/generated/trinityCore/TriColorSequencer.js +0 -48
  939. package/dist/generated/trinityCore/TriColorSequencer.js.map +0 -1
  940. package/dist/generated/trinityCore/TriFloat.js.map +0 -1
  941. package/dist/generated/trinityCore/TriSettings.js +0 -64
  942. package/dist/generated/trinityCore/TriSettings.js.map +0 -1
  943. package/dist/generated/trinityCore/TriTorque.js.map +0 -1
  944. package/dist/generated/trinityCore/TriVectorSequencer.js +0 -48
  945. package/dist/generated/trinityCore/TriVectorSequencer.js.map +0 -1
  946. package/dist/generated/trinityCore/TriView.js.map +0 -1
  947. package/dist/generated/ui/Tr2MainWindow.js +0 -203
  948. package/dist/generated/ui/Tr2MainWindow.js.map +0 -1
  949. package/dist/generated/ui/Tr2MainWindowState.js +0 -63
  950. package/dist/generated/ui/Tr2MainWindowState.js.map +0 -1
  951. package/dist/generated/ui/Tr2MouseCursor.js +0 -55
  952. package/dist/generated/ui/Tr2MouseCursor.js.map +0 -1
  953. package/dist/generated/ui/UIScancode.js +0 -37
  954. package/dist/generated/ui/UIScancode.js.map +0 -1
  955. package/dist/generated/utilities/AreaBoundsInfo.js +0 -34
  956. package/dist/generated/utilities/AreaBoundsInfo.js.map +0 -1
  957. package/dist/generated/utilities/BoundingBox.js +0 -34
  958. package/dist/generated/utilities/BoundingBox.js.map +0 -1
  959. package/dist/generated/utilities/MeshBoundsInfo.js +0 -52
  960. package/dist/generated/utilities/MeshBoundsInfo.js.map +0 -1
  961. package/dist/generated/utilities/Vector3d.js +0 -58
  962. package/dist/generated/utilities/Vector3d.js.map +0 -1
  963. package/dist/generated/utilities/Vector4d.js +0 -49
  964. package/dist/generated/utilities/Vector4d.js.map +0 -1
  965. package/dist/trinityCore/Tr2VideoAdapters.js +0 -79
  966. package/dist/trinityCore/Tr2VideoAdapters.js.map +0 -1
@@ -1,3 +1,14 @@
1
+ import { num } from '@carbonenginejs/core-math/num';
2
+
3
+ /**
4
+ * Granny animation-curve decoding authored by cppctamber for ccpwgl2.
5
+ *
6
+ * This local copy decodes and samples already-materialized curve data without
7
+ * coupling runtime-trinity to a GR2 container reader. The former format-gr2
8
+ * licensing boundary is resolved: its BitKnit2 decoder was replaced by a
9
+ * clean-room implementation, the package is MIT, and the canonical reader now
10
+ * lives at @carbonenginejs/runtime-resource/formats/gr2.
11
+ */
1
12
  const fr = Math.fround;
2
13
  const CURVE_DECODERS = Object.freeze([Object.freeze({
3
14
  format: 0,
@@ -64,8 +75,8 @@ const D4N_SCALE_TABLE_MULTIPLIER_8 = 0.0078740157;
64
75
  class CjsGrannyCurves {
65
76
  static #resources = new Map();
66
77
 
67
- /**
68
- * Decode a GR2 JSON curve object into explicit knots and controls.
78
+ /**
79
+ * Decode a GR2 JSON curve object into explicit knots and controls.
69
80
  */
70
81
  static decodeCurve(curveJson, dimension) {
71
82
  if (!curveJson || typeof curveJson.format !== "number") {
@@ -91,8 +102,8 @@ class CjsGrannyCurves {
91
102
  };
92
103
  }
93
104
 
94
- /**
95
- * Sample a decoded Granny curve into caller-provided output.
105
+ /**
106
+ * Sample a decoded Granny curve into caller-provided output.
96
107
  */
97
108
  static sampleDecodedCurve(out, curve, time, cycle = false, duration = 0, options = {}) {
98
109
  if (!curve || !curve.knots || !curve.controls || !curve.dimension) {
@@ -110,7 +121,8 @@ class CjsGrannyCurves {
110
121
  }
111
122
  const knot = CjsGrannyCurves.#findKnotIndex(knots, time);
112
123
  if (curve.degree <= 0 || count === 1 || controlCount === 1) {
113
- return CjsGrannyCurves.#copyControl(out, curve, Math.min(knot, controlCount - 1));
124
+ const index = time >= knots[count - 1] ? count - 1 : Math.max(0, knot - 1);
125
+ return CjsGrannyCurves.#copyControl(out, curve, Math.min(index, controlCount - 1));
114
126
  }
115
127
  if (curve.degree === 1) {
116
128
  return CjsGrannyCurves.#sampleLinearCurve(out, curve, time, cycle, duration || knots[count - 1], knot);
@@ -212,6 +224,32 @@ class CjsGrannyCurves {
212
224
  return null;
213
225
  }
214
226
  }
227
+
228
+ /** Decodes an already-materialized Carbon animation curve into the shared sampler shape. */
229
+ static decodeAnimationCurve(curve, dimension) {
230
+ if (!curve) {
231
+ return null;
232
+ }
233
+ const valueDimension = Number(curve.valueDimension ?? curve.ValueDimension);
234
+ const knotCount = Number(curve.knotCount ?? curve.KnotCount);
235
+ if (valueDimension !== dimension || !Number.isSafeInteger(knotCount) || knotCount <= 0) {
236
+ return null;
237
+ }
238
+ try {
239
+ const knots = decodeElements(curve.knots ?? curve.Knots, curve.knotType ?? curve.KnotType, knotCount);
240
+ const controls = decodeElements(curve.values ?? curve.Values, curve.valueType ?? curve.ValueType, knotCount * valueDimension);
241
+ const interpolation = curve.interpolation ?? curve.Interpolation;
242
+ return {
243
+ knots,
244
+ controls,
245
+ degree: interpolation === "Step" || interpolation === 0 ? 0 : 1,
246
+ dimension: valueDimension,
247
+ keyframed: false
248
+ };
249
+ } catch {
250
+ return null;
251
+ }
252
+ }
215
253
  static sampleGrannyCurve(out, curve, time, cycle, duration) {
216
254
  CjsGrannyCurves.sampleDecodedCurve(out, curve, time, cycle, duration, {
217
255
  keyframed: curve.keyframed
@@ -405,6 +443,82 @@ class CjsGrannyCurves {
405
443
  return out;
406
444
  }
407
445
  }
446
+ const ANIMATION_ELEMENT_TYPES = Object.freeze(["Float32", "Float16", "UInt16Norm", "UInt16", "Int16Norm", "Int16", "UInt8Norm", "UInt8", "Int8Norm", "Int8"]);
447
+ function decodeElements(value, typeValue, count) {
448
+ const type = typeof typeValue === "number" ? ANIMATION_ELEMENT_TYPES[typeValue] : typeValue;
449
+ const size = elementTypeSize(type);
450
+ if (ArrayBuffer.isView(value) && !(value instanceof Uint8Array) && value.length === count) {
451
+ return Array.from(value, Number);
452
+ }
453
+ if (Array.isArray(value) && size > 1 && value.length === count) {
454
+ return value.map(Number);
455
+ }
456
+ const bytes = asByteView(value);
457
+ if (!bytes || bytes.byteLength < count * size) {
458
+ throw new TypeError("Animation curve data is incomplete");
459
+ }
460
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
461
+ return Array.from({
462
+ length: count
463
+ }, (_, index) => readElement(view, index * size, type));
464
+ }
465
+ function asByteView(value) {
466
+ if (value instanceof Uint8Array) {
467
+ return value;
468
+ }
469
+ if (ArrayBuffer.isView(value)) {
470
+ return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
471
+ }
472
+ if (value instanceof ArrayBuffer) {
473
+ return new Uint8Array(value);
474
+ }
475
+ return Array.isArray(value) ? Uint8Array.from(value) : null;
476
+ }
477
+ function elementTypeSize(type) {
478
+ switch (type) {
479
+ case "Float32":
480
+ return 4;
481
+ case "Float16":
482
+ case "UInt16Norm":
483
+ case "UInt16":
484
+ case "Int16Norm":
485
+ case "Int16":
486
+ return 2;
487
+ case "UInt8Norm":
488
+ case "UInt8":
489
+ case "Int8Norm":
490
+ case "Int8":
491
+ return 1;
492
+ default:
493
+ throw new TypeError(`Unsupported animation curve element type "${type}"`);
494
+ }
495
+ }
496
+ function readElement(view, offset, type) {
497
+ switch (type) {
498
+ case "Float32":
499
+ return view.getFloat32(offset, true);
500
+ case "Float16":
501
+ return num.fromHalfFloat(view.getUint16(offset, true));
502
+ case "UInt16Norm":
503
+ return view.getUint16(offset, true) / 65535;
504
+ case "UInt16":
505
+ return view.getUint16(offset, true);
506
+ case "Int16Norm":
507
+ return Math.max(view.getInt16(offset, true) / 32767, -1);
508
+ case "Int16":
509
+ return view.getInt16(offset, true);
510
+ case "UInt8Norm":
511
+ return view.getUint8(offset) / 255;
512
+ case "UInt8":
513
+ return view.getUint8(offset);
514
+ case "Int8Norm":
515
+ return Math.max(view.getInt8(offset) / 127, -1);
516
+ case "Int8":
517
+ return view.getInt8(offset);
518
+ default:
519
+ throw new TypeError(`Unsupported animation curve element type "${type}"`);
520
+ }
521
+ }
408
522
  function exactDiv(numerator, divisor, what) {
409
523
  const value = numerator / divisor;
410
524
  if (!Number.isInteger(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"CjsGrannyCurves.js","sources":["../../../src/curves/CjsGrannyCurves.js"],"sourcesContent":["const fr = Math.fround;\nconst CURVE_DECODERS = Object.freeze([Object.freeze({\n format: 0,\n decode: decodeDaKeyframes32f\n}), Object.freeze({\n format: 1,\n decode: decodeDaK32fC32f\n}), Object.freeze({\n format: 2,\n decode: decodeDaIdentity\n}), Object.freeze({\n format: 3,\n decode: decodeDaConstant32f\n}), Object.freeze({\n format: 4,\n decode: decodeD3Constant32f\n}), Object.freeze({\n format: 5,\n decode: decodeD4Constant32f\n}), Object.freeze({\n format: 6,\n decode: decodeDaK16uC16u\n}), Object.freeze({\n format: 7,\n decode: decodeDaK8uC8u\n}), Object.freeze({\n format: 8,\n decode: decodeD4nK16uC15u\n}), Object.freeze({\n format: 9,\n decode: decodeD4nK8uC7u\n}), Object.freeze({\n format: 10,\n decode: decodeD3K16uC16u\n}), Object.freeze({\n format: 11,\n decode: decodeD3K8uC8u\n}), Object.freeze({\n format: 12,\n decode: decodeD9I1K16uC16u\n}), Object.freeze({\n format: 13,\n decode: decodeD9I3K16uC16u\n}), Object.freeze({\n format: 14,\n decode: decodeD9I1K8uC8u\n}), Object.freeze({\n format: 15,\n decode: decodeD9I3K8uC8u\n}), Object.freeze({\n format: 16,\n decode: decodeD3I1K32fC32f\n}), Object.freeze({\n format: 17,\n decode: decodeD3I1K16uC16u\n}), Object.freeze({\n format: 18,\n decode: decodeD3I1K8uC8u\n})]);\nconst D4N_SCALE_TABLE = new Float32Array([1.4142135, 0.70710677, 0.35355338, 0.35355338, 0.35355338, 0.17677669, 0.17677669, 0.17677669, -1.4142135, -0.70710677, -0.35355338, -0.35355338, -0.35355338, -0.17677669, -0.17677669, -0.17677669]);\nconst D4N_OFFSET_TABLE = new Float32Array([-0.70710677, -0.35355338, -0.53033006, -0.17677669, 0.17677669, -0.17677669, -0.088388346, 0.0, 0.70710677, 0.35355338, 0.53033006, 0.17677669, -0.17677669, 0.17677669, 0.088388346, -0.0]);\nconst D4N_SCALE_TABLE_MULTIPLIER_16 = 0.000030518509;\nconst D4N_SCALE_TABLE_MULTIPLIER_8 = 0.0078740157;\nexport class CjsGrannyCurves\n{\n static #resources = new Map();\n\n /**\n * Decode a GR2 JSON curve object into explicit knots and controls.\n */\n static decodeCurve(curveJson, dimension)\n {\n if (!curveJson || typeof curveJson.format !== \"number\")\n {\n throw new Error(\"gr2reader: decodeCurve requires a curve object with a numeric format\");\n }\n const decoder = CURVE_DECODERS[curveJson.format];\n if (!decoder)\n {\n throw new Error(`gr2reader: unsupported granny curve format ${curveJson.format}`);\n }\n const {\n knots,\n controls,\n dimension: dim\n } = decoder.decode(curveJson, dimension);\n if (dimension && dim && dim !== dimension)\n {\n throw new Error(`gr2reader: curve format ${curveJson.format} decoded dimension ${dim} does not match track dimension ${dimension}`);\n }\n return {\n knots,\n controls,\n degree: Number(curveJson.degree) || 0,\n dimension: dim || dimension\n };\n }\n\n /**\n * Sample a decoded Granny curve into caller-provided output.\n */\n static sampleDecodedCurve(out, curve, time, cycle = false, duration = 0, options = {})\n {\n if (!curve || !curve.knots || !curve.controls || !curve.dimension)\n {\n return out;\n }\n const knots = curve.knots,\n count = knots.length,\n dim = curve.dimension,\n controlCount = curve.controls.length / dim;\n if (!count || !controlCount)\n {\n return out;\n }\n if (options.keyframed)\n {\n return CjsGrannyCurves.#copyControl(out, curve, CjsGrannyCurves.#sampleKeyframedCurve(count, time, duration));\n }\n const knot = CjsGrannyCurves.#findKnotIndex(knots, time);\n if (curve.degree <= 0 || count === 1 || controlCount === 1)\n {\n return CjsGrannyCurves.#copyControl(out, curve, Math.min(knot, controlCount - 1));\n }\n if (curve.degree === 1)\n {\n return CjsGrannyCurves.#sampleLinearCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\n }\n return CjsGrannyCurves.#sampleQuadraticCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\n }\n\n static registerResource(path, source)\n {\n if (path)\n {\n CjsGrannyCurves.#resources.set(path, source);\n }\n }\n\n static unregisterResource(path)\n {\n CjsGrannyCurves.#resources.delete(path);\n }\n\n static clearResources()\n {\n CjsGrannyCurves.#resources.clear();\n }\n\n static resolveResource(path)\n {\n return CjsGrannyCurves.#resources.get(path) ?? null;\n }\n\n static getTrackSource(value)\n {\n return CjsGrannyCurves.#findTrackSource(value, 0);\n }\n\n static getAnimations(source)\n {\n return CjsGrannyCurves.#getArray(source, \"animations\", \"Animations\");\n }\n\n static getTrackGroups(animation)\n {\n return CjsGrannyCurves.#getArray(animation, \"trackGroups\", \"TrackGroups\");\n }\n\n static getAnimationDuration(animation)\n {\n return Number(animation.duration ?? animation.Duration) || 0;\n }\n\n static getAnimationTimeStep(animation)\n {\n return Number(animation.timeStep ?? animation.TimeStep) || 0;\n }\n\n static findTransformTrack(group, name)\n {\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\n if (!trackGroup)\n {\n return null;\n }\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"transformTracks\", \"TransformTracks\");\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\n return track ? CjsGrannyCurves.#normalizeTransformTrack(track) : null;\n }\n\n static findVectorTrack(group, name)\n {\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\n if (!trackGroup)\n {\n return null;\n }\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"vectorTracks\", \"VectorTracks\");\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\n return track ? CjsGrannyCurves.#normalizeVectorTrack(track) : null;\n }\n\n static findTextTrack(group, name)\n {\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\n if (!trackGroup)\n {\n return null;\n }\n const textTracks = CjsGrannyCurves.#getArray(trackGroup, \"textTracks\", \"TextTracks\");\n return textTracks.find(track => CjsGrannyCurves.#getName(track) === name) ?? null;\n }\n\n static getTextTrackEntries(track)\n {\n const entries = CjsGrannyCurves.#getArray(track, \"entries\", \"Entries\");\n const out = [];\n for (const entry of entries)\n {\n const time = CjsGrannyCurves.#getEntryTime(entry);\n if (Number.isFinite(time))\n {\n out.push({ time, text: String(entry.text ?? entry.Text ?? \"\") });\n }\n }\n return out;\n }\n\n static decodeGrannyCurve(curve, dimension)\n {\n if (!curve || curve.error || curve.Error)\n {\n return null;\n }\n const normalized = CjsGrannyCurves.#normalizeCurve(curve);\n const decodedDirect = CjsGrannyCurves.#getDecodedCurve(normalized, dimension);\n if (decodedDirect)\n {\n return decodedDirect;\n }\n if (typeof normalized.format !== \"number\" || typeof normalized.degree !== \"number\")\n {\n return null;\n }\n try\n {\n const decoded = CjsGrannyCurves.decodeCurve(normalized, dimension);\n return {\n format: normalized.format,\n knots: decoded.knots,\n controls: decoded.controls,\n degree: decoded.degree,\n dimension: decoded.dimension,\n keyframed: normalized.format === 0\n };\n }\n catch\n {\n return null;\n }\n }\n\n static sampleGrannyCurve(out, curve, time, cycle, duration)\n {\n CjsGrannyCurves.sampleDecodedCurve(out, curve, time, cycle, duration, {\n keyframed: curve.keyframed\n });\n return out;\n }\n\n static #asRecord(value)\n {\n return value !== null && typeof value === \"object\" ? value : null;\n }\n\n static #asTrackSource(value)\n {\n const record = CjsGrannyCurves.#asRecord(value);\n return CjsGrannyCurves.#hasArrayValue(record, \"animations\", \"Animations\") ? record : null;\n }\n\n static #asTrackGroup(value)\n {\n return CjsGrannyCurves.#asRecord(value);\n }\n\n static #findTrackSource(value, depth)\n {\n const direct = CjsGrannyCurves.#asTrackSource(value);\n if (direct)\n {\n return direct;\n }\n const record = CjsGrannyCurves.#asRecord(value);\n if (!record || depth > 8)\n {\n return null;\n }\n for (const key of [\"json\", \"Json\", \"data\", \"Data\", \"value\", \"Value\", \"source\", \"Source\", \"fileInfo\", \"FileInfo\"])\n {\n const nested = CjsGrannyCurves.#findTrackSource(record[key], depth + 1);\n if (nested)\n {\n return nested;\n }\n }\n return null;\n }\n\n static #getArray(value, lowerKey, upperKey)\n {\n const lower = value[lowerKey];\n if (Array.isArray(lower))\n {\n return lower;\n }\n const upper = value[upperKey];\n return Array.isArray(upper) ? upper : [];\n }\n\n static #hasArrayValue(value, lowerKey, upperKey)\n {\n return Array.isArray(value?.[lowerKey]) || Array.isArray(value?.[upperKey]);\n }\n\n static #getName(value)\n {\n return value.name ?? value.Name;\n }\n\n static #getEntryTime(entry)\n {\n const value = entry.timeStamp ?? entry.TimeStamp ?? entry.timestamp ?? entry.time;\n return typeof value === \"number\" ? value : Number.NaN;\n }\n\n static #normalizeTransformTrack(track)\n {\n return {\n ...track,\n name: CjsGrannyCurves.#getName(track),\n orientation: track.orientation ?? track.Orientation,\n position: track.position ?? track.Position,\n scaleShear: track.scaleShear ?? track.ScaleShear\n };\n }\n\n static #normalizeVectorTrack(track)\n {\n return {\n ...track,\n name: CjsGrannyCurves.#getName(track),\n valueCurve: track.valueCurve ?? track.ValueCurve\n };\n }\n\n static #normalizeCurve(curve)\n {\n const normalized = { ...curve };\n for (const [key, value] of Object.entries(curve))\n {\n const lowerKey = CjsGrannyCurves.#lowerFirst(key);\n if (!(lowerKey in normalized))\n {\n normalized[lowerKey] = value;\n }\n }\n normalized.format = curve.format ?? curve.Format;\n normalized.degree = curve.degree ?? curve.Degree;\n normalized.knots = curve.knots ?? curve.Knots;\n normalized.controls = curve.controls ?? curve.Controls;\n normalized.dimension = curve.dimension ?? curve.Dimension;\n normalized.error = curve.error ?? curve.Error;\n return normalized;\n }\n\n static #getDecodedCurve(curve, dimension)\n {\n const knots = curve.knots;\n const controls = curve.controls;\n const curveDimension = Number(curve.dimension) || dimension;\n if (!Array.isArray(knots) || !Array.isArray(controls) || curveDimension !== dimension || controls.length % curveDimension !== 0)\n {\n return null;\n }\n return {\n format: curve.format,\n knots,\n controls,\n degree: Number(curve.degree) || 0,\n dimension: curveDimension,\n keyframed: curve.format === 0\n };\n }\n\n static #lowerFirst(value)\n {\n return value ? value[0].toLowerCase() + value.slice(1) : value;\n }\n\n static #copyControl(out, curve, index)\n {\n const offset = index * curve.dimension;\n for (let i = 0; i < curve.dimension; i++)\n {\n out[i] = curve.controls[offset + i];\n }\n return out;\n }\n\n static #findKnotIndex(knots, time)\n {\n let low = 0;\n let high = knots.length - 1;\n while (low < high)\n {\n const mid = low + high >> 1;\n if (knots[mid] > time)\n {\n high = mid;\n }\n else\n {\n low = mid + 1;\n }\n }\n return low;\n }\n\n static #sampleKeyframedCurve(count, time, duration)\n {\n const frame = duration > 0 ? Math.trunc(count * time / duration) : 0;\n return Math.max(0, Math.min(count - 1, frame));\n }\n\n static #sampleLinearCurve(out, curve, time, cycle, duration, knot)\n {\n const knots = curve.knots;\n const count = knots.length;\n const dim = curve.dimension;\n const knot0 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\n const start = knots[knot0];\n let end = knots[knot];\n let localTime = time;\n if (cycle && end < start)\n {\n end += duration;\n }\n if (cycle && localTime < start)\n {\n localTime += duration;\n }\n const t = end !== start ? (localTime - start) / (end - start) : 0;\n const p0 = knot0 * dim;\n const p1 = knot * dim;\n for (let i = 0; i < dim; i++)\n {\n out[i] = curve.controls[p0 + i] * (1 - t) + curve.controls[p1 + i] * t;\n }\n return out;\n }\n\n static #sampleQuadraticCurve(out, curve, time, cycle, duration, knot)\n {\n const knots = curve.knots;\n const count = knots.length;\n const dim = curve.dimension;\n const k2 = cycle ? (knot + count - 2) % count : knot === 0 ? 0 : Math.max(0, knot - 2);\n const k1 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\n const ti2 = knots[k2];\n const ti1 = knots[k1];\n let ti = knots[knot];\n let tiNext = knots[(knot + 1) % count];\n let localTime = time;\n if (ti2 > ti)\n {\n ti += duration;\n tiNext += duration;\n localTime += duration;\n }\n if (ti1 > ti)\n {\n ti += duration;\n tiNext += duration;\n localTime += duration;\n }\n if (tiNext < ti)\n {\n tiNext += duration;\n }\n const d0 = ti - ti1;\n const d1a = ti - ti2;\n const d1b = tiNext - ti1;\n const l0 = d0 !== 0 ? (localTime - ti1) / d0 : 0;\n const l1a = d1a !== 0 ? (localTime - ti2) / d1a : 0;\n const l1b = d1b !== 0 ? (localTime - ti1) / d1b : 0;\n let c2 = l1a + l0 - l0 * l1a;\n const ci = l0 * l1b;\n const c1 = c2 - ci;\n c2 = 1 - c2;\n const p0 = k2 * dim;\n const p1 = k1 * dim;\n const p2 = knot * dim;\n for (let i = 0; i < dim; i++)\n {\n out[i] = c2 * curve.controls[p0 + i] + c1 * curve.controls[p1 + i] + ci * curve.controls[p2 + i];\n }\n return out;\n }\n}\nfunction exactDiv(numerator, divisor, what)\n{\n const value = numerator / divisor;\n if (!Number.isInteger(value))\n {\n throw new Error(`gr2reader: curve ${what}: ${numerator} is not divisible by ${divisor}`);\n }\n return value;\n}\nfunction knotScaleFromTrunc(oneOverKnotScaleTrunc)\n{\n const buffer = new Uint32Array([oneOverKnotScaleTrunc << 16]);\n return new Float32Array(buffer.buffer)[0];\n}\nfunction knotsFromControls(knotsControls, count, scale)\n{\n const out = new Array(count);\n for (let i = 0; i < count; i++)\n {\n out[i] = fr(knotsControls[i] / scale);\n }\n return out;\n}\nfunction knotsFromControlsTrunc(knotsControls, count, oneOverKnotScaleTrunc)\n{\n return knotsFromControls(knotsControls, count, knotScaleFromTrunc(oneOverKnotScaleTrunc));\n}\nfunction identityControls(dimension)\n{\n switch (dimension)\n {\n case 3:\n return [0, 0, 0];\n case 4:\n return [0, 0, 0, 1];\n case 9:\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\n default:\n throw new Error(`gr2reader: invalid curve dimension ${dimension}`);\n }\n}\nfunction decodeDaKeyframes32f(c, dimension)\n{\n const dim = c.dimension || dimension,\n controls = c.controls || [],\n count = exactDiv(controls.length, dim, \"DaKeyframes32f controls/dimension\"),\n knots = new Array(count);\n for (let i = 0; i < count; i++)\n {\n knots[i] = i;\n }\n return {\n knots,\n controls: controls.map(fr),\n dimension: dim\n };\n}\nfunction decodeDaK32fC32f(c, dimension)\n{\n const knots = (c.knots || []).map(fr),\n controls = (c.controls || []).map(fr),\n dim = knots.length ? exactDiv(controls.length, knots.length, \"DaK32fC32f controls/knots\") : dimension;\n return {\n knots,\n controls,\n dimension: dim\n };\n}\nfunction decodeDaIdentity(c, dimension)\n{\n const dim = c.dimension || dimension;\n return {\n knots: [0],\n controls: identityControls(dim),\n dimension: dim\n };\n}\nfunction decodeDaConstant32f(c, dimension)\n{\n const controls = (c.controls || []).map(fr);\n return {\n knots: [0],\n controls,\n dimension: controls.length || dimension\n };\n}\nfunction decodeD3Constant32f(c)\n{\n const controls = (c.controls || [0, 0, 0]).slice(0, 3).map(fr);\n return {\n knots: [0],\n controls,\n dimension: 3\n };\n}\nfunction decodeD4Constant32f(c)\n{\n const controls = (c.controls || [0, 0, 0, 1]).slice(0, 4).map(fr);\n return {\n knots: [0],\n controls,\n dimension: 4\n };\n}\nfunction decodeDaK(c)\n{\n const controlScaleOffsets = c.controlScaleOffsets || [],\n knotsControls = c.knotsControls || [],\n dim = exactDiv(controlScaleOffsets.length, 2, \"DaK controlScaleOffsets/2\"),\n count = exactDiv(knotsControls.length, dim + 1, \"DaK knotsControls/(dim+1)\"),\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\n controls = new Array(count * dim);\n for (let i = 0; i < count; i++)\n {\n for (let x = 0; x < dim; x++)\n {\n controls[i * dim + x] = fr(knotsControls[count + i * dim + x] * controlScaleOffsets[x] + controlScaleOffsets[dim + x]);\n }\n }\n return {\n knots,\n controls,\n dimension: dim\n };\n}\nfunction quatFromControl16(out, a, b, c, scales, offsets)\n{\n const swizzle1 = (b & 0x8000) >> 14 | c >> 15,\n swizzle2 = swizzle1 + 1 & 3,\n swizzle3 = swizzle2 + 1 & 3,\n swizzle4 = swizzle3 + 1 & 3;\n const dataA = (a & 0x7fff) * scales[swizzle2] + offsets[swizzle2],\n dataB = (b & 0x7fff) * scales[swizzle3] + offsets[swizzle3],\n dataC = (c & 0x7fff) * scales[swizzle4] + offsets[swizzle4];\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\n if ((a & 0x8000) !== 0)\n {\n dataD = -dataD;\n }\n out[swizzle2] = fr(dataA);\n out[swizzle3] = fr(dataB);\n out[swizzle4] = fr(dataC);\n out[swizzle1] = fr(dataD);\n return out;\n}\nfunction decodeD4n(c, decoder, scaleTableMultiplier)\n{\n const knotsControls = c.knotsControls || [],\n count = exactDiv(knotsControls.length, 4, \"D4n knotsControls/4\"),\n knots = knotsFromControls(knotsControls, count, Number(c.oneOverKnotScale) || 0);\n const selector = (c.scaleOffsetTableEntries ?? 0) >>> 0,\n scales = new Float32Array([D4N_SCALE_TABLE[selector >> 0 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 4 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 8 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 12 & 0x0f] * scaleTableMultiplier]),\n offsets = new Float32Array([D4N_OFFSET_TABLE[selector >> 0 & 0x0f], D4N_OFFSET_TABLE[selector >> 4 & 0x0f], D4N_OFFSET_TABLE[selector >> 8 & 0x0f], D4N_OFFSET_TABLE[selector >> 12 & 0x0f]]);\n const controls = new Array(count * 4),\n quat = [0, 0, 0, 1];\n for (let i = 0; i < count; i++)\n {\n decoder(quat, knotsControls[count + i * 3], knotsControls[count + i * 3 + 1], knotsControls[count + i * 3 + 2], scales, offsets);\n controls[i * 4] = quat[0];\n controls[i * 4 + 1] = quat[1];\n controls[i * 4 + 2] = quat[2];\n controls[i * 4 + 3] = quat[3];\n }\n return {\n knots,\n controls,\n dimension: 4\n };\n}\nfunction decodeD4nK16uC15u(c)\n{\n return decodeD4n(c, quatFromControl16, D4N_SCALE_TABLE_MULTIPLIER_16);\n}\nfunction quatFromControl8(out, a, b, c, scales, offsets)\n{\n const swizzle1 = (b & 0x80) >> 6 | (c & 0x80) >> 7,\n swizzle2 = swizzle1 + 1 & 3,\n swizzle3 = swizzle2 + 1 & 3,\n swizzle4 = swizzle3 + 1 & 3;\n const dataA = (a & 0x7f) * scales[swizzle2] + offsets[swizzle2],\n dataB = (b & 0x7f) * scales[swizzle3] + offsets[swizzle3],\n dataC = (c & 0x7f) * scales[swizzle4] + offsets[swizzle4];\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\n if ((a & 0x80) !== 0)\n {\n dataD = -dataD;\n }\n out[swizzle2] = fr(dataA);\n out[swizzle3] = fr(dataB);\n out[swizzle4] = fr(dataC);\n out[swizzle1] = fr(dataD);\n return out;\n}\nfunction decodeD4nK8uC7u(c)\n{\n return decodeD4n(c, quatFromControl8, D4N_SCALE_TABLE_MULTIPLIER_8);\n}\nfunction decodeD3K(c)\n{\n const knotsControls = c.knotsControls || [],\n count = exactDiv(knotsControls.length, 4, \"D3K knotsControls/4\"),\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\n controlScales = c.controlScales || [],\n controlOffsets = c.controlOffsets || [],\n controls = new Array(count * 3);\n for (let i = 0; i < count; i++)\n {\n for (let x = 0; x < 3; x++)\n {\n controls[i * 3 + x] = fr(knotsControls[count + i * 3 + x] * controlScales[x] + controlOffsets[x]);\n }\n }\n return {\n knots,\n controls,\n dimension: 3\n };\n}\nfunction decodeD9I1(c)\n{\n const knotsControls = c.knotsControls || [],\n count = exactDiv(knotsControls.length, 2, \"D9I1 knotsControls/2\"),\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\n const scale = Array.isArray(c.controlScales) ? c.controlScales[0] ?? 0 : c.controlScale || 0,\n offset = Array.isArray(c.controlOffsets) ? c.controlOffsets[0] ?? 0 : c.controlOffset || 0,\n controls = new Array(count * 9).fill(0);\n for (let i = 0; i < count; i++)\n {\n const s = fr(knotsControls[count + i] * scale + offset);\n controls[i * 9] = s;\n controls[i * 9 + 4] = s;\n controls[i * 9 + 8] = s;\n }\n return {\n knots,\n controls,\n dimension: 9\n };\n}\nfunction decodeD9I3(c)\n{\n const knotsControls = c.knotsControls || [],\n count = exactDiv(knotsControls.length, 4, \"D9I3 knotsControls/4\"),\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\n controlScales = c.controlScales || [],\n controlOffsets = c.controlOffsets || [],\n controls = new Array(count * 9).fill(0);\n for (let i = 0; i < count; i++)\n {\n controls[i * 9] = fr(knotsControls[count + i * 3] * controlScales[0] + controlOffsets[0]);\n controls[i * 9 + 4] = fr(knotsControls[count + i * 3 + 1] * controlScales[1] + controlOffsets[1]);\n controls[i * 9 + 8] = fr(knotsControls[count + i * 3 + 2] * controlScales[2] + controlOffsets[2]);\n }\n return {\n knots,\n controls,\n dimension: 9\n };\n}\nfunction d3I1Controls(knotsControls, count, scales, offsets)\n{\n const controls = new Array(count * 3);\n for (let i = 0; i < count; i++)\n {\n const value = knotsControls[count + i];\n controls[i * 3] = fr(value * scales[0] + offsets[0]);\n controls[i * 3 + 1] = fr(value * scales[1] + offsets[1]);\n controls[i * 3 + 2] = fr(value * scales[2] + offsets[2]);\n }\n return controls;\n}\nfunction decodeD3I1K32fC32f(c)\n{\n const knotsControls = c.knotsControls || [],\n count = exactDiv(knotsControls.length, 2, \"D3I1K32f knotsControls/2\"),\n knots = new Array(count);\n for (let i = 0; i < count; i++)\n {\n knots[i] = fr(knotsControls[i]);\n }\n return {\n knots,\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\n dimension: 3\n };\n}\nfunction decodeD3I1u(c)\n{\n const knotsControls = c.knotsControls || [],\n count = exactDiv(knotsControls.length, 2, \"D3I1 knotsControls/2\"),\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\n return {\n knots,\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\n dimension: 3\n };\n}\nfunction decodeDaK16uC16u(c)\n{\n return decodeDaK(c);\n}\nfunction decodeDaK8uC8u(c)\n{\n return decodeDaK(c);\n}\nfunction decodeD3K16uC16u(c)\n{\n return decodeD3K(c);\n}\nfunction decodeD3K8uC8u(c)\n{\n return decodeD3K(c);\n}\nfunction decodeD9I1K16uC16u(c)\n{\n return decodeD9I1(c);\n}\nfunction decodeD9I1K8uC8u(c)\n{\n return decodeD9I1(c);\n}\nfunction decodeD9I3K16uC16u(c)\n{\n return decodeD9I3(c);\n}\nfunction decodeD9I3K8uC8u(c)\n{\n return decodeD9I3(c);\n}\nfunction decodeD3I1K16uC16u(c)\n{\n return decodeD3I1u(c);\n}\nfunction decodeD3I1K8uC8u(c)\n{\n return decodeD3I1u(c);\n}\n"],"names":["fr","Math","fround","CURVE_DECODERS","Object","freeze","format","decode","decodeDaKeyframes32f","decodeDaK32fC32f","decodeDaIdentity","decodeDaConstant32f","decodeD3Constant32f","decodeD4Constant32f","decodeDaK16uC16u","decodeDaK8uC8u","decodeD4nK16uC15u","decodeD4nK8uC7u","decodeD3K16uC16u","decodeD3K8uC8u","decodeD9I1K16uC16u","decodeD9I3K16uC16u","decodeD9I1K8uC8u","decodeD9I3K8uC8u","decodeD3I1K32fC32f","decodeD3I1K16uC16u","decodeD3I1K8uC8u","D4N_SCALE_TABLE","Float32Array","D4N_OFFSET_TABLE","D4N_SCALE_TABLE_MULTIPLIER_16","D4N_SCALE_TABLE_MULTIPLIER_8","CjsGrannyCurves","Map","decodeCurve","curveJson","dimension","Error","decoder","knots","controls","dim","degree","Number","sampleDecodedCurve","out","curve","time","cycle","duration","options","count","length","controlCount","keyframed","knot","min","registerResource","path","source","set","unregisterResource","delete","clearResources","clear","resolveResource","get","getTrackSource","value","getAnimations","getTrackGroups","animation","getAnimationDuration","Duration","getAnimationTimeStep","timeStep","TimeStep","findTransformTrack","group","name","trackGroup","tracks","track","find","item","findVectorTrack","findTextTrack","textTracks","getTextTrackEntries","entries","entry","isFinite","push","text","String","Text","decodeGrannyCurve","error","normalized","decodedDirect","decoded","sampleGrannyCurve","#asRecord","#asTrackSource","record","#asTrackGroup","#findTrackSource","depth","direct","key","nested","#getArray","lowerKey","upperKey","lower","Array","isArray","upper","#hasArrayValue","#getName","Name","#getEntryTime","timeStamp","TimeStamp","timestamp","NaN","#normalizeTransformTrack","orientation","Orientation","position","Position","scaleShear","ScaleShear","#normalizeVectorTrack","valueCurve","ValueCurve","#normalizeCurve","Format","Degree","Knots","Controls","Dimension","#getDecodedCurve","curveDimension","#lowerFirst","toLowerCase","slice","#copyControl","index","offset","i","#findKnotIndex","low","high","mid","#sampleKeyframedCurve","frame","trunc","max","#sampleLinearCurve","knot0","start","end","localTime","t","p0","p1","#sampleQuadraticCurve","k2","k1","ti2","ti1","ti","tiNext","d0","d1a","d1b","l0","l1a","l1b","c2","ci","c1","p2","exactDiv","numerator","divisor","what","isInteger","knotScaleFromTrunc","oneOverKnotScaleTrunc","buffer","Uint32Array","knotsFromControls","knotsControls","scale","knotsFromControlsTrunc","identityControls","c","map","decodeDaK","controlScaleOffsets","x","quatFromControl16","a","b","scales","offsets","swizzle1","swizzle2","swizzle3","swizzle4","dataA","dataB","dataC","dataD","sqrt","decodeD4n","scaleTableMultiplier","oneOverKnotScale","selector","scaleOffsetTableEntries","quat","quatFromControl8","decodeD3K","controlScales","controlOffsets","decodeD9I1","controlScale","controlOffset","fill","s","decodeD9I3","d3I1Controls","decodeD3I1u"],"mappings":"AAAA,MAAMA,EAAE,GAAGC,IAAI,CAACC,MAAM;AACtB,MAAMC,cAAc,GAAGC,MAAM,CAACC,MAAM,CAAC,CAACD,MAAM,CAACC,MAAM,CAAC;AAClDC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEC;AACV,CAAC,CAAC,EAAEJ,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEE;AACV,CAAC,CAAC,EAAEL,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEG;AACV,CAAC,CAAC,EAAEN,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEI;AACV,CAAC,CAAC,EAAEP,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEK;AACV,CAAC,CAAC,EAAER,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEM;AACV,CAAC,CAAC,EAAET,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEO;AACV,CAAC,CAAC,EAAEV,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEQ;AACV,CAAC,CAAC,EAAEX,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAES;AACV,CAAC,CAAC,EAAEZ,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEU;AACV,CAAC,CAAC,EAAEb,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEW;AACV,CAAC,CAAC,EAAEd,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEY;AACV,CAAC,CAAC,EAAEf,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEa;AACV,CAAC,CAAC,EAAEhB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEc;AACV,CAAC,CAAC,EAAEjB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEe;AACV,CAAC,CAAC,EAAElB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEgB;AACV,CAAC,CAAC,EAAEnB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEiB;AACV,CAAC,CAAC,EAAEpB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEkB;AACV,CAAC,CAAC,EAAErB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEmB;AACV,CAAC,CAAC,CAAC,CAAC;AACJ,MAAMC,eAAe,GAAG,IAAIC,YAAY,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAChP,MAAMC,gBAAgB,GAAG,IAAID,YAAY,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,EAAI,CAAC,CAAC;AACvO,MAAME,6BAA6B,GAAG,cAAc;AACpD,MAAMC,4BAA4B,GAAG,YAAY;AAC1C,MAAMC,eAAe,CAC5B;AACE,EAAA,OAAO,UAAU,GAAG,IAAIC,GAAG,EAAE;;AAE7B;AACF;AACA;AACE,EAAA,OAAOC,WAAWA,CAACC,SAAS,EAAEC,SAAS,EACvC;IACE,IAAI,CAACD,SAAS,IAAI,OAAOA,SAAS,CAAC7B,MAAM,KAAK,QAAQ,EACtD;AACE,MAAA,MAAM,IAAI+B,KAAK,CAAC,sEAAsE,CAAC;AACzF,IAAA;AACA,IAAA,MAAMC,OAAO,GAAGnC,cAAc,CAACgC,SAAS,CAAC7B,MAAM,CAAC;IAChD,IAAI,CAACgC,OAAO,EACZ;MACE,MAAM,IAAID,KAAK,CAAC,CAAA,2CAAA,EAA8CF,SAAS,CAAC7B,MAAM,EAAE,CAAC;AACnF,IAAA;IACA,MAAM;MACJiC,KAAK;MACLC,QAAQ;AACRJ,MAAAA,SAAS,EAAEK;KACZ,GAAGH,OAAO,CAAC/B,MAAM,CAAC4B,SAAS,EAAEC,SAAS,CAAC;AACxC,IAAA,IAAIA,SAAS,IAAIK,GAAG,IAAIA,GAAG,KAAKL,SAAS,EACzC;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,CAAA,wBAAA,EAA2BF,SAAS,CAAC7B,MAAM,CAAA,mBAAA,EAAsBmC,GAAG,CAAA,gCAAA,EAAmCL,SAAS,CAAA,CAAE,CAAC;AACrI,IAAA;IACA,OAAO;MACLG,KAAK;MACLC,QAAQ;MACRE,MAAM,EAAEC,MAAM,CAACR,SAAS,CAACO,MAAM,CAAC,IAAI,CAAC;MACrCN,SAAS,EAAEK,GAAG,IAAIL;KACnB;AACH,EAAA;;AAEA;AACF;AACA;EACE,OAAOQ,kBAAkBA,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,GAAG,KAAK,EAAEC,QAAQ,GAAG,CAAC,EAAEC,OAAO,GAAG,EAAE,EACrF;AACE,IAAA,IAAI,CAACJ,KAAK,IAAI,CAACA,KAAK,CAACP,KAAK,IAAI,CAACO,KAAK,CAACN,QAAQ,IAAI,CAACM,KAAK,CAACV,SAAS,EACjE;AACE,MAAA,OAAOS,GAAG;AACZ,IAAA;AACA,IAAA,MAAMN,KAAK,GAAGO,KAAK,CAACP,KAAK;MACvBY,KAAK,GAAGZ,KAAK,CAACa,MAAM;MACpBX,GAAG,GAAGK,KAAK,CAACV,SAAS;AACrBiB,MAAAA,YAAY,GAAGP,KAAK,CAACN,QAAQ,CAACY,MAAM,GAAGX,GAAG;AAC5C,IAAA,IAAI,CAACU,KAAK,IAAI,CAACE,YAAY,EAC3B;AACE,MAAA,OAAOR,GAAG;AACZ,IAAA;IACA,IAAIK,OAAO,CAACI,SAAS,EACrB;MACE,OAAOtB,eAAe,CAAC,YAAY,CAACa,GAAG,EAAEC,KAAK,EAAEd,eAAe,CAAC,qBAAqB,CAACmB,KAAK,EAAEJ,IAAI,EAAEE,QAAQ,CAAC,CAAC;AAC/G,IAAA;IACA,MAAMM,IAAI,GAAGvB,eAAe,CAAC,cAAc,CAACO,KAAK,EAAEQ,IAAI,CAAC;AACxD,IAAA,IAAID,KAAK,CAACJ,MAAM,IAAI,CAAC,IAAIS,KAAK,KAAK,CAAC,IAAIE,YAAY,KAAK,CAAC,EAC1D;AACE,MAAA,OAAOrB,eAAe,CAAC,YAAY,CAACa,GAAG,EAAEC,KAAK,EAAE7C,IAAI,CAACuD,GAAG,CAACD,IAAI,EAAEF,YAAY,GAAG,CAAC,CAAC,CAAC;AACnF,IAAA;AACA,IAAA,IAAIP,KAAK,CAACJ,MAAM,KAAK,CAAC,EACtB;MACE,OAAOV,eAAe,CAAC,kBAAkB,CAACa,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,IAAIV,KAAK,CAACY,KAAK,GAAG,CAAC,CAAC,EAAEI,IAAI,CAAC;AACxG,IAAA;IACA,OAAOvB,eAAe,CAAC,qBAAqB,CAACa,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,IAAIV,KAAK,CAACY,KAAK,GAAG,CAAC,CAAC,EAAEI,IAAI,CAAC;AAC3G,EAAA;AAEA,EAAA,OAAOE,gBAAgBA,CAACC,IAAI,EAAEC,MAAM,EACpC;AACE,IAAA,IAAID,IAAI,EACR;MACE1B,eAAe,CAAC,UAAU,CAAC4B,GAAG,CAACF,IAAI,EAAEC,MAAM,CAAC;AAC9C,IAAA;AACF,EAAA;EAEA,OAAOE,kBAAkBA,CAACH,IAAI,EAC9B;AACE1B,IAAAA,eAAe,CAAC,UAAU,CAAC8B,MAAM,CAACJ,IAAI,CAAC;AACzC,EAAA;EAEA,OAAOK,cAAcA,GACrB;AACE/B,IAAAA,eAAe,CAAC,UAAU,CAACgC,KAAK,EAAE;AACpC,EAAA;EAEA,OAAOC,eAAeA,CAACP,IAAI,EAC3B;IACE,OAAO1B,eAAe,CAAC,UAAU,CAACkC,GAAG,CAACR,IAAI,CAAC,IAAI,IAAI;AACrD,EAAA;EAEA,OAAOS,cAAcA,CAACC,KAAK,EAC3B;IACE,OAAOpC,eAAe,CAAC,gBAAgB,CAACoC,KAAK,EAAE,CAAC,CAAC;AACnD,EAAA;EAEA,OAAOC,aAAaA,CAACV,MAAM,EAC3B;IACE,OAAO3B,eAAe,CAAC,SAAS,CAAC2B,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC;AACtE,EAAA;EAEA,OAAOW,cAAcA,CAACC,SAAS,EAC/B;IACE,OAAOvC,eAAe,CAAC,SAAS,CAACuC,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC;AAC3E,EAAA;EAEA,OAAOC,oBAAoBA,CAACD,SAAS,EACrC;IACE,OAAO5B,MAAM,CAAC4B,SAAS,CAACtB,QAAQ,IAAIsB,SAAS,CAACE,QAAQ,CAAC,IAAI,CAAC;AAC9D,EAAA;EAEA,OAAOC,oBAAoBA,CAACH,SAAS,EACrC;IACE,OAAO5B,MAAM,CAAC4B,SAAS,CAACI,QAAQ,IAAIJ,SAAS,CAACK,QAAQ,CAAC,IAAI,CAAC;AAC9D,EAAA;AAEA,EAAA,OAAOC,kBAAkBA,CAACC,KAAK,EAAEC,IAAI,EACrC;IACE,MAAMC,UAAU,GAAGhD,eAAe,CAAC,aAAa,CAAC8C,KAAK,CAAC;IACvD,IAAI,CAACE,UAAU,EACf;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,MAAMC,MAAM,GAAGjD,eAAe,CAAC,SAAS,CAACgD,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;AAC1F,IAAA,MAAME,KAAK,GAAGD,MAAM,CAACE,IAAI,CAACC,IAAI,IAAIpD,eAAe,CAAC,QAAQ,CAACoD,IAAI,CAAC,KAAKL,IAAI,CAAC;IAC1E,OAAOG,KAAK,GAAGlD,eAAe,CAAC,wBAAwB,CAACkD,KAAK,CAAC,GAAG,IAAI;AACvE,EAAA;AAEA,EAAA,OAAOG,eAAeA,CAACP,KAAK,EAAEC,IAAI,EAClC;IACE,MAAMC,UAAU,GAAGhD,eAAe,CAAC,aAAa,CAAC8C,KAAK,CAAC;IACvD,IAAI,CAACE,UAAU,EACf;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,MAAMC,MAAM,GAAGjD,eAAe,CAAC,SAAS,CAACgD,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC;AACpF,IAAA,MAAME,KAAK,GAAGD,MAAM,CAACE,IAAI,CAACC,IAAI,IAAIpD,eAAe,CAAC,QAAQ,CAACoD,IAAI,CAAC,KAAKL,IAAI,CAAC;IAC1E,OAAOG,KAAK,GAAGlD,eAAe,CAAC,qBAAqB,CAACkD,KAAK,CAAC,GAAG,IAAI;AACpE,EAAA;AAEA,EAAA,OAAOI,aAAaA,CAACR,KAAK,EAAEC,IAAI,EAChC;IACE,MAAMC,UAAU,GAAGhD,eAAe,CAAC,aAAa,CAAC8C,KAAK,CAAC;IACvD,IAAI,CAACE,UAAU,EACf;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,MAAMO,UAAU,GAAGvD,eAAe,CAAC,SAAS,CAACgD,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;AACpF,IAAA,OAAOO,UAAU,CAACJ,IAAI,CAACD,KAAK,IAAIlD,eAAe,CAAC,QAAQ,CAACkD,KAAK,CAAC,KAAKH,IAAI,CAAC,IAAI,IAAI;AACnF,EAAA;EAEA,OAAOS,mBAAmBA,CAACN,KAAK,EAChC;AACE,IAAA,MAAMO,OAAO,GAAGzD,eAAe,CAAC,SAAS,CAACkD,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC;IACtE,MAAMrC,GAAG,GAAG,EAAE;AACd,IAAA,KAAK,MAAM6C,KAAK,IAAID,OAAO,EAC3B;MACE,MAAM1C,IAAI,GAAGf,eAAe,CAAC,aAAa,CAAC0D,KAAK,CAAC;AACjD,MAAA,IAAI/C,MAAM,CAACgD,QAAQ,CAAC5C,IAAI,CAAC,EACzB;QACEF,GAAG,CAAC+C,IAAI,CAAC;UAAE7C,IAAI;UAAE8C,IAAI,EAAEC,MAAM,CAACJ,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACK,IAAI,IAAI,EAAE;AAAE,SAAC,CAAC;AAClE,MAAA;AACF,IAAA;AACA,IAAA,OAAOlD,GAAG;AACZ,EAAA;AAEA,EAAA,OAAOmD,iBAAiBA,CAAClD,KAAK,EAAEV,SAAS,EACzC;IACE,IAAI,CAACU,KAAK,IAAIA,KAAK,CAACmD,KAAK,IAAInD,KAAK,CAACT,KAAK,EACxC;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,MAAM6D,UAAU,GAAGlE,eAAe,CAAC,eAAe,CAACc,KAAK,CAAC;IACzD,MAAMqD,aAAa,GAAGnE,eAAe,CAAC,gBAAgB,CAACkE,UAAU,EAAE9D,SAAS,CAAC;AAC7E,IAAA,IAAI+D,aAAa,EACjB;AACE,MAAA,OAAOA,aAAa;AACtB,IAAA;AACA,IAAA,IAAI,OAAOD,UAAU,CAAC5F,MAAM,KAAK,QAAQ,IAAI,OAAO4F,UAAU,CAACxD,MAAM,KAAK,QAAQ,EAClF;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,IACA;MACE,MAAM0D,OAAO,GAAGpE,eAAe,CAACE,WAAW,CAACgE,UAAU,EAAE9D,SAAS,CAAC;MAClE,OAAO;QACL9B,MAAM,EAAE4F,UAAU,CAAC5F,MAAM;QACzBiC,KAAK,EAAE6D,OAAO,CAAC7D,KAAK;QACpBC,QAAQ,EAAE4D,OAAO,CAAC5D,QAAQ;QAC1BE,MAAM,EAAE0D,OAAO,CAAC1D,MAAM;QACtBN,SAAS,EAAEgE,OAAO,CAAChE,SAAS;AAC5BkB,QAAAA,SAAS,EAAE4C,UAAU,CAAC5F,MAAM,KAAK;OAClC;AACH,IAAA,CAAC,CACD,MACA;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACF,EAAA;EAEA,OAAO+F,iBAAiBA,CAACxD,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAC1D;AACEjB,IAAAA,eAAe,CAACY,kBAAkB,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAAE;MACpEK,SAAS,EAAER,KAAK,CAACQ;AACnB,KAAC,CAAC;AACF,IAAA,OAAOT,GAAG;AACZ,EAAA;AAEA,EAAA,OAAO,SAASyD,CAAClC,KAAK,EACtB;IACE,OAAOA,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,IAAI;AACnE,EAAA;AAEA,EAAA,OAAO,cAAcmC,CAACnC,KAAK,EAC3B;IACE,MAAMoC,MAAM,GAAGxE,eAAe,CAAC,SAAS,CAACoC,KAAK,CAAC;AAC/C,IAAA,OAAOpC,eAAe,CAAC,cAAc,CAACwE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,GAAGA,MAAM,GAAG,IAAI;AAC3F,EAAA;AAEA,EAAA,OAAO,aAAaC,CAACrC,KAAK,EAC1B;AACE,IAAA,OAAOpC,eAAe,CAAC,SAAS,CAACoC,KAAK,CAAC;AACzC,EAAA;AAEA,EAAA,OAAO,gBAAgBsC,CAACtC,KAAK,EAAEuC,KAAK,EACpC;IACE,MAAMC,MAAM,GAAG5E,eAAe,CAAC,cAAc,CAACoC,KAAK,CAAC;AACpD,IAAA,IAAIwC,MAAM,EACV;AACE,MAAA,OAAOA,MAAM;AACf,IAAA;IACA,MAAMJ,MAAM,GAAGxE,eAAe,CAAC,SAAS,CAACoC,KAAK,CAAC;AAC/C,IAAA,IAAI,CAACoC,MAAM,IAAIG,KAAK,GAAG,CAAC,EACxB;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,KAAK,MAAME,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAChH;AACE,MAAA,MAAMC,MAAM,GAAG9E,eAAe,CAAC,gBAAgB,CAACwE,MAAM,CAACK,GAAG,CAAC,EAAEF,KAAK,GAAG,CAAC,CAAC;AACvE,MAAA,IAAIG,MAAM,EACV;AACE,QAAA,OAAOA,MAAM;AACf,MAAA;AACF,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,OAAO,SAASC,CAAC3C,KAAK,EAAE4C,QAAQ,EAAEC,QAAQ,EAC1C;AACE,IAAA,MAAMC,KAAK,GAAG9C,KAAK,CAAC4C,QAAQ,CAAC;AAC7B,IAAA,IAAIG,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EACxB;AACE,MAAA,OAAOA,KAAK;AACd,IAAA;AACA,IAAA,MAAMG,KAAK,GAAGjD,KAAK,CAAC6C,QAAQ,CAAC;IAC7B,OAAOE,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC,GAAGA,KAAK,GAAG,EAAE;AAC1C,EAAA;EAEA,OAAO,cAAcC,CAAClD,KAAK,EAAE4C,QAAQ,EAAEC,QAAQ,EAC/C;AACE,IAAA,OAAOE,KAAK,CAACC,OAAO,CAAChD,KAAK,GAAG4C,QAAQ,CAAC,CAAC,IAAIG,KAAK,CAACC,OAAO,CAAChD,KAAK,GAAG6C,QAAQ,CAAC,CAAC;AAC7E,EAAA;AAEA,EAAA,OAAO,QAAQM,CAACnD,KAAK,EACrB;AACE,IAAA,OAAOA,KAAK,CAACW,IAAI,IAAIX,KAAK,CAACoD,IAAI;AACjC,EAAA;AAEA,EAAA,OAAO,aAAaC,CAAC/B,KAAK,EAC1B;AACE,IAAA,MAAMtB,KAAK,GAAGsB,KAAK,CAACgC,SAAS,IAAIhC,KAAK,CAACiC,SAAS,IAAIjC,KAAK,CAACkC,SAAS,IAAIlC,KAAK,CAAC3C,IAAI;IACjF,OAAO,OAAOqB,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGzB,MAAM,CAACkF,GAAG;AACvD,EAAA;AAEA,EAAA,OAAO,wBAAwBC,CAAC5C,KAAK,EACrC;IACE,OAAO;AACL,MAAA,GAAGA,KAAK;AACRH,MAAAA,IAAI,EAAE/C,eAAe,CAAC,QAAQ,CAACkD,KAAK,CAAC;AACrC6C,MAAAA,WAAW,EAAE7C,KAAK,CAAC6C,WAAW,IAAI7C,KAAK,CAAC8C,WAAW;AACnDC,MAAAA,QAAQ,EAAE/C,KAAK,CAAC+C,QAAQ,IAAI/C,KAAK,CAACgD,QAAQ;AAC1CC,MAAAA,UAAU,EAAEjD,KAAK,CAACiD,UAAU,IAAIjD,KAAK,CAACkD;KACvC;AACH,EAAA;AAEA,EAAA,OAAO,qBAAqBC,CAACnD,KAAK,EAClC;IACE,OAAO;AACL,MAAA,GAAGA,KAAK;AACRH,MAAAA,IAAI,EAAE/C,eAAe,CAAC,QAAQ,CAACkD,KAAK,CAAC;AACrCoD,MAAAA,UAAU,EAAEpD,KAAK,CAACoD,UAAU,IAAIpD,KAAK,CAACqD;KACvC;AACH,EAAA;AAEA,EAAA,OAAO,eAAeC,CAAC1F,KAAK,EAC5B;AACE,IAAA,MAAMoD,UAAU,GAAG;MAAE,GAAGpD;KAAO;AAC/B,IAAA,KAAK,MAAM,CAAC+D,GAAG,EAAEzC,KAAK,CAAC,IAAIhE,MAAM,CAACqF,OAAO,CAAC3C,KAAK,CAAC,EAChD;MACE,MAAMkE,QAAQ,GAAGhF,eAAe,CAAC,WAAW,CAAC6E,GAAG,CAAC;AACjD,MAAA,IAAI,EAAEG,QAAQ,IAAId,UAAU,CAAC,EAC7B;AACEA,QAAAA,UAAU,CAACc,QAAQ,CAAC,GAAG5C,KAAK;AAC9B,MAAA;AACF,IAAA;IACA8B,UAAU,CAAC5F,MAAM,GAAGwC,KAAK,CAACxC,MAAM,IAAIwC,KAAK,CAAC2F,MAAM;IAChDvC,UAAU,CAACxD,MAAM,GAAGI,KAAK,CAACJ,MAAM,IAAII,KAAK,CAAC4F,MAAM;IAChDxC,UAAU,CAAC3D,KAAK,GAAGO,KAAK,CAACP,KAAK,IAAIO,KAAK,CAAC6F,KAAK;IAC7CzC,UAAU,CAAC1D,QAAQ,GAAGM,KAAK,CAACN,QAAQ,IAAIM,KAAK,CAAC8F,QAAQ;IACtD1C,UAAU,CAAC9D,SAAS,GAAGU,KAAK,CAACV,SAAS,IAAIU,KAAK,CAAC+F,SAAS;IACzD3C,UAAU,CAACD,KAAK,GAAGnD,KAAK,CAACmD,KAAK,IAAInD,KAAK,CAACT,KAAK;AAC7C,IAAA,OAAO6D,UAAU;AACnB,EAAA;AAEA,EAAA,OAAO,gBAAgB4C,CAAChG,KAAK,EAAEV,SAAS,EACxC;AACE,IAAA,MAAMG,KAAK,GAAGO,KAAK,CAACP,KAAK;AACzB,IAAA,MAAMC,QAAQ,GAAGM,KAAK,CAACN,QAAQ;IAC/B,MAAMuG,cAAc,GAAGpG,MAAM,CAACG,KAAK,CAACV,SAAS,CAAC,IAAIA,SAAS;IAC3D,IAAI,CAAC+E,KAAK,CAACC,OAAO,CAAC7E,KAAK,CAAC,IAAI,CAAC4E,KAAK,CAACC,OAAO,CAAC5E,QAAQ,CAAC,IAAIuG,cAAc,KAAK3G,SAAS,IAAII,QAAQ,CAACY,MAAM,GAAG2F,cAAc,KAAK,CAAC,EAC/H;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,OAAO;MACLzI,MAAM,EAAEwC,KAAK,CAACxC,MAAM;MACpBiC,KAAK;MACLC,QAAQ;MACRE,MAAM,EAAEC,MAAM,CAACG,KAAK,CAACJ,MAAM,CAAC,IAAI,CAAC;AACjCN,MAAAA,SAAS,EAAE2G,cAAc;AACzBzF,MAAAA,SAAS,EAAER,KAAK,CAACxC,MAAM,KAAK;KAC7B;AACH,EAAA;AAEA,EAAA,OAAO,WAAW0I,CAAC5E,KAAK,EACxB;AACE,IAAA,OAAOA,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,CAAC6E,WAAW,EAAE,GAAG7E,KAAK,CAAC8E,KAAK,CAAC,CAAC,CAAC,GAAG9E,KAAK;AAChE,EAAA;EAEA,OAAO,YAAY+E,CAACtG,GAAG,EAAEC,KAAK,EAAEsG,KAAK,EACrC;AACE,IAAA,MAAMC,MAAM,GAAGD,KAAK,GAAGtG,KAAK,CAACV,SAAS;AACtC,IAAA,KAAK,IAAIkH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxG,KAAK,CAACV,SAAS,EAAEkH,CAAC,EAAE,EACxC;MACEzG,GAAG,CAACyG,CAAC,CAAC,GAAGxG,KAAK,CAACN,QAAQ,CAAC6G,MAAM,GAAGC,CAAC,CAAC;AACrC,IAAA;AACA,IAAA,OAAOzG,GAAG;AACZ,EAAA;AAEA,EAAA,OAAO,cAAc0G,CAAChH,KAAK,EAAEQ,IAAI,EACjC;IACE,IAAIyG,GAAG,GAAG,CAAC;AACX,IAAA,IAAIC,IAAI,GAAGlH,KAAK,CAACa,MAAM,GAAG,CAAC;IAC3B,OAAOoG,GAAG,GAAGC,IAAI,EACjB;AACE,MAAA,MAAMC,GAAG,GAAGF,GAAG,GAAGC,IAAI,IAAI,CAAC;AAC3B,MAAA,IAAIlH,KAAK,CAACmH,GAAG,CAAC,GAAG3G,IAAI,EACrB;AACE0G,QAAAA,IAAI,GAAGC,GAAG;AACZ,MAAA,CAAC,MAED;QACEF,GAAG,GAAGE,GAAG,GAAG,CAAC;AACf,MAAA;AACF,IAAA;AACA,IAAA,OAAOF,GAAG;AACZ,EAAA;EAEA,OAAO,qBAAqBG,CAACxG,KAAK,EAAEJ,IAAI,EAAEE,QAAQ,EAClD;AACE,IAAA,MAAM2G,KAAK,GAAG3G,QAAQ,GAAG,CAAC,GAAGhD,IAAI,CAAC4J,KAAK,CAAC1G,KAAK,GAAGJ,IAAI,GAAGE,QAAQ,CAAC,GAAG,CAAC;AACpE,IAAA,OAAOhD,IAAI,CAAC6J,GAAG,CAAC,CAAC,EAAE7J,IAAI,CAACuD,GAAG,CAACL,KAAK,GAAG,CAAC,EAAEyG,KAAK,CAAC,CAAC;AAChD,EAAA;AAEA,EAAA,OAAO,kBAAkBG,CAAClH,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAAEM,IAAI,EACjE;AACE,IAAA,MAAMhB,KAAK,GAAGO,KAAK,CAACP,KAAK;AACzB,IAAA,MAAMY,KAAK,GAAGZ,KAAK,CAACa,MAAM;AAC1B,IAAA,MAAMX,GAAG,GAAGK,KAAK,CAACV,SAAS;IAC3B,MAAM4H,KAAK,GAAGhH,KAAK,GAAG,CAACO,IAAI,GAAGJ,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC;AAC5E,IAAA,MAAM0G,KAAK,GAAG1H,KAAK,CAACyH,KAAK,CAAC;AAC1B,IAAA,IAAIE,GAAG,GAAG3H,KAAK,CAACgB,IAAI,CAAC;IACrB,IAAI4G,SAAS,GAAGpH,IAAI;AACpB,IAAA,IAAIC,KAAK,IAAIkH,GAAG,GAAGD,KAAK,EACxB;AACEC,MAAAA,GAAG,IAAIjH,QAAQ;AACjB,IAAA;AACA,IAAA,IAAID,KAAK,IAAImH,SAAS,GAAGF,KAAK,EAC9B;AACEE,MAAAA,SAAS,IAAIlH,QAAQ;AACvB,IAAA;AACA,IAAA,MAAMmH,CAAC,GAAGF,GAAG,KAAKD,KAAK,GAAG,CAACE,SAAS,GAAGF,KAAK,KAAKC,GAAG,GAAGD,KAAK,CAAC,GAAG,CAAC;AACjE,IAAA,MAAMI,EAAE,GAAGL,KAAK,GAAGvH,GAAG;AACtB,IAAA,MAAM6H,EAAE,GAAG/G,IAAI,GAAGd,GAAG;IACrB,KAAK,IAAI6G,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG7G,GAAG,EAAE6G,CAAC,EAAE,EAC5B;MACEzG,GAAG,CAACyG,CAAC,CAAC,GAAGxG,KAAK,CAACN,QAAQ,CAAC6H,EAAE,GAAGf,CAAC,CAAC,IAAI,CAAC,GAAGc,CAAC,CAAC,GAAGtH,KAAK,CAACN,QAAQ,CAAC8H,EAAE,GAAGhB,CAAC,CAAC,GAAGc,CAAC;AACxE,IAAA;AACA,IAAA,OAAOvH,GAAG;AACZ,EAAA;AAEA,EAAA,OAAO,qBAAqB0H,CAAC1H,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAAEM,IAAI,EACpE;AACE,IAAA,MAAMhB,KAAK,GAAGO,KAAK,CAACP,KAAK;AACzB,IAAA,MAAMY,KAAK,GAAGZ,KAAK,CAACa,MAAM;AAC1B,IAAA,MAAMX,GAAG,GAAGK,KAAK,CAACV,SAAS;AAC3B,IAAA,MAAMoI,EAAE,GAAGxH,KAAK,GAAG,CAACO,IAAI,GAAGJ,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAGtD,IAAI,CAAC6J,GAAG,CAAC,CAAC,EAAEvG,IAAI,GAAG,CAAC,CAAC;IACtF,MAAMkH,EAAE,GAAGzH,KAAK,GAAG,CAACO,IAAI,GAAGJ,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC;AACzE,IAAA,MAAMmH,GAAG,GAAGnI,KAAK,CAACiI,EAAE,CAAC;AACrB,IAAA,MAAMG,GAAG,GAAGpI,KAAK,CAACkI,EAAE,CAAC;AACrB,IAAA,IAAIG,EAAE,GAAGrI,KAAK,CAACgB,IAAI,CAAC;IACpB,IAAIsH,MAAM,GAAGtI,KAAK,CAAC,CAACgB,IAAI,GAAG,CAAC,IAAIJ,KAAK,CAAC;IACtC,IAAIgH,SAAS,GAAGpH,IAAI;IACpB,IAAI2H,GAAG,GAAGE,EAAE,EACZ;AACEA,MAAAA,EAAE,IAAI3H,QAAQ;AACd4H,MAAAA,MAAM,IAAI5H,QAAQ;AAClBkH,MAAAA,SAAS,IAAIlH,QAAQ;AACvB,IAAA;IACA,IAAI0H,GAAG,GAAGC,EAAE,EACZ;AACEA,MAAAA,EAAE,IAAI3H,QAAQ;AACd4H,MAAAA,MAAM,IAAI5H,QAAQ;AAClBkH,MAAAA,SAAS,IAAIlH,QAAQ;AACvB,IAAA;IACA,IAAI4H,MAAM,GAAGD,EAAE,EACf;AACEC,MAAAA,MAAM,IAAI5H,QAAQ;AACpB,IAAA;AACA,IAAA,MAAM6H,EAAE,GAAGF,EAAE,GAAGD,GAAG;AACnB,IAAA,MAAMI,GAAG,GAAGH,EAAE,GAAGF,GAAG;AACpB,IAAA,MAAMM,GAAG,GAAGH,MAAM,GAAGF,GAAG;AACxB,IAAA,MAAMM,EAAE,GAAGH,EAAE,KAAK,CAAC,GAAG,CAACX,SAAS,GAAGQ,GAAG,IAAIG,EAAE,GAAG,CAAC;AAChD,IAAA,MAAMI,GAAG,GAAGH,GAAG,KAAK,CAAC,GAAG,CAACZ,SAAS,GAAGO,GAAG,IAAIK,GAAG,GAAG,CAAC;AACnD,IAAA,MAAMI,GAAG,GAAGH,GAAG,KAAK,CAAC,GAAG,CAACb,SAAS,GAAGQ,GAAG,IAAIK,GAAG,GAAG,CAAC;IACnD,IAAII,EAAE,GAAGF,GAAG,GAAGD,EAAE,GAAGA,EAAE,GAAGC,GAAG;AAC5B,IAAA,MAAMG,EAAE,GAAGJ,EAAE,GAAGE,GAAG;AACnB,IAAA,MAAMG,EAAE,GAAGF,EAAE,GAAGC,EAAE;IAClBD,EAAE,GAAG,CAAC,GAAGA,EAAE;AACX,IAAA,MAAMf,EAAE,GAAGG,EAAE,GAAG/H,GAAG;AACnB,IAAA,MAAM6H,EAAE,GAAGG,EAAE,GAAGhI,GAAG;AACnB,IAAA,MAAM8I,EAAE,GAAGhI,IAAI,GAAGd,GAAG;IACrB,KAAK,IAAI6G,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG7G,GAAG,EAAE6G,CAAC,EAAE,EAC5B;AACEzG,MAAAA,GAAG,CAACyG,CAAC,CAAC,GAAG8B,EAAE,GAAGtI,KAAK,CAACN,QAAQ,CAAC6H,EAAE,GAAGf,CAAC,CAAC,GAAGgC,EAAE,GAAGxI,KAAK,CAACN,QAAQ,CAAC8H,EAAE,GAAGhB,CAAC,CAAC,GAAG+B,EAAE,GAAGvI,KAAK,CAACN,QAAQ,CAAC+I,EAAE,GAAGjC,CAAC,CAAC;AAClG,IAAA;AACA,IAAA,OAAOzG,GAAG;AACZ,EAAA;AACF;AACA,SAAS2I,QAAQA,CAACC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAC1C;AACE,EAAA,MAAMvH,KAAK,GAAGqH,SAAS,GAAGC,OAAO;AACjC,EAAA,IAAI,CAAC/I,MAAM,CAACiJ,SAAS,CAACxH,KAAK,CAAC,EAC5B;IACE,MAAM,IAAI/B,KAAK,CAAC,CAAA,iBAAA,EAAoBsJ,IAAI,KAAKF,SAAS,CAAA,qBAAA,EAAwBC,OAAO,CAAA,CAAE,CAAC;AAC1F,EAAA;AACA,EAAA,OAAOtH,KAAK;AACd;AACA,SAASyH,kBAAkBA,CAACC,qBAAqB,EACjD;EACE,MAAMC,MAAM,GAAG,IAAIC,WAAW,CAAC,CAACF,qBAAqB,IAAI,EAAE,CAAC,CAAC;EAC7D,OAAO,IAAIlK,YAAY,CAACmK,MAAM,CAACA,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C;AACA,SAASE,iBAAiBA,CAACC,aAAa,EAAE/I,KAAK,EAAEgJ,KAAK,EACtD;AACE,EAAA,MAAMtJ,GAAG,GAAG,IAAIsE,KAAK,CAAChE,KAAK,CAAC;EAC5B,KAAK,IAAImG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;AACEzG,IAAAA,GAAG,CAACyG,CAAC,CAAC,GAAGtJ,EAAE,CAACkM,aAAa,CAAC5C,CAAC,CAAC,GAAG6C,KAAK,CAAC;AACvC,EAAA;AACA,EAAA,OAAOtJ,GAAG;AACZ;AACA,SAASuJ,sBAAsBA,CAACF,aAAa,EAAE/I,KAAK,EAAE2I,qBAAqB,EAC3E;EACE,OAAOG,iBAAiB,CAACC,aAAa,EAAE/I,KAAK,EAAE0I,kBAAkB,CAACC,qBAAqB,CAAC,CAAC;AAC3F;AACA,SAASO,gBAAgBA,CAACjK,SAAS,EACnC;AACE,EAAA,QAAQA,SAAS;AAEf,IAAA,KAAK,CAAC;AACJ,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClB,IAAA,KAAK,CAAC;MACJ,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrB,IAAA,KAAK,CAAC;AACJ,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,IAAA;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,CAAA,mCAAA,EAAsCD,SAAS,EAAE,CAAC;AACtE;AACF;AACA,SAAS5B,oBAAoBA,CAAC8L,CAAC,EAAElK,SAAS,EAC1C;AACE,EAAA,MAAMK,GAAG,GAAG6J,CAAC,CAAClK,SAAS,IAAIA,SAAS;AAClCI,IAAAA,QAAQ,GAAG8J,CAAC,CAAC9J,QAAQ,IAAI,EAAE;IAC3BW,KAAK,GAAGqI,QAAQ,CAAChJ,QAAQ,CAACY,MAAM,EAAEX,GAAG,EAAE,mCAAmC,CAAC;AAC3EF,IAAAA,KAAK,GAAG,IAAI4E,KAAK,CAAChE,KAAK,CAAC;EAC1B,KAAK,IAAImG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;AACE/G,IAAAA,KAAK,CAAC+G,CAAC,CAAC,GAAGA,CAAC;AACd,EAAA;EACA,OAAO;IACL/G,KAAK;AACLC,IAAAA,QAAQ,EAAEA,QAAQ,CAAC+J,GAAG,CAACvM,EAAE,CAAC;AAC1BoC,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAAShC,gBAAgBA,CAAC6L,CAAC,EAAElK,SAAS,EACtC;AACE,EAAA,MAAMG,KAAK,GAAG,CAAC+J,CAAC,CAAC/J,KAAK,IAAI,EAAE,EAAEgK,GAAG,CAACvM,EAAE,CAAC;IACnCwC,QAAQ,GAAG,CAAC8J,CAAC,CAAC9J,QAAQ,IAAI,EAAE,EAAE+J,GAAG,CAACvM,EAAE,CAAC;AACrCyC,IAAAA,GAAG,GAAGF,KAAK,CAACa,MAAM,GAAGoI,QAAQ,CAAChJ,QAAQ,CAACY,MAAM,EAAEb,KAAK,CAACa,MAAM,EAAE,2BAA2B,CAAC,GAAGhB,SAAS;EACvG,OAAO;IACLG,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAAS/B,gBAAgBA,CAAC4L,CAAC,EAAElK,SAAS,EACtC;AACE,EAAA,MAAMK,GAAG,GAAG6J,CAAC,CAAClK,SAAS,IAAIA,SAAS;EACpC,OAAO;IACLG,KAAK,EAAE,CAAC,CAAC,CAAC;AACVC,IAAAA,QAAQ,EAAE6J,gBAAgB,CAAC5J,GAAG,CAAC;AAC/BL,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAAS9B,mBAAmBA,CAAC2L,CAAC,EAAElK,SAAS,EACzC;AACE,EAAA,MAAMI,QAAQ,GAAG,CAAC8J,CAAC,CAAC9J,QAAQ,IAAI,EAAE,EAAE+J,GAAG,CAACvM,EAAE,CAAC;EAC3C,OAAO;IACLuC,KAAK,EAAE,CAAC,CAAC,CAAC;IACVC,QAAQ;AACRJ,IAAAA,SAAS,EAAEI,QAAQ,CAACY,MAAM,IAAIhB;GAC/B;AACH;AACA,SAASxB,mBAAmBA,CAAC0L,CAAC,EAC9B;EACE,MAAM9J,QAAQ,GAAG,CAAC8J,CAAC,CAAC9J,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE0G,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACqD,GAAG,CAACvM,EAAE,CAAC;EAC9D,OAAO;IACLuC,KAAK,EAAE,CAAC,CAAC,CAAC;IACVC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASvB,mBAAmBA,CAACyL,CAAC,EAC9B;EACE,MAAM9J,QAAQ,GAAG,CAAC8J,CAAC,CAAC9J,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE0G,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACqD,GAAG,CAACvM,EAAE,CAAC;EACjE,OAAO;IACLuC,KAAK,EAAE,CAAC,CAAC,CAAC;IACVC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASoK,SAASA,CAACF,CAAC,EACpB;AACE,EAAA,MAAMG,mBAAmB,GAAGH,CAAC,CAACG,mBAAmB,IAAI,EAAE;AACrDP,IAAAA,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACrCzJ,GAAG,GAAG+I,QAAQ,CAACiB,mBAAmB,CAACrJ,MAAM,EAAE,CAAC,EAAE,2BAA2B,CAAC;AAC1ED,IAAAA,KAAK,GAAGqI,QAAQ,CAACU,aAAa,CAAC9I,MAAM,EAAEX,GAAG,GAAG,CAAC,EAAE,2BAA2B,CAAC;AAC5EF,IAAAA,KAAK,GAAG6J,sBAAsB,CAACF,aAAa,EAAE/I,KAAK,EAAER,MAAM,CAAC2J,CAAC,CAACR,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1FtJ,IAAAA,QAAQ,GAAG,IAAI2E,KAAK,CAAChE,KAAK,GAAGV,GAAG,CAAC;EACnC,KAAK,IAAI6G,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;IACE,KAAK,IAAIoD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGjK,GAAG,EAAEiK,CAAC,EAAE,EAC5B;AACElK,MAAAA,QAAQ,CAAC8G,CAAC,GAAG7G,GAAG,GAAGiK,CAAC,CAAC,GAAG1M,EAAE,CAACkM,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG7G,GAAG,GAAGiK,CAAC,CAAC,GAAGD,mBAAmB,CAACC,CAAC,CAAC,GAAGD,mBAAmB,CAAChK,GAAG,GAAGiK,CAAC,CAAC,CAAC;AACxH,IAAA;AACF,EAAA;EACA,OAAO;IACLnK,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAASkK,iBAAiBA,CAAC9J,GAAG,EAAE+J,CAAC,EAAEC,CAAC,EAAEP,CAAC,EAAEQ,MAAM,EAAEC,OAAO,EACxD;EACE,MAAMC,QAAQ,GAAG,CAACH,CAAC,GAAG,MAAM,KAAK,EAAE,GAAGP,CAAC,IAAI,EAAE;AAC3CW,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC7B,EAAA,MAAME,KAAK,GAAG,CAACR,CAAC,GAAG,MAAM,IAAIE,MAAM,CAACG,QAAQ,CAAC,GAAGF,OAAO,CAACE,QAAQ,CAAC;AAC/DI,IAAAA,KAAK,GAAG,CAACR,CAAC,GAAG,MAAM,IAAIC,MAAM,CAACI,QAAQ,CAAC,GAAGH,OAAO,CAACG,QAAQ,CAAC;AAC3DI,IAAAA,KAAK,GAAG,CAAChB,CAAC,GAAG,MAAM,IAAIQ,MAAM,CAACK,QAAQ,CAAC,GAAGJ,OAAO,CAACI,QAAQ,CAAC;EAC7D,IAAII,KAAK,GAAGtN,IAAI,CAACuN,IAAI,CAACvN,IAAI,CAAC6J,GAAG,CAAC,CAAC,EAAE,CAAC,IAAIsD,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC;AACvF,EAAA,IAAI,CAACV,CAAC,GAAG,MAAM,MAAM,CAAC,EACtB;IACEW,KAAK,GAAG,CAACA,KAAK;AAChB,EAAA;AACA1K,EAAAA,GAAG,CAACoK,QAAQ,CAAC,GAAGjN,EAAE,CAACoN,KAAK,CAAC;AACzBvK,EAAAA,GAAG,CAACqK,QAAQ,CAAC,GAAGlN,EAAE,CAACqN,KAAK,CAAC;AACzBxK,EAAAA,GAAG,CAACsK,QAAQ,CAAC,GAAGnN,EAAE,CAACsN,KAAK,CAAC;AACzBzK,EAAAA,GAAG,CAACmK,QAAQ,CAAC,GAAGhN,EAAE,CAACuN,KAAK,CAAC;AACzB,EAAA,OAAO1K,GAAG;AACZ;AACA,SAAS4K,SAASA,CAACnB,CAAC,EAAEhK,OAAO,EAAEoL,oBAAoB,EACnD;AACE,EAAA,MAAMxB,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzC/I,KAAK,GAAGqI,QAAQ,CAACU,aAAa,CAAC9I,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC;AAChEb,IAAAA,KAAK,GAAG0J,iBAAiB,CAACC,aAAa,EAAE/I,KAAK,EAAER,MAAM,CAAC2J,CAAC,CAACqB,gBAAgB,CAAC,IAAI,CAAC,CAAC;EAClF,MAAMC,QAAQ,GAAG,CAACtB,CAAC,CAACuB,uBAAuB,IAAI,CAAC,MAAM,CAAC;IACrDf,MAAM,GAAG,IAAIlL,YAAY,CAAC,CAACD,eAAe,CAACiM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAGF,oBAAoB,EAAE/L,eAAe,CAACiM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAGF,oBAAoB,EAAE/L,eAAe,CAACiM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAGF,oBAAoB,EAAE/L,eAAe,CAACiM,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,GAAGF,oBAAoB,CAAC,CAAC;AACpRX,IAAAA,OAAO,GAAG,IAAInL,YAAY,CAAC,CAACC,gBAAgB,CAAC+L,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE/L,gBAAgB,CAAC+L,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE/L,gBAAgB,CAAC+L,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE/L,gBAAgB,CAAC+L,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;EAC/L,MAAMpL,QAAQ,GAAG,IAAI2E,KAAK,CAAChE,KAAK,GAAG,CAAC,CAAC;IACnC2K,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACrB,KAAK,IAAIxE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;AACEhH,IAAAA,OAAO,CAACwL,IAAI,EAAE5B,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG,CAAC,CAAC,EAAE4C,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE4C,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEwD,MAAM,EAAEC,OAAO,CAAC;IAChIvK,QAAQ,CAAC8G,CAAC,GAAG,CAAC,CAAC,GAAGwE,IAAI,CAAC,CAAC,CAAC;IACzBtL,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGwE,IAAI,CAAC,CAAC,CAAC;IAC7BtL,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGwE,IAAI,CAAC,CAAC,CAAC;IAC7BtL,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGwE,IAAI,CAAC,CAAC,CAAC;AAC/B,EAAA;EACA,OAAO;IACLvL,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASpB,iBAAiBA,CAACsL,CAAC,EAC5B;AACE,EAAA,OAAOmB,SAAS,CAACnB,CAAC,EAAEK,iBAAiB,EAAE7K,6BAA6B,CAAC;AACvE;AACA,SAASiM,gBAAgBA,CAAClL,GAAG,EAAE+J,CAAC,EAAEC,CAAC,EAAEP,CAAC,EAAEQ,MAAM,EAAEC,OAAO,EACvD;AACE,EAAA,MAAMC,QAAQ,GAAG,CAACH,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAACP,CAAC,GAAG,IAAI,KAAK,CAAC;AAChDW,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC7B,EAAA,MAAME,KAAK,GAAG,CAACR,CAAC,GAAG,IAAI,IAAIE,MAAM,CAACG,QAAQ,CAAC,GAAGF,OAAO,CAACE,QAAQ,CAAC;AAC7DI,IAAAA,KAAK,GAAG,CAACR,CAAC,GAAG,IAAI,IAAIC,MAAM,CAACI,QAAQ,CAAC,GAAGH,OAAO,CAACG,QAAQ,CAAC;AACzDI,IAAAA,KAAK,GAAG,CAAChB,CAAC,GAAG,IAAI,IAAIQ,MAAM,CAACK,QAAQ,CAAC,GAAGJ,OAAO,CAACI,QAAQ,CAAC;EAC3D,IAAII,KAAK,GAAGtN,IAAI,CAACuN,IAAI,CAACvN,IAAI,CAAC6J,GAAG,CAAC,CAAC,EAAE,CAAC,IAAIsD,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC;AACvF,EAAA,IAAI,CAACV,CAAC,GAAG,IAAI,MAAM,CAAC,EACpB;IACEW,KAAK,GAAG,CAACA,KAAK;AAChB,EAAA;AACA1K,EAAAA,GAAG,CAACoK,QAAQ,CAAC,GAAGjN,EAAE,CAACoN,KAAK,CAAC;AACzBvK,EAAAA,GAAG,CAACqK,QAAQ,CAAC,GAAGlN,EAAE,CAACqN,KAAK,CAAC;AACzBxK,EAAAA,GAAG,CAACsK,QAAQ,CAAC,GAAGnN,EAAE,CAACsN,KAAK,CAAC;AACzBzK,EAAAA,GAAG,CAACmK,QAAQ,CAAC,GAAGhN,EAAE,CAACuN,KAAK,CAAC;AACzB,EAAA,OAAO1K,GAAG;AACZ;AACA,SAAS5B,eAAeA,CAACqL,CAAC,EAC1B;AACE,EAAA,OAAOmB,SAAS,CAACnB,CAAC,EAAEyB,gBAAgB,EAAEhM,4BAA4B,CAAC;AACrE;AACA,SAASiM,SAASA,CAAC1B,CAAC,EACpB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzC/I,KAAK,GAAGqI,QAAQ,CAACU,aAAa,CAAC9I,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC;AAChEb,IAAAA,KAAK,GAAG6J,sBAAsB,CAACF,aAAa,EAAE/I,KAAK,EAAER,MAAM,CAAC2J,CAAC,CAACR,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1FmC,IAAAA,aAAa,GAAG3B,CAAC,CAAC2B,aAAa,IAAI,EAAE;AACrCC,IAAAA,cAAc,GAAG5B,CAAC,CAAC4B,cAAc,IAAI,EAAE;AACvC1L,IAAAA,QAAQ,GAAG,IAAI2E,KAAK,CAAChE,KAAK,GAAG,CAAC,CAAC;EACjC,KAAK,IAAImG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;IACE,KAAK,IAAIoD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAC1B;AACElK,MAAAA,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAGoD,CAAC,CAAC,GAAG1M,EAAE,CAACkM,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG,CAAC,GAAGoD,CAAC,CAAC,GAAGuB,aAAa,CAACvB,CAAC,CAAC,GAAGwB,cAAc,CAACxB,CAAC,CAAC,CAAC;AACnG,IAAA;AACF,EAAA;EACA,OAAO;IACLnK,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAAS+L,UAAUA,CAAC7B,CAAC,EACrB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzC/I,KAAK,GAAGqI,QAAQ,CAACU,aAAa,CAAC9I,MAAM,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACjEb,IAAAA,KAAK,GAAG6J,sBAAsB,CAACF,aAAa,EAAE/I,KAAK,EAAER,MAAM,CAAC2J,CAAC,CAACR,qBAAqB,CAAC,IAAI,CAAC,CAAC;EAC5F,MAAMK,KAAK,GAAGhF,KAAK,CAACC,OAAO,CAACkF,CAAC,CAAC2B,aAAa,CAAC,GAAG3B,CAAC,CAAC2B,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG3B,CAAC,CAAC8B,YAAY,IAAI,CAAC;IAC1F/E,MAAM,GAAGlC,KAAK,CAACC,OAAO,CAACkF,CAAC,CAAC4B,cAAc,CAAC,GAAG5B,CAAC,CAAC4B,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG5B,CAAC,CAAC+B,aAAa,IAAI,CAAC;AAC1F7L,IAAAA,QAAQ,GAAG,IAAI2E,KAAK,CAAChE,KAAK,GAAG,CAAC,CAAC,CAACmL,IAAI,CAAC,CAAC,CAAC;EACzC,KAAK,IAAIhF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;AACE,IAAA,MAAMiF,CAAC,GAAGvO,EAAE,CAACkM,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,CAAC,GAAG6C,KAAK,GAAG9C,MAAM,CAAC;AACvD7G,IAAAA,QAAQ,CAAC8G,CAAC,GAAG,CAAC,CAAC,GAAGiF,CAAC;IACnB/L,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGiF,CAAC;IACvB/L,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGiF,CAAC;AACzB,EAAA;EACA,OAAO;IACLhM,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASoM,UAAUA,CAAClC,CAAC,EACrB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzC/I,KAAK,GAAGqI,QAAQ,CAACU,aAAa,CAAC9I,MAAM,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACjEb,IAAAA,KAAK,GAAG6J,sBAAsB,CAACF,aAAa,EAAE/I,KAAK,EAAER,MAAM,CAAC2J,CAAC,CAACR,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1FmC,IAAAA,aAAa,GAAG3B,CAAC,CAAC2B,aAAa,IAAI,EAAE;AACrCC,IAAAA,cAAc,GAAG5B,CAAC,CAAC4B,cAAc,IAAI,EAAE;AACvC1L,IAAAA,QAAQ,GAAG,IAAI2E,KAAK,CAAChE,KAAK,GAAG,CAAC,CAAC,CAACmL,IAAI,CAAC,CAAC,CAAC;EACzC,KAAK,IAAIhF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;IACE9G,QAAQ,CAAC8G,CAAC,GAAG,CAAC,CAAC,GAAGtJ,EAAE,CAACkM,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG,CAAC,CAAC,GAAG2E,aAAa,CAAC,CAAC,CAAC,GAAGC,cAAc,CAAC,CAAC,CAAC,CAAC;AACzF1L,IAAAA,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtJ,EAAE,CAACkM,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG2E,aAAa,CAAC,CAAC,CAAC,GAAGC,cAAc,CAAC,CAAC,CAAC,CAAC;AACjG1L,IAAAA,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtJ,EAAE,CAACkM,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG2E,aAAa,CAAC,CAAC,CAAC,GAAGC,cAAc,CAAC,CAAC,CAAC,CAAC;AACnG,EAAA;EACA,OAAO;IACL3L,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASqM,YAAYA,CAACvC,aAAa,EAAE/I,KAAK,EAAE2J,MAAM,EAAEC,OAAO,EAC3D;EACE,MAAMvK,QAAQ,GAAG,IAAI2E,KAAK,CAAChE,KAAK,GAAG,CAAC,CAAC;EACrC,KAAK,IAAImG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;AACE,IAAA,MAAMlF,KAAK,GAAG8H,aAAa,CAAC/I,KAAK,GAAGmG,CAAC,CAAC;AACtC9G,IAAAA,QAAQ,CAAC8G,CAAC,GAAG,CAAC,CAAC,GAAGtJ,EAAE,CAACoE,KAAK,GAAG0I,MAAM,CAAC,CAAC,CAAC,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpDvK,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtJ,EAAE,CAACoE,KAAK,GAAG0I,MAAM,CAAC,CAAC,CAAC,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxDvK,QAAQ,CAAC8G,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtJ,EAAE,CAACoE,KAAK,GAAG0I,MAAM,CAAC,CAAC,CAAC,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1D,EAAA;AACA,EAAA,OAAOvK,QAAQ;AACjB;AACA,SAAShB,kBAAkBA,CAAC8K,CAAC,EAC7B;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzC/I,KAAK,GAAGqI,QAAQ,CAACU,aAAa,CAAC9I,MAAM,EAAE,CAAC,EAAE,0BAA0B,CAAC;AACrEb,IAAAA,KAAK,GAAG,IAAI4E,KAAK,CAAChE,KAAK,CAAC;EAC1B,KAAK,IAAImG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnG,KAAK,EAAEmG,CAAC,EAAE,EAC9B;IACE/G,KAAK,CAAC+G,CAAC,CAAC,GAAGtJ,EAAE,CAACkM,aAAa,CAAC5C,CAAC,CAAC,CAAC;AACjC,EAAA;EACA,OAAO;IACL/G,KAAK;AACLC,IAAAA,QAAQ,EAAEiM,YAAY,CAACvC,aAAa,EAAE/I,KAAK,EAAEmJ,CAAC,CAAC2B,aAAa,IAAI,EAAE,EAAE3B,CAAC,CAAC4B,cAAc,IAAI,EAAE,CAAC;AAC3F9L,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASsM,WAAWA,CAACpC,CAAC,EACtB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzC/I,KAAK,GAAGqI,QAAQ,CAACU,aAAa,CAAC9I,MAAM,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACjEb,IAAAA,KAAK,GAAG6J,sBAAsB,CAACF,aAAa,EAAE/I,KAAK,EAAER,MAAM,CAAC2J,CAAC,CAACR,qBAAqB,CAAC,IAAI,CAAC,CAAC;EAC5F,OAAO;IACLvJ,KAAK;AACLC,IAAAA,QAAQ,EAAEiM,YAAY,CAACvC,aAAa,EAAE/I,KAAK,EAAEmJ,CAAC,CAAC2B,aAAa,IAAI,EAAE,EAAE3B,CAAC,CAAC4B,cAAc,IAAI,EAAE,CAAC;AAC3F9L,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAAStB,gBAAgBA,CAACwL,CAAC,EAC3B;EACE,OAAOE,SAAS,CAACF,CAAC,CAAC;AACrB;AACA,SAASvL,cAAcA,CAACuL,CAAC,EACzB;EACE,OAAOE,SAAS,CAACF,CAAC,CAAC;AACrB;AACA,SAASpL,gBAAgBA,CAACoL,CAAC,EAC3B;EACE,OAAO0B,SAAS,CAAC1B,CAAC,CAAC;AACrB;AACA,SAASnL,cAAcA,CAACmL,CAAC,EACzB;EACE,OAAO0B,SAAS,CAAC1B,CAAC,CAAC;AACrB;AACA,SAASlL,kBAAkBA,CAACkL,CAAC,EAC7B;EACE,OAAO6B,UAAU,CAAC7B,CAAC,CAAC;AACtB;AACA,SAAShL,gBAAgBA,CAACgL,CAAC,EAC3B;EACE,OAAO6B,UAAU,CAAC7B,CAAC,CAAC;AACtB;AACA,SAASjL,kBAAkBA,CAACiL,CAAC,EAC7B;EACE,OAAOkC,UAAU,CAAClC,CAAC,CAAC;AACtB;AACA,SAAS/K,gBAAgBA,CAAC+K,CAAC,EAC3B;EACE,OAAOkC,UAAU,CAAClC,CAAC,CAAC;AACtB;AACA,SAAS7K,kBAAkBA,CAAC6K,CAAC,EAC7B;EACE,OAAOoC,WAAW,CAACpC,CAAC,CAAC;AACvB;AACA,SAAS5K,gBAAgBA,CAAC4K,CAAC,EAC3B;EACE,OAAOoC,WAAW,CAACpC,CAAC,CAAC;AACvB;;;;"}
1
+ {"version":3,"file":"CjsGrannyCurves.js","sources":["../../../src/curves/CjsGrannyCurves.js"],"sourcesContent":["/**\r\n * Granny animation-curve decoding authored by cppctamber for ccpwgl2.\r\n *\r\n * This local copy decodes and samples already-materialized curve data without\r\n * coupling runtime-trinity to a GR2 container reader. The former format-gr2\r\n * licensing boundary is resolved: its BitKnit2 decoder was replaced by a\r\n * clean-room implementation, the package is MIT, and the canonical reader now\r\n * lives at @carbonenginejs/runtime-resource/formats/gr2.\r\n */\r\nimport { num } from \"@carbonenginejs/core-math/num\";\r\n\r\nconst fr = Math.fround;\r\nconst CURVE_DECODERS = Object.freeze([Object.freeze({\r\n format: 0,\r\n decode: decodeDaKeyframes32f\r\n}), Object.freeze({\r\n format: 1,\r\n decode: decodeDaK32fC32f\r\n}), Object.freeze({\r\n format: 2,\r\n decode: decodeDaIdentity\r\n}), Object.freeze({\r\n format: 3,\r\n decode: decodeDaConstant32f\r\n}), Object.freeze({\r\n format: 4,\r\n decode: decodeD3Constant32f\r\n}), Object.freeze({\r\n format: 5,\r\n decode: decodeD4Constant32f\r\n}), Object.freeze({\r\n format: 6,\r\n decode: decodeDaK16uC16u\r\n}), Object.freeze({\r\n format: 7,\r\n decode: decodeDaK8uC8u\r\n}), Object.freeze({\r\n format: 8,\r\n decode: decodeD4nK16uC15u\r\n}), Object.freeze({\r\n format: 9,\r\n decode: decodeD4nK8uC7u\r\n}), Object.freeze({\r\n format: 10,\r\n decode: decodeD3K16uC16u\r\n}), Object.freeze({\r\n format: 11,\r\n decode: decodeD3K8uC8u\r\n}), Object.freeze({\r\n format: 12,\r\n decode: decodeD9I1K16uC16u\r\n}), Object.freeze({\r\n format: 13,\r\n decode: decodeD9I3K16uC16u\r\n}), Object.freeze({\r\n format: 14,\r\n decode: decodeD9I1K8uC8u\r\n}), Object.freeze({\r\n format: 15,\r\n decode: decodeD9I3K8uC8u\r\n}), Object.freeze({\r\n format: 16,\r\n decode: decodeD3I1K32fC32f\r\n}), Object.freeze({\r\n format: 17,\r\n decode: decodeD3I1K16uC16u\r\n}), Object.freeze({\r\n format: 18,\r\n decode: decodeD3I1K8uC8u\r\n})]);\r\nconst D4N_SCALE_TABLE = new Float32Array([1.4142135, 0.70710677, 0.35355338, 0.35355338, 0.35355338, 0.17677669, 0.17677669, 0.17677669, -1.4142135, -0.70710677, -0.35355338, -0.35355338, -0.35355338, -0.17677669, -0.17677669, -0.17677669]);\r\nconst D4N_OFFSET_TABLE = new Float32Array([-0.70710677, -0.35355338, -0.53033006, -0.17677669, 0.17677669, -0.17677669, -0.088388346, 0.0, 0.70710677, 0.35355338, 0.53033006, 0.17677669, -0.17677669, 0.17677669, 0.088388346, -0.0]);\r\nconst D4N_SCALE_TABLE_MULTIPLIER_16 = 0.000030518509;\r\nconst D4N_SCALE_TABLE_MULTIPLIER_8 = 0.0078740157;\r\nexport class CjsGrannyCurves\r\n{\r\n static #resources = new Map();\r\n\r\n /**\r\n * Decode a GR2 JSON curve object into explicit knots and controls.\r\n */\r\n static decodeCurve(curveJson, dimension)\r\n {\r\n if (!curveJson || typeof curveJson.format !== \"number\")\r\n {\r\n throw new Error(\"gr2reader: decodeCurve requires a curve object with a numeric format\");\r\n }\r\n const decoder = CURVE_DECODERS[curveJson.format];\r\n if (!decoder)\r\n {\r\n throw new Error(`gr2reader: unsupported granny curve format ${curveJson.format}`);\r\n }\r\n const {\r\n knots,\r\n controls,\r\n dimension: dim\r\n } = decoder.decode(curveJson, dimension);\r\n if (dimension && dim && dim !== dimension)\r\n {\r\n throw new Error(`gr2reader: curve format ${curveJson.format} decoded dimension ${dim} does not match track dimension ${dimension}`);\r\n }\r\n return {\r\n knots,\r\n controls,\r\n degree: Number(curveJson.degree) || 0,\r\n dimension: dim || dimension\r\n };\r\n }\r\n\r\n /**\r\n * Sample a decoded Granny curve into caller-provided output.\r\n */\r\n static sampleDecodedCurve(out, curve, time, cycle = false, duration = 0, options = {})\r\n {\r\n if (!curve || !curve.knots || !curve.controls || !curve.dimension)\r\n {\r\n return out;\r\n }\r\n const knots = curve.knots,\r\n count = knots.length,\r\n dim = curve.dimension,\r\n controlCount = curve.controls.length / dim;\r\n if (!count || !controlCount)\r\n {\r\n return out;\r\n }\r\n if (options.keyframed)\r\n {\r\n return CjsGrannyCurves.#copyControl(out, curve, CjsGrannyCurves.#sampleKeyframedCurve(count, time, duration));\r\n }\r\n const knot = CjsGrannyCurves.#findKnotIndex(knots, time);\r\n if (curve.degree <= 0 || count === 1 || controlCount === 1)\r\n {\r\n const index = time >= knots[count - 1]\r\n ? count - 1\r\n : Math.max(0, knot - 1);\r\n return CjsGrannyCurves.#copyControl(out, curve, Math.min(index, controlCount - 1));\r\n }\r\n if (curve.degree === 1)\r\n {\r\n return CjsGrannyCurves.#sampleLinearCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\r\n }\r\n return CjsGrannyCurves.#sampleQuadraticCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\r\n }\r\n\r\n static registerResource(path, source)\r\n {\r\n if (path)\r\n {\r\n CjsGrannyCurves.#resources.set(path, source);\r\n }\r\n }\r\n\r\n static unregisterResource(path)\r\n {\r\n CjsGrannyCurves.#resources.delete(path);\r\n }\r\n\r\n static clearResources()\r\n {\r\n CjsGrannyCurves.#resources.clear();\r\n }\r\n\r\n static resolveResource(path)\r\n {\r\n return CjsGrannyCurves.#resources.get(path) ?? null;\r\n }\r\n\r\n static getTrackSource(value)\r\n {\r\n return CjsGrannyCurves.#findTrackSource(value, 0);\r\n }\r\n\r\n static getAnimations(source)\r\n {\r\n return CjsGrannyCurves.#getArray(source, \"animations\", \"Animations\");\r\n }\r\n\r\n static getTrackGroups(animation)\r\n {\r\n return CjsGrannyCurves.#getArray(animation, \"trackGroups\", \"TrackGroups\");\r\n }\r\n\r\n static getAnimationDuration(animation)\r\n {\r\n return Number(animation.duration ?? animation.Duration) || 0;\r\n }\r\n\r\n static getAnimationTimeStep(animation)\r\n {\r\n return Number(animation.timeStep ?? animation.TimeStep) || 0;\r\n }\r\n\r\n static findTransformTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"transformTracks\", \"TransformTracks\");\r\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\r\n return track ? CjsGrannyCurves.#normalizeTransformTrack(track) : null;\r\n }\r\n\r\n static findVectorTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"vectorTracks\", \"VectorTracks\");\r\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\r\n return track ? CjsGrannyCurves.#normalizeVectorTrack(track) : null;\r\n }\r\n\r\n static findTextTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const textTracks = CjsGrannyCurves.#getArray(trackGroup, \"textTracks\", \"TextTracks\");\r\n return textTracks.find(track => CjsGrannyCurves.#getName(track) === name) ?? null;\r\n }\r\n\r\n static getTextTrackEntries(track)\r\n {\r\n const entries = CjsGrannyCurves.#getArray(track, \"entries\", \"Entries\");\r\n const out = [];\r\n for (const entry of entries)\r\n {\r\n const time = CjsGrannyCurves.#getEntryTime(entry);\r\n if (Number.isFinite(time))\r\n {\r\n out.push({ time, text: String(entry.text ?? entry.Text ?? \"\") });\r\n }\r\n }\r\n return out;\r\n }\r\n\r\n static decodeGrannyCurve(curve, dimension)\r\n {\r\n if (!curve || curve.error || curve.Error)\r\n {\r\n return null;\r\n }\r\n const normalized = CjsGrannyCurves.#normalizeCurve(curve);\r\n const decodedDirect = CjsGrannyCurves.#getDecodedCurve(normalized, dimension);\r\n if (decodedDirect)\r\n {\r\n return decodedDirect;\r\n }\r\n if (typeof normalized.format !== \"number\" || typeof normalized.degree !== \"number\")\r\n {\r\n return null;\r\n }\r\n try\r\n {\r\n const decoded = CjsGrannyCurves.decodeCurve(normalized, dimension);\r\n return {\r\n format: normalized.format,\r\n knots: decoded.knots,\r\n controls: decoded.controls,\r\n degree: decoded.degree,\r\n dimension: decoded.dimension,\r\n keyframed: normalized.format === 0\r\n };\r\n }\r\n catch\r\n {\r\n return null;\r\n }\r\n }\r\n\r\n /** Decodes an already-materialized Carbon animation curve into the shared sampler shape. */\r\n static decodeAnimationCurve(curve, dimension)\r\n {\r\n if (!curve)\r\n {\r\n return null;\r\n }\r\n\r\n const valueDimension = Number(curve.valueDimension ?? curve.ValueDimension);\r\n const knotCount = Number(curve.knotCount ?? curve.KnotCount);\r\n if (valueDimension !== dimension || !Number.isSafeInteger(knotCount) || knotCount <= 0)\r\n {\r\n return null;\r\n }\r\n\r\n try\r\n {\r\n const knots = decodeElements(\r\n curve.knots ?? curve.Knots,\r\n curve.knotType ?? curve.KnotType,\r\n knotCount\r\n );\r\n const controls = decodeElements(\r\n curve.values ?? curve.Values,\r\n curve.valueType ?? curve.ValueType,\r\n knotCount * valueDimension\r\n );\r\n const interpolation = curve.interpolation ?? curve.Interpolation;\r\n\r\n return {\r\n knots,\r\n controls,\r\n degree: interpolation === \"Step\" || interpolation === 0 ? 0 : 1,\r\n dimension: valueDimension,\r\n keyframed: false\r\n };\r\n }\r\n catch\r\n {\r\n return null;\r\n }\r\n }\r\n\r\n static sampleGrannyCurve(out, curve, time, cycle, duration)\r\n {\r\n CjsGrannyCurves.sampleDecodedCurve(out, curve, time, cycle, duration, {\r\n keyframed: curve.keyframed\r\n });\r\n return out;\r\n }\r\n\r\n static #asRecord(value)\r\n {\r\n return value !== null && typeof value === \"object\" ? value : null;\r\n }\r\n\r\n static #asTrackSource(value)\r\n {\r\n const record = CjsGrannyCurves.#asRecord(value);\r\n return CjsGrannyCurves.#hasArrayValue(record, \"animations\", \"Animations\") ? record : null;\r\n }\r\n\r\n static #asTrackGroup(value)\r\n {\r\n return CjsGrannyCurves.#asRecord(value);\r\n }\r\n\r\n static #findTrackSource(value, depth)\r\n {\r\n const direct = CjsGrannyCurves.#asTrackSource(value);\r\n if (direct)\r\n {\r\n return direct;\r\n }\r\n const record = CjsGrannyCurves.#asRecord(value);\r\n if (!record || depth > 8)\r\n {\r\n return null;\r\n }\r\n for (const key of [\"json\", \"Json\", \"data\", \"Data\", \"value\", \"Value\", \"source\", \"Source\", \"fileInfo\", \"FileInfo\"])\r\n {\r\n const nested = CjsGrannyCurves.#findTrackSource(record[key], depth + 1);\r\n if (nested)\r\n {\r\n return nested;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n static #getArray(value, lowerKey, upperKey)\r\n {\r\n const lower = value[lowerKey];\r\n if (Array.isArray(lower))\r\n {\r\n return lower;\r\n }\r\n const upper = value[upperKey];\r\n return Array.isArray(upper) ? upper : [];\r\n }\r\n\r\n static #hasArrayValue(value, lowerKey, upperKey)\r\n {\r\n return Array.isArray(value?.[lowerKey]) || Array.isArray(value?.[upperKey]);\r\n }\r\n\r\n static #getName(value)\r\n {\r\n return value.name ?? value.Name;\r\n }\r\n\r\n static #getEntryTime(entry)\r\n {\r\n const value = entry.timeStamp ?? entry.TimeStamp ?? entry.timestamp ?? entry.time;\r\n return typeof value === \"number\" ? value : Number.NaN;\r\n }\r\n\r\n static #normalizeTransformTrack(track)\r\n {\r\n return {\r\n ...track,\r\n name: CjsGrannyCurves.#getName(track),\r\n orientation: track.orientation ?? track.Orientation,\r\n position: track.position ?? track.Position,\r\n scaleShear: track.scaleShear ?? track.ScaleShear\r\n };\r\n }\r\n\r\n static #normalizeVectorTrack(track)\r\n {\r\n return {\r\n ...track,\r\n name: CjsGrannyCurves.#getName(track),\r\n valueCurve: track.valueCurve ?? track.ValueCurve\r\n };\r\n }\r\n\r\n static #normalizeCurve(curve)\r\n {\r\n const normalized = { ...curve };\r\n for (const [key, value] of Object.entries(curve))\r\n {\r\n const lowerKey = CjsGrannyCurves.#lowerFirst(key);\r\n if (!(lowerKey in normalized))\r\n {\r\n normalized[lowerKey] = value;\r\n }\r\n }\r\n normalized.format = curve.format ?? curve.Format;\r\n normalized.degree = curve.degree ?? curve.Degree;\r\n normalized.knots = curve.knots ?? curve.Knots;\r\n normalized.controls = curve.controls ?? curve.Controls;\r\n normalized.dimension = curve.dimension ?? curve.Dimension;\r\n normalized.error = curve.error ?? curve.Error;\r\n return normalized;\r\n }\r\n\r\n static #getDecodedCurve(curve, dimension)\r\n {\r\n const knots = curve.knots;\r\n const controls = curve.controls;\r\n const curveDimension = Number(curve.dimension) || dimension;\r\n if (!Array.isArray(knots) || !Array.isArray(controls) || curveDimension !== dimension || controls.length % curveDimension !== 0)\r\n {\r\n return null;\r\n }\r\n return {\r\n format: curve.format,\r\n knots,\r\n controls,\r\n degree: Number(curve.degree) || 0,\r\n dimension: curveDimension,\r\n keyframed: curve.format === 0\r\n };\r\n }\r\n\r\n static #lowerFirst(value)\r\n {\r\n return value ? value[0].toLowerCase() + value.slice(1) : value;\r\n }\r\n\r\n static #copyControl(out, curve, index)\r\n {\r\n const offset = index * curve.dimension;\r\n for (let i = 0; i < curve.dimension; i++)\r\n {\r\n out[i] = curve.controls[offset + i];\r\n }\r\n return out;\r\n }\r\n\r\n static #findKnotIndex(knots, time)\r\n {\r\n let low = 0;\r\n let high = knots.length - 1;\r\n while (low < high)\r\n {\r\n const mid = low + high >> 1;\r\n if (knots[mid] > time)\r\n {\r\n high = mid;\r\n }\r\n else\r\n {\r\n low = mid + 1;\r\n }\r\n }\r\n return low;\r\n }\r\n\r\n static #sampleKeyframedCurve(count, time, duration)\r\n {\r\n const frame = duration > 0 ? Math.trunc(count * time / duration) : 0;\r\n return Math.max(0, Math.min(count - 1, frame));\r\n }\r\n\r\n static #sampleLinearCurve(out, curve, time, cycle, duration, knot)\r\n {\r\n const knots = curve.knots;\r\n const count = knots.length;\r\n const dim = curve.dimension;\r\n const knot0 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\r\n const start = knots[knot0];\r\n let end = knots[knot];\r\n let localTime = time;\r\n if (cycle && end < start)\r\n {\r\n end += duration;\r\n }\r\n if (cycle && localTime < start)\r\n {\r\n localTime += duration;\r\n }\r\n const t = end !== start ? (localTime - start) / (end - start) : 0;\r\n const p0 = knot0 * dim;\r\n const p1 = knot * dim;\r\n for (let i = 0; i < dim; i++)\r\n {\r\n out[i] = curve.controls[p0 + i] * (1 - t) + curve.controls[p1 + i] * t;\r\n }\r\n return out;\r\n }\r\n\r\n static #sampleQuadraticCurve(out, curve, time, cycle, duration, knot)\r\n {\r\n const knots = curve.knots;\r\n const count = knots.length;\r\n const dim = curve.dimension;\r\n const k2 = cycle ? (knot + count - 2) % count : knot === 0 ? 0 : Math.max(0, knot - 2);\r\n const k1 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\r\n const ti2 = knots[k2];\r\n const ti1 = knots[k1];\r\n let ti = knots[knot];\r\n let tiNext = knots[(knot + 1) % count];\r\n let localTime = time;\r\n if (ti2 > ti)\r\n {\r\n ti += duration;\r\n tiNext += duration;\r\n localTime += duration;\r\n }\r\n if (ti1 > ti)\r\n {\r\n ti += duration;\r\n tiNext += duration;\r\n localTime += duration;\r\n }\r\n if (tiNext < ti)\r\n {\r\n tiNext += duration;\r\n }\r\n const d0 = ti - ti1;\r\n const d1a = ti - ti2;\r\n const d1b = tiNext - ti1;\r\n const l0 = d0 !== 0 ? (localTime - ti1) / d0 : 0;\r\n const l1a = d1a !== 0 ? (localTime - ti2) / d1a : 0;\r\n const l1b = d1b !== 0 ? (localTime - ti1) / d1b : 0;\r\n let c2 = l1a + l0 - l0 * l1a;\r\n const ci = l0 * l1b;\r\n const c1 = c2 - ci;\r\n c2 = 1 - c2;\r\n const p0 = k2 * dim;\r\n const p1 = k1 * dim;\r\n const p2 = knot * dim;\r\n for (let i = 0; i < dim; i++)\r\n {\r\n out[i] = c2 * curve.controls[p0 + i] + c1 * curve.controls[p1 + i] + ci * curve.controls[p2 + i];\r\n }\r\n return out;\r\n }\r\n}\r\n\r\nconst ANIMATION_ELEMENT_TYPES = Object.freeze([\r\n \"Float32\",\r\n \"Float16\",\r\n \"UInt16Norm\",\r\n \"UInt16\",\r\n \"Int16Norm\",\r\n \"Int16\",\r\n \"UInt8Norm\",\r\n \"UInt8\",\r\n \"Int8Norm\",\r\n \"Int8\"\r\n]);\r\n\r\nfunction decodeElements(value, typeValue, count)\r\n{\r\n const type = typeof typeValue === \"number\" ? ANIMATION_ELEMENT_TYPES[typeValue] : typeValue;\r\n const size = elementTypeSize(type);\r\n\r\n if (ArrayBuffer.isView(value) && !(value instanceof Uint8Array) && value.length === count)\r\n {\r\n return Array.from(value, Number);\r\n }\r\n if (Array.isArray(value) && size > 1 && value.length === count)\r\n {\r\n return value.map(Number);\r\n }\r\n\r\n const bytes = asByteView(value);\r\n if (!bytes || bytes.byteLength < count * size)\r\n {\r\n throw new TypeError(\"Animation curve data is incomplete\");\r\n }\r\n\r\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\r\n return Array.from({ length: count }, (_, index) => readElement(view, index * size, type));\r\n}\r\n\r\nfunction asByteView(value)\r\n{\r\n if (value instanceof Uint8Array)\r\n {\r\n return value;\r\n }\r\n if (ArrayBuffer.isView(value))\r\n {\r\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\r\n }\r\n if (value instanceof ArrayBuffer)\r\n {\r\n return new Uint8Array(value);\r\n }\r\n return Array.isArray(value) ? Uint8Array.from(value) : null;\r\n}\r\n\r\nfunction elementTypeSize(type)\r\n{\r\n switch (type)\r\n {\r\n case \"Float32\":\r\n return 4;\r\n case \"Float16\":\r\n case \"UInt16Norm\":\r\n case \"UInt16\":\r\n case \"Int16Norm\":\r\n case \"Int16\":\r\n return 2;\r\n case \"UInt8Norm\":\r\n case \"UInt8\":\r\n case \"Int8Norm\":\r\n case \"Int8\":\r\n return 1;\r\n default:\r\n throw new TypeError(`Unsupported animation curve element type \"${type}\"`);\r\n }\r\n}\r\n\r\nfunction readElement(view, offset, type)\r\n{\r\n switch (type)\r\n {\r\n case \"Float32\":\r\n return view.getFloat32(offset, true);\r\n case \"Float16\":\r\n return num.fromHalfFloat(view.getUint16(offset, true));\r\n case \"UInt16Norm\":\r\n return view.getUint16(offset, true) / 65535;\r\n case \"UInt16\":\r\n return view.getUint16(offset, true);\r\n case \"Int16Norm\":\r\n return Math.max(view.getInt16(offset, true) / 32767, -1);\r\n case \"Int16\":\r\n return view.getInt16(offset, true);\r\n case \"UInt8Norm\":\r\n return view.getUint8(offset) / 255;\r\n case \"UInt8\":\r\n return view.getUint8(offset);\r\n case \"Int8Norm\":\r\n return Math.max(view.getInt8(offset) / 127, -1);\r\n case \"Int8\":\r\n return view.getInt8(offset);\r\n default:\r\n throw new TypeError(`Unsupported animation curve element type \"${type}\"`);\r\n }\r\n}\r\n\r\nfunction exactDiv(numerator, divisor, what)\r\n{\r\n const value = numerator / divisor;\r\n if (!Number.isInteger(value))\r\n {\r\n throw new Error(`gr2reader: curve ${what}: ${numerator} is not divisible by ${divisor}`);\r\n }\r\n return value;\r\n}\r\nfunction knotScaleFromTrunc(oneOverKnotScaleTrunc)\r\n{\r\n const buffer = new Uint32Array([oneOverKnotScaleTrunc << 16]);\r\n return new Float32Array(buffer.buffer)[0];\r\n}\r\nfunction knotsFromControls(knotsControls, count, scale)\r\n{\r\n const out = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n out[i] = fr(knotsControls[i] / scale);\r\n }\r\n return out;\r\n}\r\nfunction knotsFromControlsTrunc(knotsControls, count, oneOverKnotScaleTrunc)\r\n{\r\n return knotsFromControls(knotsControls, count, knotScaleFromTrunc(oneOverKnotScaleTrunc));\r\n}\r\nfunction identityControls(dimension)\r\n{\r\n switch (dimension)\r\n {\r\n case 3:\r\n return [0, 0, 0];\r\n case 4:\r\n return [0, 0, 0, 1];\r\n case 9:\r\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\r\n default:\r\n throw new Error(`gr2reader: invalid curve dimension ${dimension}`);\r\n }\r\n}\r\nfunction decodeDaKeyframes32f(c, dimension)\r\n{\r\n const dim = c.dimension || dimension,\r\n controls = c.controls || [],\r\n count = exactDiv(controls.length, dim, \"DaKeyframes32f controls/dimension\"),\r\n knots = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n knots[i] = i;\r\n }\r\n return {\r\n knots,\r\n controls: controls.map(fr),\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaK32fC32f(c, dimension)\r\n{\r\n const knots = (c.knots || []).map(fr),\r\n controls = (c.controls || []).map(fr),\r\n dim = knots.length ? exactDiv(controls.length, knots.length, \"DaK32fC32f controls/knots\") : dimension;\r\n return {\r\n knots,\r\n controls,\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaIdentity(c, dimension)\r\n{\r\n const dim = c.dimension || dimension;\r\n return {\r\n knots: [0],\r\n controls: identityControls(dim),\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaConstant32f(c, dimension)\r\n{\r\n const controls = (c.controls || []).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: controls.length || dimension\r\n };\r\n}\r\nfunction decodeD3Constant32f(c)\r\n{\r\n const controls = (c.controls || [0, 0, 0]).slice(0, 3).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD4Constant32f(c)\r\n{\r\n const controls = (c.controls || [0, 0, 0, 1]).slice(0, 4).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: 4\r\n };\r\n}\r\nfunction decodeDaK(c)\r\n{\r\n const controlScaleOffsets = c.controlScaleOffsets || [],\r\n knotsControls = c.knotsControls || [],\r\n dim = exactDiv(controlScaleOffsets.length, 2, \"DaK controlScaleOffsets/2\"),\r\n count = exactDiv(knotsControls.length, dim + 1, \"DaK knotsControls/(dim+1)\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controls = new Array(count * dim);\r\n for (let i = 0; i < count; i++)\r\n {\r\n for (let x = 0; x < dim; x++)\r\n {\r\n controls[i * dim + x] = fr(knotsControls[count + i * dim + x] * controlScaleOffsets[x] + controlScaleOffsets[dim + x]);\r\n }\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: dim\r\n };\r\n}\r\nfunction quatFromControl16(out, a, b, c, scales, offsets)\r\n{\r\n const swizzle1 = (b & 0x8000) >> 14 | c >> 15,\r\n swizzle2 = swizzle1 + 1 & 3,\r\n swizzle3 = swizzle2 + 1 & 3,\r\n swizzle4 = swizzle3 + 1 & 3;\r\n const dataA = (a & 0x7fff) * scales[swizzle2] + offsets[swizzle2],\r\n dataB = (b & 0x7fff) * scales[swizzle3] + offsets[swizzle3],\r\n dataC = (c & 0x7fff) * scales[swizzle4] + offsets[swizzle4];\r\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\r\n if ((a & 0x8000) !== 0)\r\n {\r\n dataD = -dataD;\r\n }\r\n out[swizzle2] = fr(dataA);\r\n out[swizzle3] = fr(dataB);\r\n out[swizzle4] = fr(dataC);\r\n out[swizzle1] = fr(dataD);\r\n return out;\r\n}\r\nfunction decodeD4n(c, decoder, scaleTableMultiplier)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D4n knotsControls/4\"),\r\n knots = knotsFromControls(knotsControls, count, Number(c.oneOverKnotScale) || 0);\r\n const selector = (c.scaleOffsetTableEntries ?? 0) >>> 0,\r\n scales = new Float32Array([D4N_SCALE_TABLE[selector >> 0 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 4 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 8 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 12 & 0x0f] * scaleTableMultiplier]),\r\n offsets = new Float32Array([D4N_OFFSET_TABLE[selector >> 0 & 0x0f], D4N_OFFSET_TABLE[selector >> 4 & 0x0f], D4N_OFFSET_TABLE[selector >> 8 & 0x0f], D4N_OFFSET_TABLE[selector >> 12 & 0x0f]]);\r\n const controls = new Array(count * 4),\r\n quat = [0, 0, 0, 1];\r\n for (let i = 0; i < count; i++)\r\n {\r\n decoder(quat, knotsControls[count + i * 3], knotsControls[count + i * 3 + 1], knotsControls[count + i * 3 + 2], scales, offsets);\r\n controls[i * 4] = quat[0];\r\n controls[i * 4 + 1] = quat[1];\r\n controls[i * 4 + 2] = quat[2];\r\n controls[i * 4 + 3] = quat[3];\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 4\r\n };\r\n}\r\nfunction decodeD4nK16uC15u(c)\r\n{\r\n return decodeD4n(c, quatFromControl16, D4N_SCALE_TABLE_MULTIPLIER_16);\r\n}\r\nfunction quatFromControl8(out, a, b, c, scales, offsets)\r\n{\r\n const swizzle1 = (b & 0x80) >> 6 | (c & 0x80) >> 7,\r\n swizzle2 = swizzle1 + 1 & 3,\r\n swizzle3 = swizzle2 + 1 & 3,\r\n swizzle4 = swizzle3 + 1 & 3;\r\n const dataA = (a & 0x7f) * scales[swizzle2] + offsets[swizzle2],\r\n dataB = (b & 0x7f) * scales[swizzle3] + offsets[swizzle3],\r\n dataC = (c & 0x7f) * scales[swizzle4] + offsets[swizzle4];\r\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\r\n if ((a & 0x80) !== 0)\r\n {\r\n dataD = -dataD;\r\n }\r\n out[swizzle2] = fr(dataA);\r\n out[swizzle3] = fr(dataB);\r\n out[swizzle4] = fr(dataC);\r\n out[swizzle1] = fr(dataD);\r\n return out;\r\n}\r\nfunction decodeD4nK8uC7u(c)\r\n{\r\n return decodeD4n(c, quatFromControl8, D4N_SCALE_TABLE_MULTIPLIER_8);\r\n}\r\nfunction decodeD3K(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D3K knotsControls/4\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controlScales = c.controlScales || [],\r\n controlOffsets = c.controlOffsets || [],\r\n controls = new Array(count * 3);\r\n for (let i = 0; i < count; i++)\r\n {\r\n for (let x = 0; x < 3; x++)\r\n {\r\n controls[i * 3 + x] = fr(knotsControls[count + i * 3 + x] * controlScales[x] + controlOffsets[x]);\r\n }\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD9I1(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D9I1 knotsControls/2\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\r\n const scale = Array.isArray(c.controlScales) ? c.controlScales[0] ?? 0 : c.controlScale || 0,\r\n offset = Array.isArray(c.controlOffsets) ? c.controlOffsets[0] ?? 0 : c.controlOffset || 0,\r\n controls = new Array(count * 9).fill(0);\r\n for (let i = 0; i < count; i++)\r\n {\r\n const s = fr(knotsControls[count + i] * scale + offset);\r\n controls[i * 9] = s;\r\n controls[i * 9 + 4] = s;\r\n controls[i * 9 + 8] = s;\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 9\r\n };\r\n}\r\nfunction decodeD9I3(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D9I3 knotsControls/4\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controlScales = c.controlScales || [],\r\n controlOffsets = c.controlOffsets || [],\r\n controls = new Array(count * 9).fill(0);\r\n for (let i = 0; i < count; i++)\r\n {\r\n controls[i * 9] = fr(knotsControls[count + i * 3] * controlScales[0] + controlOffsets[0]);\r\n controls[i * 9 + 4] = fr(knotsControls[count + i * 3 + 1] * controlScales[1] + controlOffsets[1]);\r\n controls[i * 9 + 8] = fr(knotsControls[count + i * 3 + 2] * controlScales[2] + controlOffsets[2]);\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 9\r\n };\r\n}\r\nfunction d3I1Controls(knotsControls, count, scales, offsets)\r\n{\r\n const controls = new Array(count * 3);\r\n for (let i = 0; i < count; i++)\r\n {\r\n const value = knotsControls[count + i];\r\n controls[i * 3] = fr(value * scales[0] + offsets[0]);\r\n controls[i * 3 + 1] = fr(value * scales[1] + offsets[1]);\r\n controls[i * 3 + 2] = fr(value * scales[2] + offsets[2]);\r\n }\r\n return controls;\r\n}\r\nfunction decodeD3I1K32fC32f(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D3I1K32f knotsControls/2\"),\r\n knots = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n knots[i] = fr(knotsControls[i]);\r\n }\r\n return {\r\n knots,\r\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD3I1u(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D3I1 knotsControls/2\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\r\n return {\r\n knots,\r\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeDaK16uC16u(c)\r\n{\r\n return decodeDaK(c);\r\n}\r\nfunction decodeDaK8uC8u(c)\r\n{\r\n return decodeDaK(c);\r\n}\r\nfunction decodeD3K16uC16u(c)\r\n{\r\n return decodeD3K(c);\r\n}\r\nfunction decodeD3K8uC8u(c)\r\n{\r\n return decodeD3K(c);\r\n}\r\nfunction decodeD9I1K16uC16u(c)\r\n{\r\n return decodeD9I1(c);\r\n}\r\nfunction decodeD9I1K8uC8u(c)\r\n{\r\n return decodeD9I1(c);\r\n}\r\nfunction decodeD9I3K16uC16u(c)\r\n{\r\n return decodeD9I3(c);\r\n}\r\nfunction decodeD9I3K8uC8u(c)\r\n{\r\n return decodeD9I3(c);\r\n}\r\nfunction decodeD3I1K16uC16u(c)\r\n{\r\n return decodeD3I1u(c);\r\n}\r\nfunction decodeD3I1K8uC8u(c)\r\n{\r\n return decodeD3I1u(c);\r\n}\r\n"],"names":["fr","Math","fround","CURVE_DECODERS","Object","freeze","format","decode","decodeDaKeyframes32f","decodeDaK32fC32f","decodeDaIdentity","decodeDaConstant32f","decodeD3Constant32f","decodeD4Constant32f","decodeDaK16uC16u","decodeDaK8uC8u","decodeD4nK16uC15u","decodeD4nK8uC7u","decodeD3K16uC16u","decodeD3K8uC8u","decodeD9I1K16uC16u","decodeD9I3K16uC16u","decodeD9I1K8uC8u","decodeD9I3K8uC8u","decodeD3I1K32fC32f","decodeD3I1K16uC16u","decodeD3I1K8uC8u","D4N_SCALE_TABLE","Float32Array","D4N_OFFSET_TABLE","D4N_SCALE_TABLE_MULTIPLIER_16","D4N_SCALE_TABLE_MULTIPLIER_8","CjsGrannyCurves","Map","decodeCurve","curveJson","dimension","Error","decoder","knots","controls","dim","degree","Number","sampleDecodedCurve","out","curve","time","cycle","duration","options","count","length","controlCount","keyframed","knot","index","max","min","registerResource","path","source","set","unregisterResource","delete","clearResources","clear","resolveResource","get","getTrackSource","value","getAnimations","getTrackGroups","animation","getAnimationDuration","Duration","getAnimationTimeStep","timeStep","TimeStep","findTransformTrack","group","name","trackGroup","tracks","track","find","item","findVectorTrack","findTextTrack","textTracks","getTextTrackEntries","entries","entry","isFinite","push","text","String","Text","decodeGrannyCurve","error","normalized","decodedDirect","decoded","decodeAnimationCurve","valueDimension","ValueDimension","knotCount","KnotCount","isSafeInteger","decodeElements","Knots","knotType","KnotType","values","Values","valueType","ValueType","interpolation","Interpolation","sampleGrannyCurve","#asRecord","#asTrackSource","record","#asTrackGroup","#findTrackSource","depth","direct","key","nested","#getArray","lowerKey","upperKey","lower","Array","isArray","upper","#hasArrayValue","#getName","Name","#getEntryTime","timeStamp","TimeStamp","timestamp","NaN","#normalizeTransformTrack","orientation","Orientation","position","Position","scaleShear","ScaleShear","#normalizeVectorTrack","valueCurve","ValueCurve","#normalizeCurve","Format","Degree","Controls","Dimension","#getDecodedCurve","curveDimension","#lowerFirst","toLowerCase","slice","#copyControl","offset","i","#findKnotIndex","low","high","mid","#sampleKeyframedCurve","frame","trunc","#sampleLinearCurve","knot0","start","end","localTime","t","p0","p1","#sampleQuadraticCurve","k2","k1","ti2","ti1","ti","tiNext","d0","d1a","d1b","l0","l1a","l1b","c2","ci","c1","p2","ANIMATION_ELEMENT_TYPES","typeValue","type","size","elementTypeSize","ArrayBuffer","isView","Uint8Array","from","map","bytes","asByteView","byteLength","TypeError","view","DataView","buffer","byteOffset","_","readElement","getFloat32","num","fromHalfFloat","getUint16","getInt16","getUint8","getInt8","exactDiv","numerator","divisor","what","isInteger","knotScaleFromTrunc","oneOverKnotScaleTrunc","Uint32Array","knotsFromControls","knotsControls","scale","knotsFromControlsTrunc","identityControls","c","decodeDaK","controlScaleOffsets","x","quatFromControl16","a","b","scales","offsets","swizzle1","swizzle2","swizzle3","swizzle4","dataA","dataB","dataC","dataD","sqrt","decodeD4n","scaleTableMultiplier","oneOverKnotScale","selector","scaleOffsetTableEntries","quat","quatFromControl8","decodeD3K","controlScales","controlOffsets","decodeD9I1","controlScale","controlOffset","fill","s","decodeD9I3","d3I1Controls","decodeD3I1u"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,MAAMA,EAAE,GAAGC,IAAI,CAACC,MAAM;AACtB,MAAMC,cAAc,GAAGC,MAAM,CAACC,MAAM,CAAC,CAACD,MAAM,CAACC,MAAM,CAAC;AAClDC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEC;AACV,CAAC,CAAC,EAAEJ,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEE;AACV,CAAC,CAAC,EAAEL,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEG;AACV,CAAC,CAAC,EAAEN,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEI;AACV,CAAC,CAAC,EAAEP,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEK;AACV,CAAC,CAAC,EAAER,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEM;AACV,CAAC,CAAC,EAAET,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEO;AACV,CAAC,CAAC,EAAEV,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEQ;AACV,CAAC,CAAC,EAAEX,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAES;AACV,CAAC,CAAC,EAAEZ,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAEU;AACV,CAAC,CAAC,EAAEb,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEW;AACV,CAAC,CAAC,EAAEd,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEY;AACV,CAAC,CAAC,EAAEf,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEa;AACV,CAAC,CAAC,EAAEhB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEc;AACV,CAAC,CAAC,EAAEjB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEe;AACV,CAAC,CAAC,EAAElB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEgB;AACV,CAAC,CAAC,EAAEnB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEiB;AACV,CAAC,CAAC,EAAEpB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEkB;AACV,CAAC,CAAC,EAAErB,MAAM,CAACC,MAAM,CAAC;AAChBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,MAAM,EAAEmB;AACV,CAAC,CAAC,CAAC,CAAC;AACJ,MAAMC,eAAe,GAAG,IAAIC,YAAY,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAChP,MAAMC,gBAAgB,GAAG,IAAID,YAAY,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,EAAI,CAAC,CAAC;AACvO,MAAME,6BAA6B,GAAG,cAAc;AACpD,MAAMC,4BAA4B,GAAG,YAAY;AAC1C,MAAMC,eAAe,CAC5B;AACE,EAAA,OAAO,UAAU,GAAG,IAAIC,GAAG,EAAE;;AAE7B;AACF;AACA;AACE,EAAA,OAAOC,WAAWA,CAACC,SAAS,EAAEC,SAAS,EACvC;IACE,IAAI,CAACD,SAAS,IAAI,OAAOA,SAAS,CAAC7B,MAAM,KAAK,QAAQ,EACtD;AACE,MAAA,MAAM,IAAI+B,KAAK,CAAC,sEAAsE,CAAC;AACzF,IAAA;AACA,IAAA,MAAMC,OAAO,GAAGnC,cAAc,CAACgC,SAAS,CAAC7B,MAAM,CAAC;IAChD,IAAI,CAACgC,OAAO,EACZ;MACE,MAAM,IAAID,KAAK,CAAC,CAAA,2CAAA,EAA8CF,SAAS,CAAC7B,MAAM,EAAE,CAAC;AACnF,IAAA;IACA,MAAM;MACJiC,KAAK;MACLC,QAAQ;AACRJ,MAAAA,SAAS,EAAEK;KACZ,GAAGH,OAAO,CAAC/B,MAAM,CAAC4B,SAAS,EAAEC,SAAS,CAAC;AACxC,IAAA,IAAIA,SAAS,IAAIK,GAAG,IAAIA,GAAG,KAAKL,SAAS,EACzC;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,CAAA,wBAAA,EAA2BF,SAAS,CAAC7B,MAAM,CAAA,mBAAA,EAAsBmC,GAAG,CAAA,gCAAA,EAAmCL,SAAS,CAAA,CAAE,CAAC;AACrI,IAAA;IACA,OAAO;MACLG,KAAK;MACLC,QAAQ;MACRE,MAAM,EAAEC,MAAM,CAACR,SAAS,CAACO,MAAM,CAAC,IAAI,CAAC;MACrCN,SAAS,EAAEK,GAAG,IAAIL;KACnB;AACH,EAAA;;AAEA;AACF;AACA;EACE,OAAOQ,kBAAkBA,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,GAAG,KAAK,EAAEC,QAAQ,GAAG,CAAC,EAAEC,OAAO,GAAG,EAAE,EACrF;AACE,IAAA,IAAI,CAACJ,KAAK,IAAI,CAACA,KAAK,CAACP,KAAK,IAAI,CAACO,KAAK,CAACN,QAAQ,IAAI,CAACM,KAAK,CAACV,SAAS,EACjE;AACE,MAAA,OAAOS,GAAG;AACZ,IAAA;AACA,IAAA,MAAMN,KAAK,GAAGO,KAAK,CAACP,KAAK;MACvBY,KAAK,GAAGZ,KAAK,CAACa,MAAM;MACpBX,GAAG,GAAGK,KAAK,CAACV,SAAS;AACrBiB,MAAAA,YAAY,GAAGP,KAAK,CAACN,QAAQ,CAACY,MAAM,GAAGX,GAAG;AAC5C,IAAA,IAAI,CAACU,KAAK,IAAI,CAACE,YAAY,EAC3B;AACE,MAAA,OAAOR,GAAG;AACZ,IAAA;IACA,IAAIK,OAAO,CAACI,SAAS,EACrB;MACE,OAAOtB,eAAe,CAAC,YAAY,CAACa,GAAG,EAAEC,KAAK,EAAEd,eAAe,CAAC,qBAAqB,CAACmB,KAAK,EAAEJ,IAAI,EAAEE,QAAQ,CAAC,CAAC;AAC/G,IAAA;IACA,MAAMM,IAAI,GAAGvB,eAAe,CAAC,cAAc,CAACO,KAAK,EAAEQ,IAAI,CAAC;AACxD,IAAA,IAAID,KAAK,CAACJ,MAAM,IAAI,CAAC,IAAIS,KAAK,KAAK,CAAC,IAAIE,YAAY,KAAK,CAAC,EAC1D;MACE,MAAMG,KAAK,GAAGT,IAAI,IAAIR,KAAK,CAACY,KAAK,GAAG,CAAC,CAAC,GAClCA,KAAK,GAAG,CAAC,GACTlD,IAAI,CAACwD,GAAG,CAAC,CAAC,EAAEF,IAAI,GAAG,CAAC,CAAC;AACzB,MAAA,OAAOvB,eAAe,CAAC,YAAY,CAACa,GAAG,EAAEC,KAAK,EAAE7C,IAAI,CAACyD,GAAG,CAACF,KAAK,EAAEH,YAAY,GAAG,CAAC,CAAC,CAAC;AACpF,IAAA;AACA,IAAA,IAAIP,KAAK,CAACJ,MAAM,KAAK,CAAC,EACtB;MACE,OAAOV,eAAe,CAAC,kBAAkB,CAACa,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,IAAIV,KAAK,CAACY,KAAK,GAAG,CAAC,CAAC,EAAEI,IAAI,CAAC;AACxG,IAAA;IACA,OAAOvB,eAAe,CAAC,qBAAqB,CAACa,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,IAAIV,KAAK,CAACY,KAAK,GAAG,CAAC,CAAC,EAAEI,IAAI,CAAC;AAC3G,EAAA;AAEA,EAAA,OAAOI,gBAAgBA,CAACC,IAAI,EAAEC,MAAM,EACpC;AACE,IAAA,IAAID,IAAI,EACR;MACE5B,eAAe,CAAC,UAAU,CAAC8B,GAAG,CAACF,IAAI,EAAEC,MAAM,CAAC;AAC9C,IAAA;AACF,EAAA;EAEA,OAAOE,kBAAkBA,CAACH,IAAI,EAC9B;AACE5B,IAAAA,eAAe,CAAC,UAAU,CAACgC,MAAM,CAACJ,IAAI,CAAC;AACzC,EAAA;EAEA,OAAOK,cAAcA,GACrB;AACEjC,IAAAA,eAAe,CAAC,UAAU,CAACkC,KAAK,EAAE;AACpC,EAAA;EAEA,OAAOC,eAAeA,CAACP,IAAI,EAC3B;IACE,OAAO5B,eAAe,CAAC,UAAU,CAACoC,GAAG,CAACR,IAAI,CAAC,IAAI,IAAI;AACrD,EAAA;EAEA,OAAOS,cAAcA,CAACC,KAAK,EAC3B;IACE,OAAOtC,eAAe,CAAC,gBAAgB,CAACsC,KAAK,EAAE,CAAC,CAAC;AACnD,EAAA;EAEA,OAAOC,aAAaA,CAACV,MAAM,EAC3B;IACE,OAAO7B,eAAe,CAAC,SAAS,CAAC6B,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC;AACtE,EAAA;EAEA,OAAOW,cAAcA,CAACC,SAAS,EAC/B;IACE,OAAOzC,eAAe,CAAC,SAAS,CAACyC,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC;AAC3E,EAAA;EAEA,OAAOC,oBAAoBA,CAACD,SAAS,EACrC;IACE,OAAO9B,MAAM,CAAC8B,SAAS,CAACxB,QAAQ,IAAIwB,SAAS,CAACE,QAAQ,CAAC,IAAI,CAAC;AAC9D,EAAA;EAEA,OAAOC,oBAAoBA,CAACH,SAAS,EACrC;IACE,OAAO9B,MAAM,CAAC8B,SAAS,CAACI,QAAQ,IAAIJ,SAAS,CAACK,QAAQ,CAAC,IAAI,CAAC;AAC9D,EAAA;AAEA,EAAA,OAAOC,kBAAkBA,CAACC,KAAK,EAAEC,IAAI,EACrC;IACE,MAAMC,UAAU,GAAGlD,eAAe,CAAC,aAAa,CAACgD,KAAK,CAAC;IACvD,IAAI,CAACE,UAAU,EACf;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,MAAMC,MAAM,GAAGnD,eAAe,CAAC,SAAS,CAACkD,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;AAC1F,IAAA,MAAME,KAAK,GAAGD,MAAM,CAACE,IAAI,CAACC,IAAI,IAAItD,eAAe,CAAC,QAAQ,CAACsD,IAAI,CAAC,KAAKL,IAAI,CAAC;IAC1E,OAAOG,KAAK,GAAGpD,eAAe,CAAC,wBAAwB,CAACoD,KAAK,CAAC,GAAG,IAAI;AACvE,EAAA;AAEA,EAAA,OAAOG,eAAeA,CAACP,KAAK,EAAEC,IAAI,EAClC;IACE,MAAMC,UAAU,GAAGlD,eAAe,CAAC,aAAa,CAACgD,KAAK,CAAC;IACvD,IAAI,CAACE,UAAU,EACf;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,MAAMC,MAAM,GAAGnD,eAAe,CAAC,SAAS,CAACkD,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC;AACpF,IAAA,MAAME,KAAK,GAAGD,MAAM,CAACE,IAAI,CAACC,IAAI,IAAItD,eAAe,CAAC,QAAQ,CAACsD,IAAI,CAAC,KAAKL,IAAI,CAAC;IAC1E,OAAOG,KAAK,GAAGpD,eAAe,CAAC,qBAAqB,CAACoD,KAAK,CAAC,GAAG,IAAI;AACpE,EAAA;AAEA,EAAA,OAAOI,aAAaA,CAACR,KAAK,EAAEC,IAAI,EAChC;IACE,MAAMC,UAAU,GAAGlD,eAAe,CAAC,aAAa,CAACgD,KAAK,CAAC;IACvD,IAAI,CAACE,UAAU,EACf;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,MAAMO,UAAU,GAAGzD,eAAe,CAAC,SAAS,CAACkD,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;AACpF,IAAA,OAAOO,UAAU,CAACJ,IAAI,CAACD,KAAK,IAAIpD,eAAe,CAAC,QAAQ,CAACoD,KAAK,CAAC,KAAKH,IAAI,CAAC,IAAI,IAAI;AACnF,EAAA;EAEA,OAAOS,mBAAmBA,CAACN,KAAK,EAChC;AACE,IAAA,MAAMO,OAAO,GAAG3D,eAAe,CAAC,SAAS,CAACoD,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC;IACtE,MAAMvC,GAAG,GAAG,EAAE;AACd,IAAA,KAAK,MAAM+C,KAAK,IAAID,OAAO,EAC3B;MACE,MAAM5C,IAAI,GAAGf,eAAe,CAAC,aAAa,CAAC4D,KAAK,CAAC;AACjD,MAAA,IAAIjD,MAAM,CAACkD,QAAQ,CAAC9C,IAAI,CAAC,EACzB;QACEF,GAAG,CAACiD,IAAI,CAAC;UAAE/C,IAAI;UAAEgD,IAAI,EAAEC,MAAM,CAACJ,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACK,IAAI,IAAI,EAAE;AAAE,SAAC,CAAC;AAClE,MAAA;AACF,IAAA;AACA,IAAA,OAAOpD,GAAG;AACZ,EAAA;AAEA,EAAA,OAAOqD,iBAAiBA,CAACpD,KAAK,EAAEV,SAAS,EACzC;IACE,IAAI,CAACU,KAAK,IAAIA,KAAK,CAACqD,KAAK,IAAIrD,KAAK,CAACT,KAAK,EACxC;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,MAAM+D,UAAU,GAAGpE,eAAe,CAAC,eAAe,CAACc,KAAK,CAAC;IACzD,MAAMuD,aAAa,GAAGrE,eAAe,CAAC,gBAAgB,CAACoE,UAAU,EAAEhE,SAAS,CAAC;AAC7E,IAAA,IAAIiE,aAAa,EACjB;AACE,MAAA,OAAOA,aAAa;AACtB,IAAA;AACA,IAAA,IAAI,OAAOD,UAAU,CAAC9F,MAAM,KAAK,QAAQ,IAAI,OAAO8F,UAAU,CAAC1D,MAAM,KAAK,QAAQ,EAClF;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,IACA;MACE,MAAM4D,OAAO,GAAGtE,eAAe,CAACE,WAAW,CAACkE,UAAU,EAAEhE,SAAS,CAAC;MAClE,OAAO;QACL9B,MAAM,EAAE8F,UAAU,CAAC9F,MAAM;QACzBiC,KAAK,EAAE+D,OAAO,CAAC/D,KAAK;QACpBC,QAAQ,EAAE8D,OAAO,CAAC9D,QAAQ;QAC1BE,MAAM,EAAE4D,OAAO,CAAC5D,MAAM;QACtBN,SAAS,EAAEkE,OAAO,CAAClE,SAAS;AAC5BkB,QAAAA,SAAS,EAAE8C,UAAU,CAAC9F,MAAM,KAAK;OAClC;AACH,IAAA,CAAC,CACD,MACA;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACF,EAAA;;AAEA;AACA,EAAA,OAAOiG,oBAAoBA,CAACzD,KAAK,EAAEV,SAAS,EAC5C;IACE,IAAI,CAACU,KAAK,EACV;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAM0D,cAAc,GAAG7D,MAAM,CAACG,KAAK,CAAC0D,cAAc,IAAI1D,KAAK,CAAC2D,cAAc,CAAC;IAC3E,MAAMC,SAAS,GAAG/D,MAAM,CAACG,KAAK,CAAC4D,SAAS,IAAI5D,KAAK,CAAC6D,SAAS,CAAC;AAC5D,IAAA,IAAIH,cAAc,KAAKpE,SAAS,IAAI,CAACO,MAAM,CAACiE,aAAa,CAACF,SAAS,CAAC,IAAIA,SAAS,IAAI,CAAC,EACtF;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,IACA;MACE,MAAMnE,KAAK,GAAGsE,cAAc,CAC1B/D,KAAK,CAACP,KAAK,IAAIO,KAAK,CAACgE,KAAK,EAC1BhE,KAAK,CAACiE,QAAQ,IAAIjE,KAAK,CAACkE,QAAQ,EAChCN,SACF,CAAC;MACD,MAAMlE,QAAQ,GAAGqE,cAAc,CAC7B/D,KAAK,CAACmE,MAAM,IAAInE,KAAK,CAACoE,MAAM,EAC5BpE,KAAK,CAACqE,SAAS,IAAIrE,KAAK,CAACsE,SAAS,EAClCV,SAAS,GAAGF,cACd,CAAC;MACD,MAAMa,aAAa,GAAGvE,KAAK,CAACuE,aAAa,IAAIvE,KAAK,CAACwE,aAAa;MAEhE,OAAO;QACL/E,KAAK;QACLC,QAAQ;QACRE,MAAM,EAAE2E,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/DjF,QAAAA,SAAS,EAAEoE,cAAc;AACzBlD,QAAAA,SAAS,EAAE;OACZ;AACH,IAAA,CAAC,CACD,MACA;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACF,EAAA;EAEA,OAAOiE,iBAAiBA,CAAC1E,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAC1D;AACEjB,IAAAA,eAAe,CAACY,kBAAkB,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAAE;MACpEK,SAAS,EAAER,KAAK,CAACQ;AACnB,KAAC,CAAC;AACF,IAAA,OAAOT,GAAG;AACZ,EAAA;AAEA,EAAA,OAAO,SAAS2E,CAAClD,KAAK,EACtB;IACE,OAAOA,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,IAAI;AACnE,EAAA;AAEA,EAAA,OAAO,cAAcmD,CAACnD,KAAK,EAC3B;IACE,MAAMoD,MAAM,GAAG1F,eAAe,CAAC,SAAS,CAACsC,KAAK,CAAC;AAC/C,IAAA,OAAOtC,eAAe,CAAC,cAAc,CAAC0F,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,GAAGA,MAAM,GAAG,IAAI;AAC3F,EAAA;AAEA,EAAA,OAAO,aAAaC,CAACrD,KAAK,EAC1B;AACE,IAAA,OAAOtC,eAAe,CAAC,SAAS,CAACsC,KAAK,CAAC;AACzC,EAAA;AAEA,EAAA,OAAO,gBAAgBsD,CAACtD,KAAK,EAAEuD,KAAK,EACpC;IACE,MAAMC,MAAM,GAAG9F,eAAe,CAAC,cAAc,CAACsC,KAAK,CAAC;AACpD,IAAA,IAAIwD,MAAM,EACV;AACE,MAAA,OAAOA,MAAM;AACf,IAAA;IACA,MAAMJ,MAAM,GAAG1F,eAAe,CAAC,SAAS,CAACsC,KAAK,CAAC;AAC/C,IAAA,IAAI,CAACoD,MAAM,IAAIG,KAAK,GAAG,CAAC,EACxB;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,KAAK,MAAME,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAChH;AACE,MAAA,MAAMC,MAAM,GAAGhG,eAAe,CAAC,gBAAgB,CAAC0F,MAAM,CAACK,GAAG,CAAC,EAAEF,KAAK,GAAG,CAAC,CAAC;AACvE,MAAA,IAAIG,MAAM,EACV;AACE,QAAA,OAAOA,MAAM;AACf,MAAA;AACF,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,OAAO,SAASC,CAAC3D,KAAK,EAAE4D,QAAQ,EAAEC,QAAQ,EAC1C;AACE,IAAA,MAAMC,KAAK,GAAG9D,KAAK,CAAC4D,QAAQ,CAAC;AAC7B,IAAA,IAAIG,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EACxB;AACE,MAAA,OAAOA,KAAK;AACd,IAAA;AACA,IAAA,MAAMG,KAAK,GAAGjE,KAAK,CAAC6D,QAAQ,CAAC;IAC7B,OAAOE,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC,GAAGA,KAAK,GAAG,EAAE;AAC1C,EAAA;EAEA,OAAO,cAAcC,CAAClE,KAAK,EAAE4D,QAAQ,EAAEC,QAAQ,EAC/C;AACE,IAAA,OAAOE,KAAK,CAACC,OAAO,CAAChE,KAAK,GAAG4D,QAAQ,CAAC,CAAC,IAAIG,KAAK,CAACC,OAAO,CAAChE,KAAK,GAAG6D,QAAQ,CAAC,CAAC;AAC7E,EAAA;AAEA,EAAA,OAAO,QAAQM,CAACnE,KAAK,EACrB;AACE,IAAA,OAAOA,KAAK,CAACW,IAAI,IAAIX,KAAK,CAACoE,IAAI;AACjC,EAAA;AAEA,EAAA,OAAO,aAAaC,CAAC/C,KAAK,EAC1B;AACE,IAAA,MAAMtB,KAAK,GAAGsB,KAAK,CAACgD,SAAS,IAAIhD,KAAK,CAACiD,SAAS,IAAIjD,KAAK,CAACkD,SAAS,IAAIlD,KAAK,CAAC7C,IAAI;IACjF,OAAO,OAAOuB,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG3B,MAAM,CAACoG,GAAG;AACvD,EAAA;AAEA,EAAA,OAAO,wBAAwBC,CAAC5D,KAAK,EACrC;IACE,OAAO;AACL,MAAA,GAAGA,KAAK;AACRH,MAAAA,IAAI,EAAEjD,eAAe,CAAC,QAAQ,CAACoD,KAAK,CAAC;AACrC6D,MAAAA,WAAW,EAAE7D,KAAK,CAAC6D,WAAW,IAAI7D,KAAK,CAAC8D,WAAW;AACnDC,MAAAA,QAAQ,EAAE/D,KAAK,CAAC+D,QAAQ,IAAI/D,KAAK,CAACgE,QAAQ;AAC1CC,MAAAA,UAAU,EAAEjE,KAAK,CAACiE,UAAU,IAAIjE,KAAK,CAACkE;KACvC;AACH,EAAA;AAEA,EAAA,OAAO,qBAAqBC,CAACnE,KAAK,EAClC;IACE,OAAO;AACL,MAAA,GAAGA,KAAK;AACRH,MAAAA,IAAI,EAAEjD,eAAe,CAAC,QAAQ,CAACoD,KAAK,CAAC;AACrCoE,MAAAA,UAAU,EAAEpE,KAAK,CAACoE,UAAU,IAAIpE,KAAK,CAACqE;KACvC;AACH,EAAA;AAEA,EAAA,OAAO,eAAeC,CAAC5G,KAAK,EAC5B;AACE,IAAA,MAAMsD,UAAU,GAAG;MAAE,GAAGtD;KAAO;AAC/B,IAAA,KAAK,MAAM,CAACiF,GAAG,EAAEzD,KAAK,CAAC,IAAIlE,MAAM,CAACuF,OAAO,CAAC7C,KAAK,CAAC,EAChD;MACE,MAAMoF,QAAQ,GAAGlG,eAAe,CAAC,WAAW,CAAC+F,GAAG,CAAC;AACjD,MAAA,IAAI,EAAEG,QAAQ,IAAI9B,UAAU,CAAC,EAC7B;AACEA,QAAAA,UAAU,CAAC8B,QAAQ,CAAC,GAAG5D,KAAK;AAC9B,MAAA;AACF,IAAA;IACA8B,UAAU,CAAC9F,MAAM,GAAGwC,KAAK,CAACxC,MAAM,IAAIwC,KAAK,CAAC6G,MAAM;IAChDvD,UAAU,CAAC1D,MAAM,GAAGI,KAAK,CAACJ,MAAM,IAAII,KAAK,CAAC8G,MAAM;IAChDxD,UAAU,CAAC7D,KAAK,GAAGO,KAAK,CAACP,KAAK,IAAIO,KAAK,CAACgE,KAAK;IAC7CV,UAAU,CAAC5D,QAAQ,GAAGM,KAAK,CAACN,QAAQ,IAAIM,KAAK,CAAC+G,QAAQ;IACtDzD,UAAU,CAAChE,SAAS,GAAGU,KAAK,CAACV,SAAS,IAAIU,KAAK,CAACgH,SAAS;IACzD1D,UAAU,CAACD,KAAK,GAAGrD,KAAK,CAACqD,KAAK,IAAIrD,KAAK,CAACT,KAAK;AAC7C,IAAA,OAAO+D,UAAU;AACnB,EAAA;AAEA,EAAA,OAAO,gBAAgB2D,CAACjH,KAAK,EAAEV,SAAS,EACxC;AACE,IAAA,MAAMG,KAAK,GAAGO,KAAK,CAACP,KAAK;AACzB,IAAA,MAAMC,QAAQ,GAAGM,KAAK,CAACN,QAAQ;IAC/B,MAAMwH,cAAc,GAAGrH,MAAM,CAACG,KAAK,CAACV,SAAS,CAAC,IAAIA,SAAS;IAC3D,IAAI,CAACiG,KAAK,CAACC,OAAO,CAAC/F,KAAK,CAAC,IAAI,CAAC8F,KAAK,CAACC,OAAO,CAAC9F,QAAQ,CAAC,IAAIwH,cAAc,KAAK5H,SAAS,IAAII,QAAQ,CAACY,MAAM,GAAG4G,cAAc,KAAK,CAAC,EAC/H;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,OAAO;MACL1J,MAAM,EAAEwC,KAAK,CAACxC,MAAM;MACpBiC,KAAK;MACLC,QAAQ;MACRE,MAAM,EAAEC,MAAM,CAACG,KAAK,CAACJ,MAAM,CAAC,IAAI,CAAC;AACjCN,MAAAA,SAAS,EAAE4H,cAAc;AACzB1G,MAAAA,SAAS,EAAER,KAAK,CAACxC,MAAM,KAAK;KAC7B;AACH,EAAA;AAEA,EAAA,OAAO,WAAW2J,CAAC3F,KAAK,EACxB;AACE,IAAA,OAAOA,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,CAAC4F,WAAW,EAAE,GAAG5F,KAAK,CAAC6F,KAAK,CAAC,CAAC,CAAC,GAAG7F,KAAK;AAChE,EAAA;EAEA,OAAO,YAAY8F,CAACvH,GAAG,EAAEC,KAAK,EAAEU,KAAK,EACrC;AACE,IAAA,MAAM6G,MAAM,GAAG7G,KAAK,GAAGV,KAAK,CAACV,SAAS;AACtC,IAAA,KAAK,IAAIkI,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxH,KAAK,CAACV,SAAS,EAAEkI,CAAC,EAAE,EACxC;MACEzH,GAAG,CAACyH,CAAC,CAAC,GAAGxH,KAAK,CAACN,QAAQ,CAAC6H,MAAM,GAAGC,CAAC,CAAC;AACrC,IAAA;AACA,IAAA,OAAOzH,GAAG;AACZ,EAAA;AAEA,EAAA,OAAO,cAAc0H,CAAChI,KAAK,EAAEQ,IAAI,EACjC;IACE,IAAIyH,GAAG,GAAG,CAAC;AACX,IAAA,IAAIC,IAAI,GAAGlI,KAAK,CAACa,MAAM,GAAG,CAAC;IAC3B,OAAOoH,GAAG,GAAGC,IAAI,EACjB;AACE,MAAA,MAAMC,GAAG,GAAGF,GAAG,GAAGC,IAAI,IAAI,CAAC;AAC3B,MAAA,IAAIlI,KAAK,CAACmI,GAAG,CAAC,GAAG3H,IAAI,EACrB;AACE0H,QAAAA,IAAI,GAAGC,GAAG;AACZ,MAAA,CAAC,MAED;QACEF,GAAG,GAAGE,GAAG,GAAG,CAAC;AACf,MAAA;AACF,IAAA;AACA,IAAA,OAAOF,GAAG;AACZ,EAAA;EAEA,OAAO,qBAAqBG,CAACxH,KAAK,EAAEJ,IAAI,EAAEE,QAAQ,EAClD;AACE,IAAA,MAAM2H,KAAK,GAAG3H,QAAQ,GAAG,CAAC,GAAGhD,IAAI,CAAC4K,KAAK,CAAC1H,KAAK,GAAGJ,IAAI,GAAGE,QAAQ,CAAC,GAAG,CAAC;AACpE,IAAA,OAAOhD,IAAI,CAACwD,GAAG,CAAC,CAAC,EAAExD,IAAI,CAACyD,GAAG,CAACP,KAAK,GAAG,CAAC,EAAEyH,KAAK,CAAC,CAAC;AAChD,EAAA;AAEA,EAAA,OAAO,kBAAkBE,CAACjI,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAAEM,IAAI,EACjE;AACE,IAAA,MAAMhB,KAAK,GAAGO,KAAK,CAACP,KAAK;AACzB,IAAA,MAAMY,KAAK,GAAGZ,KAAK,CAACa,MAAM;AAC1B,IAAA,MAAMX,GAAG,GAAGK,KAAK,CAACV,SAAS;IAC3B,MAAM2I,KAAK,GAAG/H,KAAK,GAAG,CAACO,IAAI,GAAGJ,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC;AAC5E,IAAA,MAAMyH,KAAK,GAAGzI,KAAK,CAACwI,KAAK,CAAC;AAC1B,IAAA,IAAIE,GAAG,GAAG1I,KAAK,CAACgB,IAAI,CAAC;IACrB,IAAI2H,SAAS,GAAGnI,IAAI;AACpB,IAAA,IAAIC,KAAK,IAAIiI,GAAG,GAAGD,KAAK,EACxB;AACEC,MAAAA,GAAG,IAAIhI,QAAQ;AACjB,IAAA;AACA,IAAA,IAAID,KAAK,IAAIkI,SAAS,GAAGF,KAAK,EAC9B;AACEE,MAAAA,SAAS,IAAIjI,QAAQ;AACvB,IAAA;AACA,IAAA,MAAMkI,CAAC,GAAGF,GAAG,KAAKD,KAAK,GAAG,CAACE,SAAS,GAAGF,KAAK,KAAKC,GAAG,GAAGD,KAAK,CAAC,GAAG,CAAC;AACjE,IAAA,MAAMI,EAAE,GAAGL,KAAK,GAAGtI,GAAG;AACtB,IAAA,MAAM4I,EAAE,GAAG9H,IAAI,GAAGd,GAAG;IACrB,KAAK,IAAI6H,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG7H,GAAG,EAAE6H,CAAC,EAAE,EAC5B;MACEzH,GAAG,CAACyH,CAAC,CAAC,GAAGxH,KAAK,CAACN,QAAQ,CAAC4I,EAAE,GAAGd,CAAC,CAAC,IAAI,CAAC,GAAGa,CAAC,CAAC,GAAGrI,KAAK,CAACN,QAAQ,CAAC6I,EAAE,GAAGf,CAAC,CAAC,GAAGa,CAAC;AACxE,IAAA;AACA,IAAA,OAAOtI,GAAG;AACZ,EAAA;AAEA,EAAA,OAAO,qBAAqByI,CAACzI,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,EAAEM,IAAI,EACpE;AACE,IAAA,MAAMhB,KAAK,GAAGO,KAAK,CAACP,KAAK;AACzB,IAAA,MAAMY,KAAK,GAAGZ,KAAK,CAACa,MAAM;AAC1B,IAAA,MAAMX,GAAG,GAAGK,KAAK,CAACV,SAAS;AAC3B,IAAA,MAAMmJ,EAAE,GAAGvI,KAAK,GAAG,CAACO,IAAI,GAAGJ,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAGtD,IAAI,CAACwD,GAAG,CAAC,CAAC,EAAEF,IAAI,GAAG,CAAC,CAAC;IACtF,MAAMiI,EAAE,GAAGxI,KAAK,GAAG,CAACO,IAAI,GAAGJ,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC;AACzE,IAAA,MAAMkI,GAAG,GAAGlJ,KAAK,CAACgJ,EAAE,CAAC;AACrB,IAAA,MAAMG,GAAG,GAAGnJ,KAAK,CAACiJ,EAAE,CAAC;AACrB,IAAA,IAAIG,EAAE,GAAGpJ,KAAK,CAACgB,IAAI,CAAC;IACpB,IAAIqI,MAAM,GAAGrJ,KAAK,CAAC,CAACgB,IAAI,GAAG,CAAC,IAAIJ,KAAK,CAAC;IACtC,IAAI+H,SAAS,GAAGnI,IAAI;IACpB,IAAI0I,GAAG,GAAGE,EAAE,EACZ;AACEA,MAAAA,EAAE,IAAI1I,QAAQ;AACd2I,MAAAA,MAAM,IAAI3I,QAAQ;AAClBiI,MAAAA,SAAS,IAAIjI,QAAQ;AACvB,IAAA;IACA,IAAIyI,GAAG,GAAGC,EAAE,EACZ;AACEA,MAAAA,EAAE,IAAI1I,QAAQ;AACd2I,MAAAA,MAAM,IAAI3I,QAAQ;AAClBiI,MAAAA,SAAS,IAAIjI,QAAQ;AACvB,IAAA;IACA,IAAI2I,MAAM,GAAGD,EAAE,EACf;AACEC,MAAAA,MAAM,IAAI3I,QAAQ;AACpB,IAAA;AACA,IAAA,MAAM4I,EAAE,GAAGF,EAAE,GAAGD,GAAG;AACnB,IAAA,MAAMI,GAAG,GAAGH,EAAE,GAAGF,GAAG;AACpB,IAAA,MAAMM,GAAG,GAAGH,MAAM,GAAGF,GAAG;AACxB,IAAA,MAAMM,EAAE,GAAGH,EAAE,KAAK,CAAC,GAAG,CAACX,SAAS,GAAGQ,GAAG,IAAIG,EAAE,GAAG,CAAC;AAChD,IAAA,MAAMI,GAAG,GAAGH,GAAG,KAAK,CAAC,GAAG,CAACZ,SAAS,GAAGO,GAAG,IAAIK,GAAG,GAAG,CAAC;AACnD,IAAA,MAAMI,GAAG,GAAGH,GAAG,KAAK,CAAC,GAAG,CAACb,SAAS,GAAGQ,GAAG,IAAIK,GAAG,GAAG,CAAC;IACnD,IAAII,EAAE,GAAGF,GAAG,GAAGD,EAAE,GAAGA,EAAE,GAAGC,GAAG;AAC5B,IAAA,MAAMG,EAAE,GAAGJ,EAAE,GAAGE,GAAG;AACnB,IAAA,MAAMG,EAAE,GAAGF,EAAE,GAAGC,EAAE;IAClBD,EAAE,GAAG,CAAC,GAAGA,EAAE;AACX,IAAA,MAAMf,EAAE,GAAGG,EAAE,GAAG9I,GAAG;AACnB,IAAA,MAAM4I,EAAE,GAAGG,EAAE,GAAG/I,GAAG;AACnB,IAAA,MAAM6J,EAAE,GAAG/I,IAAI,GAAGd,GAAG;IACrB,KAAK,IAAI6H,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG7H,GAAG,EAAE6H,CAAC,EAAE,EAC5B;AACEzH,MAAAA,GAAG,CAACyH,CAAC,CAAC,GAAG6B,EAAE,GAAGrJ,KAAK,CAACN,QAAQ,CAAC4I,EAAE,GAAGd,CAAC,CAAC,GAAG+B,EAAE,GAAGvJ,KAAK,CAACN,QAAQ,CAAC6I,EAAE,GAAGf,CAAC,CAAC,GAAG8B,EAAE,GAAGtJ,KAAK,CAACN,QAAQ,CAAC8J,EAAE,GAAGhC,CAAC,CAAC;AAClG,IAAA;AACA,IAAA,OAAOzH,GAAG;AACZ,EAAA;AACF;AAEA,MAAM0J,uBAAuB,GAAGnM,MAAM,CAACC,MAAM,CAAC,CAC5C,SAAS,EACT,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,EACP,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,CACP,CAAC;AAEF,SAASwG,cAAcA,CAACvC,KAAK,EAAEkI,SAAS,EAAErJ,KAAK,EAC/C;AACE,EAAA,MAAMsJ,IAAI,GAAG,OAAOD,SAAS,KAAK,QAAQ,GAAGD,uBAAuB,CAACC,SAAS,CAAC,GAAGA,SAAS;AAC3F,EAAA,MAAME,IAAI,GAAGC,eAAe,CAACF,IAAI,CAAC;AAElC,EAAA,IAAIG,WAAW,CAACC,MAAM,CAACvI,KAAK,CAAC,IAAI,EAAEA,KAAK,YAAYwI,UAAU,CAAC,IAAIxI,KAAK,CAAClB,MAAM,KAAKD,KAAK,EACzF;AACE,IAAA,OAAOkF,KAAK,CAAC0E,IAAI,CAACzI,KAAK,EAAE3B,MAAM,CAAC;AAClC,EAAA;AACA,EAAA,IAAI0F,KAAK,CAACC,OAAO,CAAChE,KAAK,CAAC,IAAIoI,IAAI,GAAG,CAAC,IAAIpI,KAAK,CAAClB,MAAM,KAAKD,KAAK,EAC9D;AACE,IAAA,OAAOmB,KAAK,CAAC0I,GAAG,CAACrK,MAAM,CAAC;AAC1B,EAAA;AAEA,EAAA,MAAMsK,KAAK,GAAGC,UAAU,CAAC5I,KAAK,CAAC;EAC/B,IAAI,CAAC2I,KAAK,IAAIA,KAAK,CAACE,UAAU,GAAGhK,KAAK,GAAGuJ,IAAI,EAC7C;AACE,IAAA,MAAM,IAAIU,SAAS,CAAC,oCAAoC,CAAC;AAC3D,EAAA;AAEA,EAAA,MAAMC,IAAI,GAAG,IAAIC,QAAQ,CAACL,KAAK,CAACM,MAAM,EAAEN,KAAK,CAACO,UAAU,EAAEP,KAAK,CAACE,UAAU,CAAC;EAC3E,OAAO9E,KAAK,CAAC0E,IAAI,CAAC;AAAE3J,IAAAA,MAAM,EAAED;AAAM,GAAC,EAAE,CAACsK,CAAC,EAAEjK,KAAK,KAAKkK,WAAW,CAACL,IAAI,EAAE7J,KAAK,GAAGkJ,IAAI,EAAED,IAAI,CAAC,CAAC;AAC3F;AAEA,SAASS,UAAUA,CAAC5I,KAAK,EACzB;EACE,IAAIA,KAAK,YAAYwI,UAAU,EAC/B;AACE,IAAA,OAAOxI,KAAK;AACd,EAAA;AACA,EAAA,IAAIsI,WAAW,CAACC,MAAM,CAACvI,KAAK,CAAC,EAC7B;AACE,IAAA,OAAO,IAAIwI,UAAU,CAACxI,KAAK,CAACiJ,MAAM,EAAEjJ,KAAK,CAACkJ,UAAU,EAAElJ,KAAK,CAAC6I,UAAU,CAAC;AACzE,EAAA;EACA,IAAI7I,KAAK,YAAYsI,WAAW,EAChC;AACE,IAAA,OAAO,IAAIE,UAAU,CAACxI,KAAK,CAAC;AAC9B,EAAA;AACA,EAAA,OAAO+D,KAAK,CAACC,OAAO,CAAChE,KAAK,CAAC,GAAGwI,UAAU,CAACC,IAAI,CAACzI,KAAK,CAAC,GAAG,IAAI;AAC7D;AAEA,SAASqI,eAAeA,CAACF,IAAI,EAC7B;AACE,EAAA,QAAQA,IAAI;AAEV,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,CAAC;AACV,IAAA,KAAK,SAAS;AACd,IAAA,KAAK,YAAY;AACjB,IAAA,KAAK,QAAQ;AACb,IAAA,KAAK,WAAW;AAChB,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,CAAC;AACV,IAAA,KAAK,WAAW;AAChB,IAAA,KAAK,OAAO;AACZ,IAAA,KAAK,UAAU;AACf,IAAA,KAAK,MAAM;AACT,MAAA,OAAO,CAAC;AACV,IAAA;AACE,MAAA,MAAM,IAAIW,SAAS,CAAC,CAAA,0CAAA,EAA6CX,IAAI,GAAG,CAAC;AAC7E;AACF;AAEA,SAASiB,WAAWA,CAACL,IAAI,EAAEhD,MAAM,EAAEoC,IAAI,EACvC;AACE,EAAA,QAAQA,IAAI;AAEV,IAAA,KAAK,SAAS;AACZ,MAAA,OAAOY,IAAI,CAACM,UAAU,CAACtD,MAAM,EAAE,IAAI,CAAC;AACtC,IAAA,KAAK,SAAS;AACZ,MAAA,OAAOuD,GAAG,CAACC,aAAa,CAACR,IAAI,CAACS,SAAS,CAACzD,MAAM,EAAE,IAAI,CAAC,CAAC;AACxD,IAAA,KAAK,YAAY;MACf,OAAOgD,IAAI,CAACS,SAAS,CAACzD,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK;AAC7C,IAAA,KAAK,QAAQ;AACX,MAAA,OAAOgD,IAAI,CAACS,SAAS,CAACzD,MAAM,EAAE,IAAI,CAAC;AACrC,IAAA,KAAK,WAAW;AACd,MAAA,OAAOpK,IAAI,CAACwD,GAAG,CAAC4J,IAAI,CAACU,QAAQ,CAAC1D,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;AAC1D,IAAA,KAAK,OAAO;AACV,MAAA,OAAOgD,IAAI,CAACU,QAAQ,CAAC1D,MAAM,EAAE,IAAI,CAAC;AACpC,IAAA,KAAK,WAAW;AACd,MAAA,OAAOgD,IAAI,CAACW,QAAQ,CAAC3D,MAAM,CAAC,GAAG,GAAG;AACpC,IAAA,KAAK,OAAO;AACV,MAAA,OAAOgD,IAAI,CAACW,QAAQ,CAAC3D,MAAM,CAAC;AAC9B,IAAA,KAAK,UAAU;AACb,MAAA,OAAOpK,IAAI,CAACwD,GAAG,CAAC4J,IAAI,CAACY,OAAO,CAAC5D,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC;AACjD,IAAA,KAAK,MAAM;AACT,MAAA,OAAOgD,IAAI,CAACY,OAAO,CAAC5D,MAAM,CAAC;AAC7B,IAAA;AACE,MAAA,MAAM,IAAI+C,SAAS,CAAC,CAAA,0CAAA,EAA6CX,IAAI,GAAG,CAAC;AAC7E;AACF;AAEA,SAASyB,QAAQA,CAACC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAC1C;AACE,EAAA,MAAM/J,KAAK,GAAG6J,SAAS,GAAGC,OAAO;AACjC,EAAA,IAAI,CAACzL,MAAM,CAAC2L,SAAS,CAAChK,KAAK,CAAC,EAC5B;IACE,MAAM,IAAIjC,KAAK,CAAC,CAAA,iBAAA,EAAoBgM,IAAI,KAAKF,SAAS,CAAA,qBAAA,EAAwBC,OAAO,CAAA,CAAE,CAAC;AAC1F,EAAA;AACA,EAAA,OAAO9J,KAAK;AACd;AACA,SAASiK,kBAAkBA,CAACC,qBAAqB,EACjD;EACE,MAAMjB,MAAM,GAAG,IAAIkB,WAAW,CAAC,CAACD,qBAAqB,IAAI,EAAE,CAAC,CAAC;EAC7D,OAAO,IAAI5M,YAAY,CAAC2L,MAAM,CAACA,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C;AACA,SAASmB,iBAAiBA,CAACC,aAAa,EAAExL,KAAK,EAAEyL,KAAK,EACtD;AACE,EAAA,MAAM/L,GAAG,GAAG,IAAIwF,KAAK,CAAClF,KAAK,CAAC;EAC5B,KAAK,IAAImH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;AACEzH,IAAAA,GAAG,CAACyH,CAAC,CAAC,GAAGtK,EAAE,CAAC2O,aAAa,CAACrE,CAAC,CAAC,GAAGsE,KAAK,CAAC;AACvC,EAAA;AACA,EAAA,OAAO/L,GAAG;AACZ;AACA,SAASgM,sBAAsBA,CAACF,aAAa,EAAExL,KAAK,EAAEqL,qBAAqB,EAC3E;EACE,OAAOE,iBAAiB,CAACC,aAAa,EAAExL,KAAK,EAAEoL,kBAAkB,CAACC,qBAAqB,CAAC,CAAC;AAC3F;AACA,SAASM,gBAAgBA,CAAC1M,SAAS,EACnC;AACE,EAAA,QAAQA,SAAS;AAEf,IAAA,KAAK,CAAC;AACJ,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClB,IAAA,KAAK,CAAC;MACJ,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrB,IAAA,KAAK,CAAC;AACJ,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,IAAA;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,CAAA,mCAAA,EAAsCD,SAAS,EAAE,CAAC;AACtE;AACF;AACA,SAAS5B,oBAAoBA,CAACuO,CAAC,EAAE3M,SAAS,EAC1C;AACE,EAAA,MAAMK,GAAG,GAAGsM,CAAC,CAAC3M,SAAS,IAAIA,SAAS;AAClCI,IAAAA,QAAQ,GAAGuM,CAAC,CAACvM,QAAQ,IAAI,EAAE;IAC3BW,KAAK,GAAG+K,QAAQ,CAAC1L,QAAQ,CAACY,MAAM,EAAEX,GAAG,EAAE,mCAAmC,CAAC;AAC3EF,IAAAA,KAAK,GAAG,IAAI8F,KAAK,CAAClF,KAAK,CAAC;EAC1B,KAAK,IAAImH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;AACE/H,IAAAA,KAAK,CAAC+H,CAAC,CAAC,GAAGA,CAAC;AACd,EAAA;EACA,OAAO;IACL/H,KAAK;AACLC,IAAAA,QAAQ,EAAEA,QAAQ,CAACwK,GAAG,CAAChN,EAAE,CAAC;AAC1BoC,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAAShC,gBAAgBA,CAACsO,CAAC,EAAE3M,SAAS,EACtC;AACE,EAAA,MAAMG,KAAK,GAAG,CAACwM,CAAC,CAACxM,KAAK,IAAI,EAAE,EAAEyK,GAAG,CAAChN,EAAE,CAAC;IACnCwC,QAAQ,GAAG,CAACuM,CAAC,CAACvM,QAAQ,IAAI,EAAE,EAAEwK,GAAG,CAAChN,EAAE,CAAC;AACrCyC,IAAAA,GAAG,GAAGF,KAAK,CAACa,MAAM,GAAG8K,QAAQ,CAAC1L,QAAQ,CAACY,MAAM,EAAEb,KAAK,CAACa,MAAM,EAAE,2BAA2B,CAAC,GAAGhB,SAAS;EACvG,OAAO;IACLG,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAAS/B,gBAAgBA,CAACqO,CAAC,EAAE3M,SAAS,EACtC;AACE,EAAA,MAAMK,GAAG,GAAGsM,CAAC,CAAC3M,SAAS,IAAIA,SAAS;EACpC,OAAO;IACLG,KAAK,EAAE,CAAC,CAAC,CAAC;AACVC,IAAAA,QAAQ,EAAEsM,gBAAgB,CAACrM,GAAG,CAAC;AAC/BL,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAAS9B,mBAAmBA,CAACoO,CAAC,EAAE3M,SAAS,EACzC;AACE,EAAA,MAAMI,QAAQ,GAAG,CAACuM,CAAC,CAACvM,QAAQ,IAAI,EAAE,EAAEwK,GAAG,CAAChN,EAAE,CAAC;EAC3C,OAAO;IACLuC,KAAK,EAAE,CAAC,CAAC,CAAC;IACVC,QAAQ;AACRJ,IAAAA,SAAS,EAAEI,QAAQ,CAACY,MAAM,IAAIhB;GAC/B;AACH;AACA,SAASxB,mBAAmBA,CAACmO,CAAC,EAC9B;EACE,MAAMvM,QAAQ,GAAG,CAACuM,CAAC,CAACvM,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE2H,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC6C,GAAG,CAAChN,EAAE,CAAC;EAC9D,OAAO;IACLuC,KAAK,EAAE,CAAC,CAAC,CAAC;IACVC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASvB,mBAAmBA,CAACkO,CAAC,EAC9B;EACE,MAAMvM,QAAQ,GAAG,CAACuM,CAAC,CAACvM,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE2H,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC6C,GAAG,CAAChN,EAAE,CAAC;EACjE,OAAO;IACLuC,KAAK,EAAE,CAAC,CAAC,CAAC;IACVC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAAS4M,SAASA,CAACD,CAAC,EACpB;AACE,EAAA,MAAME,mBAAmB,GAAGF,CAAC,CAACE,mBAAmB,IAAI,EAAE;AACrDN,IAAAA,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACrClM,GAAG,GAAGyL,QAAQ,CAACe,mBAAmB,CAAC7L,MAAM,EAAE,CAAC,EAAE,2BAA2B,CAAC;AAC1ED,IAAAA,KAAK,GAAG+K,QAAQ,CAACS,aAAa,CAACvL,MAAM,EAAEX,GAAG,GAAG,CAAC,EAAE,2BAA2B,CAAC;AAC5EF,IAAAA,KAAK,GAAGsM,sBAAsB,CAACF,aAAa,EAAExL,KAAK,EAAER,MAAM,CAACoM,CAAC,CAACP,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1FhM,IAAAA,QAAQ,GAAG,IAAI6F,KAAK,CAAClF,KAAK,GAAGV,GAAG,CAAC;EACnC,KAAK,IAAI6H,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;IACE,KAAK,IAAI4E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGzM,GAAG,EAAEyM,CAAC,EAAE,EAC5B;AACE1M,MAAAA,QAAQ,CAAC8H,CAAC,GAAG7H,GAAG,GAAGyM,CAAC,CAAC,GAAGlP,EAAE,CAAC2O,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG7H,GAAG,GAAGyM,CAAC,CAAC,GAAGD,mBAAmB,CAACC,CAAC,CAAC,GAAGD,mBAAmB,CAACxM,GAAG,GAAGyM,CAAC,CAAC,CAAC;AACxH,IAAA;AACF,EAAA;EACA,OAAO;IACL3M,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAEK;GACZ;AACH;AACA,SAAS0M,iBAAiBA,CAACtM,GAAG,EAAEuM,CAAC,EAAEC,CAAC,EAAEN,CAAC,EAAEO,MAAM,EAAEC,OAAO,EACxD;EACE,MAAMC,QAAQ,GAAG,CAACH,CAAC,GAAG,MAAM,KAAK,EAAE,GAAGN,CAAC,IAAI,EAAE;AAC3CU,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC7B,EAAA,MAAME,KAAK,GAAG,CAACR,CAAC,GAAG,MAAM,IAAIE,MAAM,CAACG,QAAQ,CAAC,GAAGF,OAAO,CAACE,QAAQ,CAAC;AAC/DI,IAAAA,KAAK,GAAG,CAACR,CAAC,GAAG,MAAM,IAAIC,MAAM,CAACI,QAAQ,CAAC,GAAGH,OAAO,CAACG,QAAQ,CAAC;AAC3DI,IAAAA,KAAK,GAAG,CAACf,CAAC,GAAG,MAAM,IAAIO,MAAM,CAACK,QAAQ,CAAC,GAAGJ,OAAO,CAACI,QAAQ,CAAC;EAC7D,IAAII,KAAK,GAAG9P,IAAI,CAAC+P,IAAI,CAAC/P,IAAI,CAACwD,GAAG,CAAC,CAAC,EAAE,CAAC,IAAImM,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC;AACvF,EAAA,IAAI,CAACV,CAAC,GAAG,MAAM,MAAM,CAAC,EACtB;IACEW,KAAK,GAAG,CAACA,KAAK;AAChB,EAAA;AACAlN,EAAAA,GAAG,CAAC4M,QAAQ,CAAC,GAAGzP,EAAE,CAAC4P,KAAK,CAAC;AACzB/M,EAAAA,GAAG,CAAC6M,QAAQ,CAAC,GAAG1P,EAAE,CAAC6P,KAAK,CAAC;AACzBhN,EAAAA,GAAG,CAAC8M,QAAQ,CAAC,GAAG3P,EAAE,CAAC8P,KAAK,CAAC;AACzBjN,EAAAA,GAAG,CAAC2M,QAAQ,CAAC,GAAGxP,EAAE,CAAC+P,KAAK,CAAC;AACzB,EAAA,OAAOlN,GAAG;AACZ;AACA,SAASoN,SAASA,CAAClB,CAAC,EAAEzM,OAAO,EAAE4N,oBAAoB,EACnD;AACE,EAAA,MAAMvB,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzCxL,KAAK,GAAG+K,QAAQ,CAACS,aAAa,CAACvL,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC;AAChEb,IAAAA,KAAK,GAAGmM,iBAAiB,CAACC,aAAa,EAAExL,KAAK,EAAER,MAAM,CAACoM,CAAC,CAACoB,gBAAgB,CAAC,IAAI,CAAC,CAAC;EAClF,MAAMC,QAAQ,GAAG,CAACrB,CAAC,CAACsB,uBAAuB,IAAI,CAAC,MAAM,CAAC;IACrDf,MAAM,GAAG,IAAI1N,YAAY,CAAC,CAACD,eAAe,CAACyO,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAGF,oBAAoB,EAAEvO,eAAe,CAACyO,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAGF,oBAAoB,EAAEvO,eAAe,CAACyO,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAGF,oBAAoB,EAAEvO,eAAe,CAACyO,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,GAAGF,oBAAoB,CAAC,CAAC;AACpRX,IAAAA,OAAO,GAAG,IAAI3N,YAAY,CAAC,CAACC,gBAAgB,CAACuO,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAEvO,gBAAgB,CAACuO,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAEvO,gBAAgB,CAACuO,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAEvO,gBAAgB,CAACuO,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;EAC/L,MAAM5N,QAAQ,GAAG,IAAI6F,KAAK,CAAClF,KAAK,GAAG,CAAC,CAAC;IACnCmN,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACrB,KAAK,IAAIhG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;AACEhI,IAAAA,OAAO,CAACgO,IAAI,EAAE3B,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG,CAAC,CAAC,EAAEqE,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEqE,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEgF,MAAM,EAAEC,OAAO,CAAC;IAChI/M,QAAQ,CAAC8H,CAAC,GAAG,CAAC,CAAC,GAAGgG,IAAI,CAAC,CAAC,CAAC;IACzB9N,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGgG,IAAI,CAAC,CAAC,CAAC;IAC7B9N,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGgG,IAAI,CAAC,CAAC,CAAC;IAC7B9N,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGgG,IAAI,CAAC,CAAC,CAAC;AAC/B,EAAA;EACA,OAAO;IACL/N,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASpB,iBAAiBA,CAAC+N,CAAC,EAC5B;AACE,EAAA,OAAOkB,SAAS,CAAClB,CAAC,EAAEI,iBAAiB,EAAErN,6BAA6B,CAAC;AACvE;AACA,SAASyO,gBAAgBA,CAAC1N,GAAG,EAAEuM,CAAC,EAAEC,CAAC,EAAEN,CAAC,EAAEO,MAAM,EAAEC,OAAO,EACvD;AACE,EAAA,MAAMC,QAAQ,GAAG,CAACH,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAACN,CAAC,GAAG,IAAI,KAAK,CAAC;AAChDU,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC3BE,IAAAA,QAAQ,GAAGD,QAAQ,GAAG,CAAC,GAAG,CAAC;AAC7B,EAAA,MAAME,KAAK,GAAG,CAACR,CAAC,GAAG,IAAI,IAAIE,MAAM,CAACG,QAAQ,CAAC,GAAGF,OAAO,CAACE,QAAQ,CAAC;AAC7DI,IAAAA,KAAK,GAAG,CAACR,CAAC,GAAG,IAAI,IAAIC,MAAM,CAACI,QAAQ,CAAC,GAAGH,OAAO,CAACG,QAAQ,CAAC;AACzDI,IAAAA,KAAK,GAAG,CAACf,CAAC,GAAG,IAAI,IAAIO,MAAM,CAACK,QAAQ,CAAC,GAAGJ,OAAO,CAACI,QAAQ,CAAC;EAC3D,IAAII,KAAK,GAAG9P,IAAI,CAAC+P,IAAI,CAAC/P,IAAI,CAACwD,GAAG,CAAC,CAAC,EAAE,CAAC,IAAImM,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,GAAGC,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC;AACvF,EAAA,IAAI,CAACV,CAAC,GAAG,IAAI,MAAM,CAAC,EACpB;IACEW,KAAK,GAAG,CAACA,KAAK;AAChB,EAAA;AACAlN,EAAAA,GAAG,CAAC4M,QAAQ,CAAC,GAAGzP,EAAE,CAAC4P,KAAK,CAAC;AACzB/M,EAAAA,GAAG,CAAC6M,QAAQ,CAAC,GAAG1P,EAAE,CAAC6P,KAAK,CAAC;AACzBhN,EAAAA,GAAG,CAAC8M,QAAQ,CAAC,GAAG3P,EAAE,CAAC8P,KAAK,CAAC;AACzBjN,EAAAA,GAAG,CAAC2M,QAAQ,CAAC,GAAGxP,EAAE,CAAC+P,KAAK,CAAC;AACzB,EAAA,OAAOlN,GAAG;AACZ;AACA,SAAS5B,eAAeA,CAAC8N,CAAC,EAC1B;AACE,EAAA,OAAOkB,SAAS,CAAClB,CAAC,EAAEwB,gBAAgB,EAAExO,4BAA4B,CAAC;AACrE;AACA,SAASyO,SAASA,CAACzB,CAAC,EACpB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzCxL,KAAK,GAAG+K,QAAQ,CAACS,aAAa,CAACvL,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC;AAChEb,IAAAA,KAAK,GAAGsM,sBAAsB,CAACF,aAAa,EAAExL,KAAK,EAAER,MAAM,CAACoM,CAAC,CAACP,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1FiC,IAAAA,aAAa,GAAG1B,CAAC,CAAC0B,aAAa,IAAI,EAAE;AACrCC,IAAAA,cAAc,GAAG3B,CAAC,CAAC2B,cAAc,IAAI,EAAE;AACvClO,IAAAA,QAAQ,GAAG,IAAI6F,KAAK,CAAClF,KAAK,GAAG,CAAC,CAAC;EACjC,KAAK,IAAImH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;IACE,KAAK,IAAI4E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAC1B;AACE1M,MAAAA,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG4E,CAAC,CAAC,GAAGlP,EAAE,CAAC2O,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG,CAAC,GAAG4E,CAAC,CAAC,GAAGuB,aAAa,CAACvB,CAAC,CAAC,GAAGwB,cAAc,CAACxB,CAAC,CAAC,CAAC;AACnG,IAAA;AACF,EAAA;EACA,OAAO;IACL3M,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAASuO,UAAUA,CAAC5B,CAAC,EACrB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzCxL,KAAK,GAAG+K,QAAQ,CAACS,aAAa,CAACvL,MAAM,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACjEb,IAAAA,KAAK,GAAGsM,sBAAsB,CAACF,aAAa,EAAExL,KAAK,EAAER,MAAM,CAACoM,CAAC,CAACP,qBAAqB,CAAC,IAAI,CAAC,CAAC;EAC5F,MAAMI,KAAK,GAAGvG,KAAK,CAACC,OAAO,CAACyG,CAAC,CAAC0B,aAAa,CAAC,GAAG1B,CAAC,CAAC0B,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG1B,CAAC,CAAC6B,YAAY,IAAI,CAAC;IAC1FvG,MAAM,GAAGhC,KAAK,CAACC,OAAO,CAACyG,CAAC,CAAC2B,cAAc,CAAC,GAAG3B,CAAC,CAAC2B,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG3B,CAAC,CAAC8B,aAAa,IAAI,CAAC;AAC1FrO,IAAAA,QAAQ,GAAG,IAAI6F,KAAK,CAAClF,KAAK,GAAG,CAAC,CAAC,CAAC2N,IAAI,CAAC,CAAC,CAAC;EACzC,KAAK,IAAIxG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;AACE,IAAA,MAAMyG,CAAC,GAAG/Q,EAAE,CAAC2O,aAAa,CAACxL,KAAK,GAAGmH,CAAC,CAAC,GAAGsE,KAAK,GAAGvE,MAAM,CAAC;AACvD7H,IAAAA,QAAQ,CAAC8H,CAAC,GAAG,CAAC,CAAC,GAAGyG,CAAC;IACnBvO,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGyG,CAAC;IACvBvO,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGyG,CAAC;AACzB,EAAA;EACA,OAAO;IACLxO,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAAS4O,UAAUA,CAACjC,CAAC,EACrB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzCxL,KAAK,GAAG+K,QAAQ,CAACS,aAAa,CAACvL,MAAM,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACjEb,IAAAA,KAAK,GAAGsM,sBAAsB,CAACF,aAAa,EAAExL,KAAK,EAAER,MAAM,CAACoM,CAAC,CAACP,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1FiC,IAAAA,aAAa,GAAG1B,CAAC,CAAC0B,aAAa,IAAI,EAAE;AACrCC,IAAAA,cAAc,GAAG3B,CAAC,CAAC2B,cAAc,IAAI,EAAE;AACvClO,IAAAA,QAAQ,GAAG,IAAI6F,KAAK,CAAClF,KAAK,GAAG,CAAC,CAAC,CAAC2N,IAAI,CAAC,CAAC,CAAC;EACzC,KAAK,IAAIxG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;IACE9H,QAAQ,CAAC8H,CAAC,GAAG,CAAC,CAAC,GAAGtK,EAAE,CAAC2O,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG,CAAC,CAAC,GAAGmG,aAAa,CAAC,CAAC,CAAC,GAAGC,cAAc,CAAC,CAAC,CAAC,CAAC;AACzFlO,IAAAA,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtK,EAAE,CAAC2O,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGmG,aAAa,CAAC,CAAC,CAAC,GAAGC,cAAc,CAAC,CAAC,CAAC,CAAC;AACjGlO,IAAAA,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtK,EAAE,CAAC2O,aAAa,CAACxL,KAAK,GAAGmH,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGmG,aAAa,CAAC,CAAC,CAAC,GAAGC,cAAc,CAAC,CAAC,CAAC,CAAC;AACnG,EAAA;EACA,OAAO;IACLnO,KAAK;IACLC,QAAQ;AACRJ,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAAS6O,YAAYA,CAACtC,aAAa,EAAExL,KAAK,EAAEmM,MAAM,EAAEC,OAAO,EAC3D;EACE,MAAM/M,QAAQ,GAAG,IAAI6F,KAAK,CAAClF,KAAK,GAAG,CAAC,CAAC;EACrC,KAAK,IAAImH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;AACE,IAAA,MAAMhG,KAAK,GAAGqK,aAAa,CAACxL,KAAK,GAAGmH,CAAC,CAAC;AACtC9H,IAAAA,QAAQ,CAAC8H,CAAC,GAAG,CAAC,CAAC,GAAGtK,EAAE,CAACsE,KAAK,GAAGgL,MAAM,CAAC,CAAC,CAAC,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD/M,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtK,EAAE,CAACsE,KAAK,GAAGgL,MAAM,CAAC,CAAC,CAAC,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD/M,QAAQ,CAAC8H,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGtK,EAAE,CAACsE,KAAK,GAAGgL,MAAM,CAAC,CAAC,CAAC,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1D,EAAA;AACA,EAAA,OAAO/M,QAAQ;AACjB;AACA,SAAShB,kBAAkBA,CAACuN,CAAC,EAC7B;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzCxL,KAAK,GAAG+K,QAAQ,CAACS,aAAa,CAACvL,MAAM,EAAE,CAAC,EAAE,0BAA0B,CAAC;AACrEb,IAAAA,KAAK,GAAG,IAAI8F,KAAK,CAAClF,KAAK,CAAC;EAC1B,KAAK,IAAImH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnH,KAAK,EAAEmH,CAAC,EAAE,EAC9B;IACE/H,KAAK,CAAC+H,CAAC,CAAC,GAAGtK,EAAE,CAAC2O,aAAa,CAACrE,CAAC,CAAC,CAAC;AACjC,EAAA;EACA,OAAO;IACL/H,KAAK;AACLC,IAAAA,QAAQ,EAAEyO,YAAY,CAACtC,aAAa,EAAExL,KAAK,EAAE4L,CAAC,CAAC0B,aAAa,IAAI,EAAE,EAAE1B,CAAC,CAAC2B,cAAc,IAAI,EAAE,CAAC;AAC3FtO,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAAS8O,WAAWA,CAACnC,CAAC,EACtB;AACE,EAAA,MAAMJ,aAAa,GAAGI,CAAC,CAACJ,aAAa,IAAI,EAAE;IACzCxL,KAAK,GAAG+K,QAAQ,CAACS,aAAa,CAACvL,MAAM,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACjEb,IAAAA,KAAK,GAAGsM,sBAAsB,CAACF,aAAa,EAAExL,KAAK,EAAER,MAAM,CAACoM,CAAC,CAACP,qBAAqB,CAAC,IAAI,CAAC,CAAC;EAC5F,OAAO;IACLjM,KAAK;AACLC,IAAAA,QAAQ,EAAEyO,YAAY,CAACtC,aAAa,EAAExL,KAAK,EAAE4L,CAAC,CAAC0B,aAAa,IAAI,EAAE,EAAE1B,CAAC,CAAC2B,cAAc,IAAI,EAAE,CAAC;AAC3FtO,IAAAA,SAAS,EAAE;GACZ;AACH;AACA,SAAStB,gBAAgBA,CAACiO,CAAC,EAC3B;EACE,OAAOC,SAAS,CAACD,CAAC,CAAC;AACrB;AACA,SAAShO,cAAcA,CAACgO,CAAC,EACzB;EACE,OAAOC,SAAS,CAACD,CAAC,CAAC;AACrB;AACA,SAAS7N,gBAAgBA,CAAC6N,CAAC,EAC3B;EACE,OAAOyB,SAAS,CAACzB,CAAC,CAAC;AACrB;AACA,SAAS5N,cAAcA,CAAC4N,CAAC,EACzB;EACE,OAAOyB,SAAS,CAACzB,CAAC,CAAC;AACrB;AACA,SAAS3N,kBAAkBA,CAAC2N,CAAC,EAC7B;EACE,OAAO4B,UAAU,CAAC5B,CAAC,CAAC;AACtB;AACA,SAASzN,gBAAgBA,CAACyN,CAAC,EAC3B;EACE,OAAO4B,UAAU,CAAC5B,CAAC,CAAC;AACtB;AACA,SAAS1N,kBAAkBA,CAAC0N,CAAC,EAC7B;EACE,OAAOiC,UAAU,CAACjC,CAAC,CAAC;AACtB;AACA,SAASxN,gBAAgBA,CAACwN,CAAC,EAC3B;EACE,OAAOiC,UAAU,CAACjC,CAAC,CAAC;AACtB;AACA,SAAStN,kBAAkBA,CAACsN,CAAC,EAC7B;EACE,OAAOmC,WAAW,CAACnC,CAAC,CAAC;AACvB;AACA,SAASrN,gBAAgBA,CAACqN,CAAC,EAC3B;EACE,OAAOmC,WAAW,CAACnC,CAAC,CAAC;AACvB;;;;"}
@@ -6,6 +6,7 @@ import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
6
6
  import { Tr2MatrixKey as _Tr2MatrixKey } from './Tr2MatrixKey.js';
7
7
 
8
8
  let _initProto, _initClass, _init_currentValue, _init_extra_currentValue, _init_name, _init_extra_name, _init_length, _init_extra_length, _init_cycle, _init_extra_cycle, _init_reversed, _init_extra_reversed, _init_startValue, _init_extra_startValue, _init_endValue, _init_extra_endValue, _init_skinnedObject, _init_extra_skinnedObject, _init_transform, _init_extra_transform, _init_keys, _init_extra_keys;
9
+ const SPHERICAL_LINEAR = 4;
9
10
  let _Tr2BoneMatrixCurve;
10
11
  new class extends _identity {
11
12
  static [class Tr2BoneMatrixCurve extends CjsModel {
@@ -16,7 +17,7 @@ new class extends _identity {
16
17
  } = _applyDecs2311(this, [type.define({
17
18
  className: "Tr2BoneMatrixCurve",
18
19
  family: "curves"
19
- })], [[[io, io.read, type, type.unknown], 16, "currentValue"], [[io, io.persist, type, type.unknown], 16, "name"], [[io, io.persist, type, type.unknown], 16, "length"], [[io, io.persist, type, type.unknown], 16, "cycle"], [[io, io.persist, type, type.unknown], 16, "reversed"], [[io, io.persist, type, type.unknown], 16, "startValue"], [[io, io.persist, type, type.unknown], 16, "endValue"], [[io, io.readwrite, void 0, type.objectRef("Tr2SkinnedObject")], 16, "skinnedObject"], [[io, io.persist, type, type.mat4], 16, "transform"], [[io, io.persistOnly, type, type.unknown], 16, "keys"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Length"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateValue"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetValueAt"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "Sort"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddKey"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveKey"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetBone"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBone"]], 0, void 0, CjsModel));
20
+ })], [[[io, io.read, type, type.mat4], 16, "currentValue"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.float32], 16, "length"], [[io, io.persist, type, type.boolean], 16, "cycle"], [[io, io.persist, type, type.boolean], 16, "reversed"], [[io, io.persist, type, type.mat4], 16, "startValue"], [[io, io.persist, type, type.mat4], 16, "endValue"], [[io, io.readwrite, void 0, type.objectRef("Tr2SkinnedObject")], 16, "skinnedObject"], [[io, io.persist, type, type.mat4], 16, "transform"], [[io, io.persistOnly, void 0, type.list("Tr2MatrixKey")], 16, "keys"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Length"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateValue"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetValueAt"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "Sort"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddKey"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetKeyCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetKeyTime"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetKeyTime"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript returns a detached matrix instead of exposing Carbon's const Matrix reference.")], 18, "GetKeyValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript copies authored matrix values so curve storage never aliases caller-owned arrays.")], 18, "SetKeyValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetKeyInterpolation"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetKeyInterpolation"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveKey"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetBone"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBone"]], 0, void 0, CjsModel));
20
21
  }
21
22
  currentValue = (_initProto(this), _init_currentValue(this, mat4.create()));
22
23
  name = (_init_extra_currentValue(this), _init_name(this, ""));
@@ -64,9 +65,11 @@ new class extends _identity {
64
65
  if (!boneMatrix) {
65
66
  return mat4.identity(out);
66
67
  }
67
- mat4.multiply(this.#scratch, this.transform, boneMatrix);
68
+ // Carbon (row-vector): (m_transform * bone) * world - m_transform first,
69
+ // world last (XMMatrixMultiply is row-vector A*B).
70
+ mat4.multiply(this.#scratch, boneMatrix, this.transform);
68
71
  const worldTransform = _Tr2BoneMatrixCurve.#getSkinnedObjectTransform(this.skinnedObject);
69
- return worldTransform ? mat4.multiply(out, this.#scratch, worldTransform) : mat4.copy(out, this.#scratch);
72
+ return worldTransform ? mat4.multiply(out, worldTransform, this.#scratch) : mat4.copy(out, this.#scratch);
70
73
  }
71
74
 
72
75
  /**
@@ -112,16 +115,67 @@ new class extends _identity {
112
115
  const key = new _Tr2MatrixKey();
113
116
  key.time = time;
114
117
  mat4.copy(key.value, keyValue);
118
+ _Tr2BoneMatrixCurve.#keyInterpolations.set(key, SPHERICAL_LINEAR);
115
119
  keys.push(key);
116
120
  this.Sort();
117
121
  return keys.indexOf(key);
118
122
  }
119
123
 
124
+ /** Gets the number of matrix keys. */
125
+ GetKeyCount() {
126
+ return this.keys.length;
127
+ }
128
+
129
+ /** Gets a key time, or the curve length when the index is out of range. */
130
+ GetKeyTime(index) {
131
+ return Number(this.keys[index]?.time ?? this.length);
132
+ }
133
+
134
+ /** Sets a key time without reordering; Carbon requires an explicit Sort call. */
135
+ SetKeyTime(index, time) {
136
+ if (this.keys[index]) {
137
+ this.keys[index].time = Number(time);
138
+ }
139
+ }
140
+
141
+ /** Gets a detached key matrix, or the curve end value when out of range. */
142
+ GetKeyValue(index) {
143
+ return mat4.clone(this.keys[index]?.value ?? this.endValue);
144
+ }
145
+
146
+ /** Copies a matrix into an existing key. */
147
+ SetKeyValue(index, value) {
148
+ if (this.keys[index]) {
149
+ if (!isArrayLike(value, 16)) {
150
+ throw new TypeError("Matrix key values must contain 16 components");
151
+ }
152
+ mat4.copy(this.keys[index].value, value);
153
+ }
154
+ }
155
+
156
+ /** Gets a key interpolation, or Carbon's spherical-linear curve default. */
157
+ GetKeyInterpolation(index) {
158
+ const key = this.keys[index];
159
+ return key ? _Tr2BoneMatrixCurve.#keyInterpolations.get(key) ?? SPHERICAL_LINEAR : SPHERICAL_LINEAR;
160
+ }
161
+
162
+ /** Sets the unpersisted interpolation mode on an existing matrix key. */
163
+ SetKeyInterpolation(index, interpolation) {
164
+ const key = this.keys[index];
165
+ if (key) {
166
+ _Tr2BoneMatrixCurve.#keyInterpolations.set(key, Math.trunc(Number(interpolation)) >>> 0);
167
+ }
168
+ }
169
+
120
170
  /**
121
171
  * Removes a matrix key.
122
172
  */
123
173
  RemoveKey(index) {
124
- this.keys.splice(index, 1);
174
+ if (Number.isInteger(index) && index >= 0 && index < this.keys.length) {
175
+ const [key] = this.keys.splice(index, 1);
176
+ _Tr2BoneMatrixCurve.#keyInterpolations.delete(key);
177
+ this.Sort();
178
+ }
125
179
  }
126
180
 
127
181
  /**
@@ -154,6 +208,7 @@ new class extends _identity {
154
208
  }
155
209
  }];
156
210
  #identityMatrix = mat4.create();
211
+ #keyInterpolations = new WeakMap();
157
212
  #getBoneMatrix(skinnedObject, bone) {
158
213
  if (!skinnedObject || !bone) {
159
214
  return null;