@wandelbots/wandelbots-js-react-components 5.4.2 → 5.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.
- package/dist/3d.cjs +2 -0
- package/dist/3d.cjs.map +1 -0
- package/dist/3d.js +31 -0
- package/dist/3d.js.map +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -1
- package/dist/components/3d-viewport/PresetEnvironment.cjs +2 -0
- package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -1
- package/dist/components/3d-viewport/PresetEnvironment.js +81 -0
- package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.js +131 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs +2 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -1
- package/dist/components/3d-viewport/TrajectoryRenderer.js +31 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js +22 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -0
- package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js +29 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +19 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +2 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +43 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
- package/dist/components/AppHeader.cjs +2 -0
- package/dist/components/AppHeader.cjs.map +1 -0
- package/dist/components/AppHeader.d.ts +1 -0
- package/dist/components/AppHeader.d.ts.map +1 -1
- package/dist/components/AppHeader.js +139 -0
- package/dist/components/AppHeader.js.map +1 -0
- package/dist/components/ConsoleFilter.cjs +2 -0
- package/dist/components/ConsoleFilter.cjs.map +1 -0
- package/dist/components/ConsoleFilter.js +13 -0
- package/dist/components/ConsoleFilter.js.map +1 -0
- package/dist/components/CopyableText.cjs +2 -0
- package/dist/components/CopyableText.cjs.map +1 -0
- package/dist/components/CopyableText.d.ts +1 -0
- package/dist/components/CopyableText.d.ts.map +1 -1
- package/dist/components/CopyableText.js +71 -0
- package/dist/components/CopyableText.js.map +1 -0
- package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
- package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -1
- package/dist/components/CycleTimer/DefaultVariant.cjs +2 -0
- package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.js +301 -0
- package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.cjs +2 -0
- package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.js +150 -0
- package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
- package/dist/components/CycleTimer/index.cjs +2 -0
- package/dist/components/CycleTimer/index.cjs.map +1 -0
- package/dist/components/CycleTimer/index.d.ts +1 -0
- package/dist/components/CycleTimer/index.d.ts.map +1 -1
- package/dist/components/CycleTimer/index.js +86 -0
- package/dist/components/CycleTimer/index.js.map +1 -0
- package/dist/components/CycleTimer/useAnimations.cjs +2 -0
- package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
- package/dist/components/CycleTimer/useAnimations.js +105 -0
- package/dist/components/CycleTimer/useAnimations.js.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.cjs +2 -0
- package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.js +191 -0
- package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
- package/dist/components/CycleTimer/utils.cjs +2 -0
- package/dist/components/CycleTimer/utils.cjs.map +1 -0
- package/dist/components/CycleTimer/utils.js +20 -0
- package/dist/components/CycleTimer/utils.js.map +1 -0
- package/dist/components/CycleTimer.cjs +2 -0
- package/dist/components/CycleTimer.cjs.map +1 -0
- package/dist/components/CycleTimer.d.ts +1 -0
- package/dist/components/CycleTimer.d.ts.map +1 -1
- package/dist/components/CycleTimer.js +6 -0
- package/dist/components/CycleTimer.js.map +1 -0
- package/dist/components/DataGrid.cjs +2 -0
- package/dist/components/DataGrid.cjs.map +1 -0
- package/dist/components/DataGrid.d.ts +1 -0
- package/dist/components/DataGrid.d.ts.map +1 -1
- package/dist/components/DataGrid.js +535 -0
- package/dist/components/DataGrid.js.map +1 -0
- package/dist/components/LoadingCover.cjs +2 -0
- package/dist/components/LoadingCover.cjs.map +1 -0
- package/dist/components/LoadingCover.d.ts +1 -0
- package/dist/components/LoadingCover.d.ts.map +1 -1
- package/dist/components/LoadingCover.js +77 -0
- package/dist/components/LoadingCover.js.map +1 -0
- package/dist/components/LogPanel.cjs +2 -0
- package/dist/components/LogPanel.cjs.map +1 -0
- package/dist/components/LogPanel.d.ts +1 -0
- package/dist/components/LogPanel.d.ts.map +1 -1
- package/dist/components/LogPanel.js +34 -0
- package/dist/components/LogPanel.js.map +1 -0
- package/dist/components/LogStore.cjs +2 -0
- package/dist/components/LogStore.cjs.map +1 -0
- package/dist/components/LogStore.d.ts +1 -0
- package/dist/components/LogStore.d.ts.map +1 -1
- package/dist/components/LogStore.js +33 -0
- package/dist/components/LogStore.js.map +1 -0
- package/dist/components/LogViewer.cjs +2 -0
- package/dist/components/LogViewer.cjs.map +1 -0
- package/dist/components/LogViewer.d.ts +1 -0
- package/dist/components/LogViewer.d.ts.map +1 -1
- package/dist/components/LogViewer.js +299 -0
- package/dist/components/LogViewer.js.map +1 -0
- package/dist/components/ProgramControl.cjs +2 -0
- package/dist/components/ProgramControl.cjs.map +1 -0
- package/dist/components/ProgramControl.d.ts +1 -0
- package/dist/components/ProgramControl.d.ts.map +1 -1
- package/dist/components/ProgramControl.js +147 -0
- package/dist/components/ProgramControl.js.map +1 -0
- package/dist/components/ProgramStateIndicator.cjs +2 -0
- package/dist/components/ProgramStateIndicator.cjs.map +1 -0
- package/dist/components/ProgramStateIndicator.d.ts +1 -0
- package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
- package/dist/components/ProgramStateIndicator.js +140 -0
- package/dist/components/ProgramStateIndicator.js.map +1 -0
- package/dist/components/RobotCard.cjs +2 -0
- package/dist/components/RobotCard.cjs.map +1 -0
- package/dist/components/RobotCard.d.ts +1 -0
- package/dist/components/RobotCard.d.ts.map +1 -1
- package/dist/components/RobotCard.js +360 -0
- package/dist/components/RobotCard.js.map +1 -0
- package/dist/components/RobotListItem.cjs +2 -0
- package/dist/components/RobotListItem.cjs.map +1 -0
- package/dist/components/RobotListItem.d.ts +1 -0
- package/dist/components/RobotListItem.d.ts.map +1 -1
- package/dist/components/RobotListItem.js +122 -0
- package/dist/components/RobotListItem.js.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.cjs +2 -0
- package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -1
- package/dist/components/RobotSetupReadinessIndicator.js +122 -0
- package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
- package/dist/components/SelectableFab.cjs +2 -0
- package/dist/components/SelectableFab.cjs.map +1 -0
- package/dist/components/SelectableFab.d.ts +1 -1
- package/dist/components/SelectableFab.d.ts.map +1 -1
- package/dist/components/SelectableFab.js +51 -0
- package/dist/components/SelectableFab.js.map +1 -0
- package/dist/components/TabBar.cjs +2 -0
- package/dist/components/TabBar.cjs.map +1 -0
- package/dist/components/TabBar.d.ts +1 -0
- package/dist/components/TabBar.d.ts.map +1 -1
- package/dist/components/TabBar.js +212 -0
- package/dist/components/TabBar.js.map +1 -0
- package/dist/components/ThemeSelect.d.ts +1 -1
- package/dist/components/ThemeSelect.d.ts.map +1 -1
- package/dist/components/Timer/Timer.d.ts +1 -0
- package/dist/components/Timer/Timer.d.ts.map +1 -1
- package/dist/components/Timer/TimerDefaultVariant.cjs +2 -0
- package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.js +136 -0
- package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.cjs +2 -0
- package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.js +128 -0
- package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
- package/dist/components/Timer/index.cjs +2 -0
- package/dist/components/Timer/index.cjs.map +1 -0
- package/dist/components/Timer/index.d.ts +1 -0
- package/dist/components/Timer/index.d.ts.map +1 -1
- package/dist/components/Timer/index.js +68 -0
- package/dist/components/Timer/index.js.map +1 -0
- package/dist/components/Timer/useTimerAnimations.cjs +2 -0
- package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
- package/dist/components/Timer/useTimerAnimations.js +48 -0
- package/dist/components/Timer/useTimerAnimations.js.map +1 -0
- package/dist/components/Timer/useTimerLogic.cjs +2 -0
- package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
- package/dist/components/Timer/useTimerLogic.js +113 -0
- package/dist/components/Timer/useTimerLogic.js.map +1 -0
- package/dist/components/Timer/utils.cjs +2 -0
- package/dist/components/Timer/utils.cjs.map +1 -0
- package/dist/components/Timer/utils.js +19 -0
- package/dist/components/Timer/utils.js.map +1 -0
- package/dist/components/Timer.cjs +2 -0
- package/dist/components/Timer.cjs.map +1 -0
- package/dist/components/Timer.d.ts +4 -0
- package/dist/components/Timer.d.ts.map +1 -0
- package/dist/components/Timer.js +6 -0
- package/dist/components/Timer.js.map +1 -0
- package/dist/components/TransparentOverlay.d.ts +1 -0
- package/dist/components/TransparentOverlay.d.ts.map +1 -1
- package/dist/components/VelocitySlider.cjs +2 -0
- package/dist/components/VelocitySlider.cjs.map +1 -0
- package/dist/components/VelocitySlider.d.ts +1 -1
- package/dist/components/VelocitySlider.d.ts.map +1 -1
- package/dist/components/VelocitySlider.js +97 -0
- package/dist/components/VelocitySlider.js.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs +2 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.js +35 -0
- package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
- package/dist/components/jogging/JoggingBlocked.cjs +2 -0
- package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
- package/dist/components/jogging/JoggingBlocked.js +46 -0
- package/dist/components/jogging/JoggingBlocked.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.js +186 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.cjs +2 -0
- package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.js +267 -0
- package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs +2 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js +42 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
- package/dist/components/jogging/JoggingJointTab.cjs +2 -0
- package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointTab.js +114 -0
- package/dist/components/jogging/JoggingJointTab.js.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.cjs +2 -0
- package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -1
- package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -1
- package/dist/components/jogging/JoggingJointValueControl.js +240 -0
- package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
- package/dist/components/jogging/JoggingOptions.cjs +2 -0
- package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
- package/dist/components/jogging/JoggingOptions.js +117 -0
- package/dist/components/jogging/JoggingOptions.js.map +1 -0
- package/dist/components/jogging/JoggingPanel.cjs +2 -0
- package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
- package/dist/components/jogging/JoggingPanel.d.ts +1 -0
- package/dist/components/jogging/JoggingPanel.d.ts.map +1 -1
- package/dist/components/jogging/JoggingPanel.js +121 -0
- package/dist/components/jogging/JoggingPanel.js.map +1 -0
- package/dist/components/jogging/JoggingStore.cjs +2 -0
- package/dist/components/jogging/JoggingStore.cjs.map +1 -0
- package/dist/components/jogging/JoggingStore.d.ts +1 -1
- package/dist/components/jogging/JoggingStore.d.ts.map +1 -1
- package/dist/components/jogging/JoggingStore.js +219 -0
- package/dist/components/jogging/JoggingStore.js.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs +2 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js +29 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs +2 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.js +40 -0
- package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.cjs +2 -0
- package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
- package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -1
- package/dist/components/jogging/PoseCartesianValues.js +48 -0
- package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
- package/dist/components/jogging/PoseJointValues.cjs +2 -0
- package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
- package/dist/components/jogging/PoseJointValues.d.ts +1 -0
- package/dist/components/jogging/PoseJointValues.d.ts.map +1 -1
- package/dist/components/jogging/PoseJointValues.js +47 -0
- package/dist/components/jogging/PoseJointValues.js.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.cjs +2 -0
- package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
- package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -1
- package/dist/components/modal/NoMotionGroupModal.js +92 -0
- package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
- package/dist/components/robots/AxisConfig.cjs +2 -0
- package/dist/components/robots/AxisConfig.cjs.map +1 -0
- package/dist/components/robots/AxisConfig.js +5 -0
- package/dist/components/robots/AxisConfig.js.map +1 -0
- package/dist/components/robots/DHLinearAxis.cjs +2 -0
- package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
- package/dist/components/robots/DHLinearAxis.d.ts +1 -0
- package/dist/components/robots/DHLinearAxis.d.ts.map +1 -1
- package/dist/components/robots/DHLinearAxis.js +92 -0
- package/dist/components/robots/DHLinearAxis.js.map +1 -0
- package/dist/components/robots/DHRobot.cjs +2 -0
- package/dist/components/robots/DHRobot.cjs.map +1 -0
- package/dist/components/robots/DHRobot.d.ts +1 -0
- package/dist/components/robots/DHRobot.d.ts.map +1 -1
- package/dist/components/robots/DHRobot.js +94 -0
- package/dist/components/robots/DHRobot.js.map +1 -0
- package/dist/components/robots/GenericRobot.cjs +2 -0
- package/dist/components/robots/GenericRobot.cjs.map +1 -0
- package/dist/components/robots/GenericRobot.d.ts +1 -0
- package/dist/components/robots/GenericRobot.d.ts.map +1 -1
- package/dist/components/robots/GenericRobot.js +91 -0
- package/dist/components/robots/GenericRobot.js.map +1 -0
- package/dist/components/robots/LinearAxis.cjs +2 -0
- package/dist/components/robots/LinearAxis.cjs.map +1 -0
- package/dist/components/robots/LinearAxis.d.ts +1 -0
- package/dist/components/robots/LinearAxis.d.ts.map +1 -1
- package/dist/components/robots/LinearAxis.js +42 -0
- package/dist/components/robots/LinearAxis.js.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.cjs +2 -0
- package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.js +66 -0
- package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.cjs +2 -0
- package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
- package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -1
- package/dist/components/robots/MotionGroupVisualizer.js +21 -0
- package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
- package/dist/components/robots/Robot.cjs +2 -0
- package/dist/components/robots/Robot.cjs.map +1 -0
- package/dist/components/robots/Robot.d.ts +1 -0
- package/dist/components/robots/Robot.d.ts.map +1 -1
- package/dist/components/robots/Robot.js +31 -0
- package/dist/components/robots/Robot.js.map +1 -0
- package/dist/components/robots/RobotAnimator.cjs +2 -0
- package/dist/components/robots/RobotAnimator.cjs.map +1 -0
- package/dist/components/robots/RobotAnimator.js +66 -0
- package/dist/components/robots/RobotAnimator.js.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.cjs +2 -0
- package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
- package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -1
- package/dist/components/robots/SupportedLinearAxis.js +82 -0
- package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
- package/dist/components/robots/SupportedRobot.cjs +2 -0
- package/dist/components/robots/SupportedRobot.cjs.map +1 -0
- package/dist/components/robots/SupportedRobot.d.ts +1 -0
- package/dist/components/robots/SupportedRobot.d.ts.map +1 -1
- package/dist/components/robots/SupportedRobot.js +82 -0
- package/dist/components/robots/SupportedRobot.js.map +1 -0
- package/dist/components/robots/ghostStyle.cjs +2 -0
- package/dist/components/robots/ghostStyle.cjs.map +1 -0
- package/dist/components/robots/ghostStyle.js +40 -0
- package/dist/components/robots/ghostStyle.js.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.cjs +2 -0
- package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.js +51 -0
- package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
- package/dist/components/robots/robotModelLogic.cjs +2 -0
- package/dist/components/robots/robotModelLogic.cjs.map +1 -0
- package/dist/components/robots/robotModelLogic.js +61 -0
- package/dist/components/robots/robotModelLogic.js.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.js +71 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs +2 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -1
- package/dist/components/safetyBar/IndicatorWithExplanation.js +123 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -0
- package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -1
- package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/OperationModeIndicator.js +75 -0
- package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
- package/dist/components/safetyBar/SafetyBar.cjs +2 -0
- package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
- package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
- package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -1
- package/dist/components/safetyBar/SafetyBar.js +66 -0
- package/dist/components/safetyBar/SafetyBar.js.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -0
- package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -1
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/SafetyStateIndicator.js +126 -0
- package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.js +11 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
- package/dist/components/utils/converters.cjs +2 -0
- package/dist/components/utils/converters.cjs.map +1 -0
- package/dist/components/utils/converters.js +40 -0
- package/dist/components/utils/converters.js.map +1 -0
- package/dist/components/utils/errorHandling.cjs +2 -0
- package/dist/components/utils/errorHandling.cjs.map +1 -0
- package/dist/components/utils/errorHandling.js +14 -0
- package/dist/components/utils/errorHandling.js.map +1 -0
- package/dist/components/utils/hooks.cjs +2 -0
- package/dist/components/utils/hooks.cjs.map +1 -0
- package/dist/components/utils/hooks.js +29 -0
- package/dist/components/utils/hooks.js.map +1 -0
- package/dist/components/utils/interpolation.cjs +2 -0
- package/dist/components/utils/interpolation.cjs.map +1 -0
- package/dist/components/utils/interpolation.js +138 -0
- package/dist/components/utils/interpolation.js.map +1 -0
- package/dist/core.cjs +2 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.js +81 -0
- package/dist/core.js.map +1 -0
- package/dist/externalizeComponent.cjs +2 -0
- package/dist/externalizeComponent.cjs.map +1 -0
- package/dist/externalizeComponent.js +13 -0
- package/dist/externalizeComponent.js.map +1 -0
- package/dist/i18n/config.cjs +2 -0
- package/dist/i18n/config.cjs.map +1 -0
- package/dist/i18n/config.js +25 -0
- package/dist/i18n/config.js.map +1 -0
- package/dist/i18n/locales/de/translations.json.cjs +3 -0
- package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
- package/dist/i18n/locales/de/translations.json.js +94 -0
- package/dist/i18n/locales/de/translations.json.js.map +1 -0
- package/dist/i18n/locales/en/translations.json.cjs +2 -0
- package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
- package/dist/i18n/locales/en/translations.json.js +94 -0
- package/dist/i18n/locales/en/translations.json.js.map +1 -0
- package/dist/icons/DropdownArrowIcon.cjs +2 -0
- package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
- package/dist/icons/DropdownArrowIcon.js +14 -0
- package/dist/icons/DropdownArrowIcon.js.map +1 -0
- package/dist/icons/axis-x.svg.cjs +2 -0
- package/dist/icons/axis-x.svg.cjs.map +1 -0
- package/dist/icons/axis-x.svg.d.ts +3 -0
- package/dist/icons/axis-x.svg.js +11 -0
- package/dist/icons/axis-x.svg.js.map +1 -0
- package/dist/icons/axis-y.svg.cjs +2 -0
- package/dist/icons/axis-y.svg.cjs.map +1 -0
- package/dist/icons/axis-y.svg.d.ts +3 -0
- package/dist/icons/axis-y.svg.js +11 -0
- package/dist/icons/axis-y.svg.js.map +1 -0
- package/dist/icons/axis-z.svg.cjs +2 -0
- package/dist/icons/axis-z.svg.cjs.map +1 -0
- package/dist/icons/axis-z.svg.d.ts +3 -0
- package/dist/icons/axis-z.svg.js +11 -0
- package/dist/icons/axis-z.svg.js.map +1 -0
- package/dist/icons/home.svg.cjs +2 -0
- package/dist/icons/home.svg.cjs.map +1 -0
- package/dist/icons/home.svg.d.ts +3 -0
- package/dist/icons/home.svg.js +11 -0
- package/dist/icons/home.svg.js.map +1 -0
- package/dist/icons/jog-minus.svg.cjs +2 -0
- package/dist/icons/jog-minus.svg.cjs.map +1 -0
- package/dist/icons/jog-minus.svg.d.ts +3 -0
- package/dist/icons/jog-minus.svg.js +11 -0
- package/dist/icons/jog-minus.svg.js.map +1 -0
- package/dist/icons/jog-plus.svg.cjs +2 -0
- package/dist/icons/jog-plus.svg.cjs.map +1 -0
- package/dist/icons/jog-plus.svg.d.ts +3 -0
- package/dist/icons/jog-plus.svg.js +11 -0
- package/dist/icons/jog-plus.svg.js.map +1 -0
- package/dist/icons/jogging.svg.cjs +2 -0
- package/dist/icons/jogging.svg.cjs.map +1 -0
- package/dist/icons/jogging.svg.d.ts +3 -0
- package/dist/icons/jogging.svg.js +11 -0
- package/dist/icons/jogging.svg.js.map +1 -0
- package/dist/icons/orientation-coord-system.svg.cjs +2 -0
- package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
- package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
- package/dist/icons/orientation-coord-system.svg.js +11 -0
- package/dist/icons/orientation-coord-system.svg.js.map +1 -0
- package/dist/icons/orientation-tool.svg.cjs +2 -0
- package/dist/icons/orientation-tool.svg.cjs.map +1 -0
- package/dist/icons/orientation-tool.svg.d.ts +3 -0
- package/dist/icons/orientation-tool.svg.js +11 -0
- package/dist/icons/orientation-tool.svg.js.map +1 -0
- package/dist/icons/robot.svg.cjs +2 -0
- package/dist/icons/robot.svg.cjs.map +1 -0
- package/dist/icons/robot.svg.d.ts +3 -0
- package/dist/icons/robot.svg.js +11 -0
- package/dist/icons/robot.svg.js.map +1 -0
- package/dist/icons/rotation.svg.cjs +2 -0
- package/dist/icons/rotation.svg.cjs.map +1 -0
- package/dist/icons/rotation.svg.d.ts +3 -0
- package/dist/icons/rotation.svg.js +11 -0
- package/dist/icons/rotation.svg.js.map +1 -0
- package/dist/icons/wbLogo.svg.cjs +2 -0
- package/dist/icons/wbLogo.svg.cjs.map +1 -0
- package/dist/icons/wbLogo.svg.d.ts +3 -0
- package/dist/icons/wbLogo.svg.js +11 -0
- package/dist/icons/wbLogo.svg.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +153 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/ConnectedMotionGroup.cjs +4 -0
- package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -1
- package/dist/lib/ConnectedMotionGroup.js +250 -0
- package/dist/lib/ConnectedMotionGroup.js.map +1 -0
- package/dist/lib/JoggerConnection.cjs +2 -0
- package/dist/lib/JoggerConnection.cjs.map +1 -0
- package/dist/lib/JoggerConnection.d.ts +1 -0
- package/dist/lib/JoggerConnection.d.ts.map +1 -1
- package/dist/lib/JoggerConnection.js +342 -0
- package/dist/lib/JoggerConnection.js.map +1 -0
- package/dist/lib/MotionStreamConnection.cjs +3 -0
- package/dist/lib/MotionStreamConnection.cjs.map +1 -0
- package/dist/lib/MotionStreamConnection.d.ts +1 -0
- package/dist/lib/MotionStreamConnection.d.ts.map +1 -1
- package/dist/lib/MotionStreamConnection.js +94 -0
- package/dist/lib/MotionStreamConnection.js.map +1 -0
- package/dist/lib/motionStateUpdate.cjs +2 -0
- package/dist/lib/motionStateUpdate.cjs.map +1 -0
- package/dist/lib/motionStateUpdate.js +49 -0
- package/dist/lib/motionStateUpdate.js.map +1 -0
- package/dist/test/consumer.test.d.ts +2 -0
- package/dist/test/consumer.test.d.ts.map +1 -0
- package/dist/themes/createDarkTheme.cjs +2 -0
- package/dist/themes/createDarkTheme.cjs.map +1 -0
- package/dist/themes/createDarkTheme.js +344 -0
- package/dist/themes/createDarkTheme.js.map +1 -0
- package/dist/themes/createLightTheme.cjs +2 -0
- package/dist/themes/createLightTheme.cjs.map +1 -0
- package/dist/themes/createLightTheme.js +9 -0
- package/dist/themes/createLightTheme.js.map +1 -0
- package/dist/themes/theming.cjs +2 -0
- package/dist/themes/theming.cjs.map +1 -0
- package/dist/themes/theming.js +14 -0
- package/dist/themes/theming.js.map +1 -0
- package/dist/wb-icons.cjs +2 -0
- package/dist/wb-icons.cjs.map +1 -0
- package/dist/wb-icons.js +47 -0
- package/dist/wb-icons.js.map +1 -0
- package/package.json +20 -9
- package/src/components/3d-viewport/CoordinateSystemTransform.tsx +2 -0
- package/src/components/3d-viewport/PresetEnvironment.tsx +2 -0
- package/src/components/3d-viewport/SafetyZonesRenderer.tsx +2 -0
- package/src/components/3d-viewport/TrajectoryRenderer.tsx +2 -0
- package/src/components/AppHeader.tsx +2 -0
- package/src/components/CopyableText.tsx +2 -0
- package/src/components/CycleTimer/CycleTimer.ts +2 -0
- package/src/components/CycleTimer/index.tsx +2 -0
- package/src/components/CycleTimer.tsx +2 -0
- package/src/components/DataGrid.tsx +2 -0
- package/src/components/LoadingCover.tsx +2 -0
- package/src/components/LogPanel.tsx +2 -0
- package/src/components/LogStore.ts +2 -0
- package/src/components/LogViewer.tsx +2 -0
- package/src/components/ProgramControl.tsx +2 -0
- package/src/components/ProgramStateIndicator.tsx +2 -0
- package/src/components/RobotCard.tsx +2 -0
- package/src/components/RobotListItem.tsx +2 -0
- package/src/components/RobotSetupReadinessIndicator.tsx +2 -0
- package/src/components/SelectableFab.tsx +2 -0
- package/src/components/TabBar.tsx +2 -0
- package/src/components/ThemeSelect.tsx +2 -0
- package/src/components/Timer/Timer.ts +2 -0
- package/src/components/Timer/index.tsx +2 -0
- package/src/components/Timer.ts +4 -0
- package/src/components/TransparentOverlay.tsx +2 -0
- package/src/components/VelocitySlider.tsx +2 -0
- package/src/components/jogging/JoggingCartesianAxisControl.tsx +2 -0
- package/src/components/jogging/JoggingJointValueControl.tsx +2 -0
- package/src/components/jogging/JoggingPanel.tsx +2 -0
- package/src/components/jogging/JoggingStore.ts +2 -0
- package/src/components/jogging/PoseCartesianValues.tsx +2 -0
- package/src/components/jogging/PoseJointValues.tsx +2 -0
- package/src/components/modal/NoMotionGroupModal.tsx +2 -0
- package/src/components/robots/DHLinearAxis.tsx +2 -0
- package/src/components/robots/DHRobot.tsx +2 -0
- package/src/components/robots/GenericRobot.tsx +2 -0
- package/src/components/robots/LinearAxis.tsx +2 -0
- package/src/components/robots/MotionGroupVisualizer.tsx +2 -0
- package/src/components/robots/Robot.tsx +2 -0
- package/src/components/robots/SupportedLinearAxis.tsx +2 -0
- package/src/components/robots/SupportedRobot.tsx +2 -0
- package/src/components/safetyBar/ControllerTypeIndicator.tsx +2 -0
- package/src/components/safetyBar/IndicatorWithExplanation.tsx +2 -0
- package/src/components/safetyBar/OperationModeIndicator.tsx +2 -0
- package/src/components/safetyBar/SafetyBar.tsx +2 -0
- package/src/components/safetyBar/SafetyStateIndicator.tsx +2 -0
- package/src/lib/ConnectedMotionGroup.ts +2 -0
- package/src/lib/JoggerConnection.ts +2 -0
- package/src/lib/MotionStreamConnection.ts +2 -0
- package/src/test/consumer.test.ts +230 -0
- package/dist/3d.cjs.js +0 -2
- package/dist/3d.cjs.js.map +0 -1
- package/dist/3d.es.js +0 -19
- package/dist/3d.es.js.map +0 -1
- package/dist/MotionGroupVisualizer-B-e22qXF.cjs +0 -2
- package/dist/MotionGroupVisualizer-B-e22qXF.cjs.map +0 -1
- package/dist/MotionGroupVisualizer-CIASsBC6.js +0 -1433
- package/dist/MotionGroupVisualizer-CIASsBC6.js.map +0 -1
- package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs +0 -5
- package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs.map +0 -1
- package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js +0 -4217
- package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js.map +0 -1
- package/dist/core.cjs.js +0 -2
- package/dist/core.cjs.js.map +0 -1
- package/dist/core.es.js +0 -52
- package/dist/core.es.js.map +0 -1
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.es.js +0 -92
- package/dist/index.es.js.map +0 -1
- package/dist/interpolation-BIB6FC35.cjs +0 -198
- package/dist/interpolation-BIB6FC35.cjs.map +0 -1
- package/dist/interpolation-lSTX6ZXZ.js +0 -14559
- package/dist/interpolation-lSTX6ZXZ.js.map +0 -1
- package/dist/safety-state-stop-ClWLVLMl.cjs +0 -2
- package/dist/safety-state-stop-ClWLVLMl.cjs.map +0 -1
- package/dist/safety-state-stop-DuMBCxN5.js +0 -91
- package/dist/safety-state-stop-DuMBCxN5.js.map +0 -1
- package/dist/theming-D_pShDEg.js +0 -32236
- package/dist/theming-D_pShDEg.js.map +0 -1
- package/dist/theming-L5E8VSae.cjs +0 -84
- package/dist/theming-L5E8VSae.cjs.map +0 -1
- package/dist/wb-icons.cjs.js +0 -2
- package/dist/wb-icons.cjs.js.map +0 -1
- package/dist/wb-icons.es.js +0 -27
- package/dist/wb-icons.es.js.map +0 -1
- package/dist/wbLogo-CObCmqTw.js +0 -31
- package/dist/wbLogo-CObCmqTw.js.map +0 -1
- package/dist/wbLogo-G_IfZ03l.cjs +0 -2
- package/dist/wbLogo-G_IfZ03l.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpolation-BIB6FC35.cjs","sources":["../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../src/components/utils/converters.ts","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/identifier.js","../node_modules/.pnpm/@emotion+hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/.pnpm/@emotion+unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/.pnpm/@emotion+serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/.pnpm/@mui+styled-engine@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emot_0fc3d7c23399402b95720acf204c93cb/node_modules/@mui/styled-engine/esm/GlobalStyles/GlobalStyles.js","../node_modules/.pnpm/@mui+styled-engine@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emot_0fc3d7c23399402b95720acf204c93cb/node_modules/@mui/styled-engine/esm/index.js","../node_modules/.pnpm/react-is@19.2.3/node_modules/react-is/cjs/react-is.production.js","../node_modules/.pnpm/react-is@19.2.3/node_modules/react-is/cjs/react-is.development.js","../node_modules/.pnpm/react-is@19.2.3/node_modules/react-is/index.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/deepmerge/deepmerge.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/responsivePropType/responsivePropType.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/merge/merge.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/breakpoints/breakpoints.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/capitalize/capitalize.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/style/style.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/memoize/memoize.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/spacing/spacing.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/compose/compose.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/borders/borders.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/cssGrid/cssGrid.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/palette/palette.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/sizing/sizing.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/createTheme/applyStyles.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/useTheme/useTheme.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/createBox/createBox.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/preprocessStyles.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/createStyled/createStyled.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/resolveProps/resolveProps.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/clamp/clamp.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/useId/useId.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/memoTheme.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/cssVars/createGetCssVar.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/cssVars/cssVarsParser.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/cssVars/prepareCssVars.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/common.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/grey.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/purple.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/red.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/orange.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/blue.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/lightBlue.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/colors/green.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createPalette.js","../node_modules/.pnpm/@mui+system@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+sty_9f25e4f8046a0e1ae0c536ac245b72e6/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createMixins.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createTypography.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/shadows.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createTransitions.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/zIndex.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/stringifyTheme.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createThemeNoVars.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/getOverlayAlpha.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createColorScheme.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/shouldSkipGeneratingVar.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/excludeVariablesFromRoot.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createGetSelector.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createThemeWithVars.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/createTheme.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/defaultTheme.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/useTheme.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/slotShouldForwardProp.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/rootShouldForwardProp.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/styles/styled.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Box/boxClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Box/Box.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/GlobalStyles/GlobalStyles.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/zero-styled/index.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/utils/memoTheme.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/SvgIcon/svgIconClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/SvgIcon/SvgIcon.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/utils/createSvgIcon.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/useForkRef/useForkRef.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/refType/refType.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/useLazyRipple/useLazyRipple.js","../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/useOnMount/useOnMount.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/useTimeout/useTimeout.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/ButtonBase/Ripple.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/ButtonBase/touchRippleClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/ButtonBase/TouchRipple.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/ButtonBase/buttonBaseClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/ButtonBase/ButtonBase.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/utils/createSimplePaletteValueFilter.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/CircularProgress/circularProgressClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/CircularProgress/CircularProgress.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Button/buttonClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupContext.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupButtonContext.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Button/Button.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/integerPropType/integerPropType.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Paper/paperClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Paper/Paper.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Divider/dividerClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Divider/Divider.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Typography/typographyClasses.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Typography/Typography.js","../src/i18n/config.ts","../src/externalizeComponent.tsx","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/internal/svg-icons/Cancel.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Chip/chipClasses.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js","../node_modules/.pnpm/@mui+utils@7.3.7_@types+react@19.2.7_react@19.2.3/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/utils/useSlot.js","../node_modules/.pnpm/@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.3__@emotion+s_809553f7d28c83e176bdd81dc58ef16f/node_modules/@mui/material/esm/Chip/Chip.js","../node_modules/.pnpm/@mui+icons-material@7.3.7_@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2._1e6712ae5dd075c3ed43d1d3d27c7f8c/node_modules/@mui/icons-material/esm/Pause.js","../node_modules/.pnpm/@mui+icons-material@7.3.7_@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2._1e6712ae5dd075c3ed43d1d3d27c7f8c/node_modules/@mui/icons-material/esm/PlayArrow.js","../node_modules/.pnpm/@mui+icons-material@7.3.7_@mui+material@7.3.7_@emotion+react@11.14.0_@types+react@19.2._1e6712ae5dd075c3ed43d1d3d27c7f8c/node_modules/@mui/icons-material/esm/Stop.js","../src/components/ProgramControl.tsx","../src/components/ProgramStateIndicator.tsx","../node_modules/.pnpm/reconnecting-websocket@4.4.0/node_modules/reconnecting-websocket/dist/reconnecting-websocket-mjs.js","../node_modules/.pnpm/@wandelbots+nova-js@3.6.0/node_modules/@wandelbots/nova-js/dist/LoginWithAuth0-CEUVGw1-.mjs","../node_modules/.pnpm/url-join@5.0.0/node_modules/url-join/lib/url-join.js","../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js","../node_modules/.pnpm/@wandelbots+nova-api@26.3.0-rc.2/node_modules/@wandelbots/nova-api/dist/defineProperty-CQ_RnIQg.js","../node_modules/.pnpm/@wandelbots+nova-api@26.3.0-rc.2/node_modules/@wandelbots/nova-api/dist/v2/index.js","../node_modules/.pnpm/@wandelbots+nova-js@3.6.0/node_modules/@wandelbots/nova-js/dist/lib/v2/index.mjs","../src/components/utils/hooks.tsx","../src/components/utils/interpolation.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import type { DHParameter } from \"@wandelbots/nova-js/v2\"\nimport * as THREE from \"three\"\n\nexport interface CoplanarityResult {\n isCoplanar: boolean\n normal?: THREE.Vector3\n}\n\nexport function radiansToDegree(radians: number): number {\n return radians * (180 / Math.PI)\n}\n\nexport function degreesToRadians(degrees: number): number {\n return degrees * (Math.PI / 180)\n}\n\nexport function tryParseJson(json: unknown): unknown {\n try {\n return JSON.parse(json as string)\n } catch {\n return undefined\n }\n}\n\nexport function tryStringifyJson(json: unknown): string | undefined {\n try {\n return JSON.stringify(json)\n } catch {\n return undefined\n }\n}\n\nexport function orientationToQuaternion(\n orientation: THREE.Vector3,\n): THREE.Quaternion {\n const angle = orientation.length()\n const quaternion = new THREE.Quaternion()\n if (angle > 1e-6) {\n const axis = orientation.clone().normalize()\n quaternion.setFromAxisAngle(axis, angle)\n }\n return quaternion\n}\n\nexport function dhParametersToPlaneSize(dhParameters: DHParameter[]) {\n const defaultPlaneSize = 5\n if (!dhParameters || dhParameters.length === 0) {\n return defaultPlaneSize\n }\n const reachRadiusM = dhParameters.reduce((sum, p) => {\n return sum + Math.abs(p.a ?? 0) / 1000 + Math.abs(p.d ?? 0) / 1000\n }, 0)\n const size = reachRadiusM * 2\n if (!Number.isFinite(size) || size <= 0) {\n return defaultPlaneSize\n }\n return size\n}\n\nexport function verticesToCoplanarity(\n vertices: THREE.Vector3[],\n): CoplanarityResult {\n if (vertices.length < 3) {\n console.log(\"Not enough vertices to define a plane\")\n return { isCoplanar: false }\n }\n\n // Convert Vector3d to THREE.Vector3\n const v0 = new THREE.Vector3(vertices[0].x, vertices[0].y, vertices[0].z)\n const v1 = new THREE.Vector3(vertices[1].x, vertices[1].y, vertices[1].z)\n const v2 = new THREE.Vector3(vertices[2].x, vertices[2].y, vertices[2].z)\n\n const vector1 = new THREE.Vector3().subVectors(v1, v0)\n const vector2 = new THREE.Vector3().subVectors(v2, v0)\n const normal = new THREE.Vector3().crossVectors(vector1, vector2).normalize()\n\n // Check if all remaining vertices lie on the same plane\n for (let i = 3; i < vertices.length; i++) {\n const vi = new THREE.Vector3(vertices[i].x, vertices[i].y, vertices[i].z)\n const vector = new THREE.Vector3().subVectors(vi, v0)\n const dotProduct = normal.dot(vector)\n if (Math.abs(dotProduct) > 1e-6) {\n // Allowing a small tolerance\n console.log(\"Vertices are not on the same plane\")\n return { isCoplanar: false }\n }\n }\n\n return { isCoplanar: true, normal }\n}\n","/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code, ...args) {\n const url = new URL(`https://mui.com/production-error/?code=${code}`);\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `Minified MUI error #${code}; visit ${url} for the full message.`;\n}","export default '$$material';","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","'use client';\n\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;","/**\n * @mui/styled-engine v7.3.7\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nimport { serializeStyles as emSerializeStyles } from '@emotion/serialize';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_mutateStyles(tag, processor) {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n}\n\n// Emotion only accepts an array, but we want to avoid allocations\nconst wrapper = [];\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_serializeStyles(styles) {\n wrapper[0] = styles;\n return emSerializeStyles(wrapper);\n}\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from \"./StyledEngineProvider/index.js\";\nexport { default as GlobalStyles } from \"./GlobalStyles/index.js\";","/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n case REACT_VIEW_TRANSITION_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n}\nexports.ContextConsumer = REACT_CONSUMER_TYPE;\nexports.ContextProvider = REACT_CONTEXT_TYPE;\nexports.Element = REACT_ELEMENT_TYPE;\nexports.ForwardRef = REACT_FORWARD_REF_TYPE;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Lazy = REACT_LAZY_TYPE;\nexports.Memo = REACT_MEMO_TYPE;\nexports.Portal = REACT_PORTAL_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nexports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n};\nexports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n};\nexports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n};\nexports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n};\nexports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n};\nexports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n};\nexports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n};\nexports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n};\nexports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n};\nexports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n};\nexports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n};\nexports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n};\nexports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n};\nexports.typeOf = typeOf;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n case REACT_VIEW_TRANSITION_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n exports.ContextConsumer = REACT_CONSUMER_TYPE;\n exports.ContextProvider = REACT_CONTEXT_TYPE;\n exports.Element = REACT_ELEMENT_TYPE;\n exports.ForwardRef = REACT_FORWARD_REF_TYPE;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Lazy = REACT_LAZY_TYPE;\n exports.Memo = REACT_MEMO_TYPE;\n exports.Portal = REACT_PORTAL_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n exports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n };\n exports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n };\n exports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n };\n exports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n };\n exports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n };\n exports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n };\n exports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n };\n exports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n };\n exports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n };\n exports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n };\n exports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n };\n exports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n };\n exports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n };\n exports.typeOf = typeOf;\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import * as React from 'react';\nimport { isValidElementType } from 'react-is';\n\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (/*#__PURE__*/React.isValidElement(source) || isValidElementType(source) || !isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\n\n/**\n * Merge objects deeply.\n * It will shallow copy React elements.\n *\n * If `options.clone` is set to `false` the source object will be merged directly into the target object.\n *\n * @example\n * ```ts\n * deepmerge({ a: { b: 1 }, d: 2 }, { a: { c: 2 }, d: 4 });\n * // => { a: { b: 1, c: 2 }, d: 4 }\n * ````\n *\n * @param target The target object.\n * @param source The source object.\n * @param options The merge options.\n * @param options.clone Set to `false` to merge the source object directly into the target object.\n * @returns The merged object.\n */\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? {\n ...target\n } : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (/*#__PURE__*/React.isValidElement(source[key]) || isValidElementType(source[key])) {\n output[key] = source[key];\n } else if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return {\n ...acc,\n [obj.key]: obj.val\n };\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5,\n ...other\n } = breakpoints;\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return {\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit,\n ...other\n };\n}","import _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/**\n * For using in `sx` prop to sort the breakpoint from low to high.\n * Note: this function does not work and will not support multiple units.\n * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }\n * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 even though 40rem > 300px\n */\nexport function sortContainerQueries(theme, css) {\n if (!theme.containerQueries) {\n return css;\n }\n const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {\n const regex = /min-width:\\s*([0-9.]+)/;\n return +(a.match(regex)?.[1] || 0) - +(b.match(regex)?.[1] || 0);\n });\n if (!sorted.length) {\n return css;\n }\n return sorted.reduce((acc, key) => {\n const value = css[key];\n delete acc[key];\n acc[key] = value;\n return acc;\n }, {\n ...css\n });\n}\nexport function isCqShorthand(breakpointKeys, value) {\n return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\\d/));\n}\nexport function getContainerQuery(theme, shorthand) {\n const matches = shorthand.match(/^@([^/]+)?\\/?(.+)?$/);\n if (!matches) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \\`@<breakpoint | number>\\` or \\`@<breakpoint | number>/<container>\\`.\\n` + 'For example, `@sm` or `@600` or `@40rem/sidebar`.' : _formatErrorMessage(18, `(${shorthand})`));\n }\n return null;\n }\n const [, containerQuery, containerName] = matches;\n const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;\n return theme.containerQueries(containerName).up(value);\n}\nexport default function cssContainerQueries(themeInput) {\n const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');\n function attachCq(node, name) {\n node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);\n node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);\n node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);\n node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);\n node.not = (...args) => {\n const result = toContainerQuery(themeInput.breakpoints.not(...args), name);\n if (result.includes('not all and')) {\n // `@container` does not work with `not all and`, so need to invert the logic\n return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or');\n }\n return result;\n };\n }\n const node = {};\n const containerQueries = name => {\n attachCq(node, name);\n return node;\n };\n attachCq(containerQueries);\n return {\n ...themeInput,\n containerQueries\n };\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import PropTypes from 'prop-types';\nconst responsivePropType = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.object, PropTypes.array]) : {};\nexport default responsivePropType;","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from \"../merge/index.js\";\nimport { isCqShorthand, getContainerQuery } from \"../cssContainerQueries/index.js\";\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nconst defaultContainerQueries = {\n containerQueries: containerName => ({\n up: key => {\n let result = typeof key === 'number' ? key : values[key] || key;\n if (typeof result === 'number') {\n result = `${result}px`;\n }\n return containerName ? `@container ${containerName} (min-width:${result})` : `@container (min-width:${result})`;\n }\n })\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n if (isCqShorthand(themeBreakpoints.keys, breakpoint)) {\n const containerKey = getContainerQuery(theme.containerQueries ? theme : defaultContainerQueries, breakpoint);\n if (containerKey) {\n acc[containerKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n }\n }\n // key is breakpoint\n else if (Object.keys(themeBreakpoints.values || values).includes(breakpoint)) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction({\n theme,\n ...props[key]\n });\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {\n ...styleFunction.propTypes,\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n } : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n const breakpointsInOrder = breakpointsInput.keys?.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `capitalize(string)` expects a string argument.' : _formatErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport { getPath } from \"../style/index.js\";\nimport merge from \"../merge/index.js\";\nimport memoize from \"../memoize/index.js\";\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n const themeSpacing = getPath(theme, themeKey, true) ?? defaultValue;\n if (typeof themeSpacing === 'number' || typeof themeSpacing === 'string') {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof val !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);\n }\n }\n if (typeof themeSpacing === 'string') {\n if (themeSpacing.startsWith('var(') && val === 0) {\n return 0;\n }\n if (themeSpacing.startsWith('var(') && val === 1) {\n return themeSpacing;\n }\n return `calc(${val} * ${themeSpacing})`;\n }\n return themeSpacing * val;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n const abs = Math.abs(val);\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n const transformed = themeSpacing[abs];\n if (val >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n if (typeof transformed === 'string' && transformed.startsWith('var(')) {\n return `calc(-1 * ${transformed})`;\n }\n return `-${transformed}`;\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n return transformer(propValue);\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (!keys.includes(prop)) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","import { createUnarySpacing } from \"../spacing/index.js\";\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8,\n// Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n// Smaller components, such as icons, can align to a 4dp grid.\n// https://m2.material.io/design/layout/understanding-layout.html\ntransform = createUnarySpacing({\n spacing: spacingInput\n})) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import merge from \"../merge/index.js\";\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from \"../responsivePropType/index.js\";\nimport style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport responsivePropType from \"../responsivePropType/index.js\";\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { handleBreakpoints, values as breakpointsValues } from \"../breakpoints/index.js\";\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n const breakpoint = props.theme?.breakpoints?.values?.[propValue] || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (props.theme?.breakpoints?.unit !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from \"../spacing/index.js\";\nimport { borderRadius, borderTransform } from \"../borders/index.js\";\nimport { gap, rowGap, columnGap } from \"../cssGrid/index.js\";\nimport { paletteTransform } from \"../palette/index.js\";\nimport { maxWidth, sizingTransform } from \"../sizing/index.js\";\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n font: {\n themeKey: 'font'\n },\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import capitalize from '@mui/utils/capitalize';\nimport merge from \"../merge/index.js\";\nimport { getPath, getStyleValue as getValue } from \"../style/index.js\";\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from \"../breakpoints/index.js\";\nimport { sortContainerQueries } from \"../cssContainerQueries/index.js\";\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n const {\n sx,\n theme = {},\n nested\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = theme.unstable_sxConfig ?? defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme,\n nested: true\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n if (!nested && theme.modularCssLayers) {\n return {\n '@layer sx': sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css))\n };\n }\n return sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css));\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/customization/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * With the styled function:\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * With the sx prop:\n * ✅ [{ background: '#e5e5e5' }, theme => theme.applyStyles('dark', { background: '#1c1c1c' })]\n * 🚫 { background: '#e5e5e5', ...theme => theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * <Box sx={[\n * { background: '#e5e5e5' },\n * theme => theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars) {\n if (!theme.colorSchemes?.[key] || typeof theme.getColorSchemeSelector !== 'function') {\n return {};\n }\n // If CssVarsProvider is used as a provider, returns '*:where({selector}) &'\n let selector = theme.getColorSchemeSelector(key);\n if (selector === '&') {\n return styles;\n }\n if (selector.includes('data-') || selector.includes('.')) {\n // '*' is required as a workaround for Emotion issue (https://github.com/emotion-js/emotion/issues/2836)\n selector = `*:where(${selector.replace(/\\s*&$/, '')}) &`;\n }\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from \"../createBreakpoints/createBreakpoints.js\";\nimport cssContainerQueries from \"../cssContainerQueries/index.js\";\nimport shape from \"./shape.js\";\nimport createSpacing from \"./createSpacing.js\";\nimport styleFunctionSx from \"../styleFunctionSx/styleFunctionSx.js\";\nimport defaultSxConfig from \"../styleFunctionSx/defaultSxConfig.js\";\nimport applyStyles from \"./applyStyles.js\";\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {},\n ...other\n } = options;\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: {\n mode: 'light',\n ...paletteInput\n },\n spacing,\n shape: {\n ...shape,\n ...shapeInput\n }\n }, other);\n muiTheme = cssContainerQueries(muiTheme);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use client';\n\nimport createTheme from \"../createTheme/index.js\";\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","'use client';\n\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as MuiGlobalStyles, internal_serializeStyles as serializeStyles } from '@mui/styled-engine';\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction wrapGlobalLayer(styles) {\n const serialized = serializeStyles(styles);\n if (styles !== serialized && serialized.styles) {\n if (!serialized.styles.match(/^@layer\\s+[^{]*$/)) {\n // If the styles are not already wrapped in a layer, wrap them in a global layer.\n serialized.styles = `@layer global{${serialized.styles}}`;\n }\n return serialized;\n }\n return styles;\n}\nfunction GlobalStyles({\n styles,\n themeId,\n defaultTheme = {}\n}) {\n const upperTheme = useTheme(defaultTheme);\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n let globalStyles = typeof styles === 'function' ? styles(resolvedTheme) : styles;\n if (resolvedTheme.modularCssLayers) {\n if (Array.isArray(globalStyles)) {\n globalStyles = globalStyles.map(styleArg => {\n if (typeof styleArg === 'function') {\n return wrapGlobalLayer(styleArg(resolvedTheme));\n }\n return wrapGlobalLayer(styleArg);\n });\n } else {\n globalStyles = wrapGlobalLayer(globalStyles);\n }\n }\n return /*#__PURE__*/_jsx(MuiGlobalStyles, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n defaultTheme: PropTypes.object,\n /**\n * @ignore\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool]),\n /**\n * @ignore\n */\n themeId: PropTypes.string\n} : void 0;\nexport default GlobalStyles;","import { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nconst splitProps = props => {\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = props?.theme?.unstable_sxConfig ?? defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx,\n ...other\n } = props;\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return {\n ...systemProps,\n ...result\n };\n };\n } else {\n finalSx = {\n ...systemProps,\n ...inSx\n };\n }\n return {\n ...otherProps,\n sx: finalSx\n };\n}","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const {\n className,\n component = 'div',\n ...other\n } = extendSxProp(inProps);\n return /*#__PURE__*/_jsx(BoxRoot, {\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme,\n ...other\n });\n });\n return Box;\n}","import ClassNameGenerator from \"../ClassNameGenerator/index.js\";\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from \"../generateUtilityClass/index.js\";\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","import { ForwardRef, Memo } from 'react-is';\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName\n */\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}","import { internal_serializeStyles } from '@mui/styled-engine';\nexport default function preprocessStyles(input) {\n const {\n variants,\n ...style\n } = input;\n const result = {\n variants,\n style: internal_serializeStyles(style),\n isProcessed: true\n };\n\n // Not supported on styled-components\n if (result.style === style) {\n return result;\n }\n if (variants) {\n variants.forEach(variant => {\n if (typeof variant.style !== 'function') {\n variant.style = internal_serializeStyles(variant.style);\n }\n });\n }\n return result;\n}","import styledEngineStyled, { internal_mutateStyles as mutateStyles, internal_serializeStyles as serializeStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from \"../createTheme/index.js\";\nimport styleFunctionSx from \"../styleFunctionSx/index.js\";\nimport preprocessStyles from \"../preprocessStyles.js\";\n\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-labels */\n/* eslint-disable no-lone-blocks */\n\nexport const systemDefaultTheme = createTheme();\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nfunction shallowLayer(serialized, layerName) {\n if (layerName && serialized && typeof serialized === 'object' && serialized.styles && !serialized.styles.startsWith('@layer') // only add the layer if it is not already there.\n ) {\n serialized.styles = `@layer ${layerName}{${String(serialized.styles)}}`;\n }\n return serialized;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (_props, styles) => styles[slot];\n}\nfunction attachTheme(props, themeId, defaultTheme) {\n props.theme = isObjectEmpty(props.theme) ? defaultTheme : props.theme[themeId] || props.theme;\n}\nfunction processStyle(props, style, layerName) {\n /*\n * Style types:\n * - null/undefined\n * - string\n * - CSS style object: { [cssKey]: [cssValue], variants }\n * - Processed style object: { style, variants, isProcessed: true }\n * - Array of any of the above\n */\n\n const resolvedStyle = typeof style === 'function' ? style(props) : style;\n if (Array.isArray(resolvedStyle)) {\n return resolvedStyle.flatMap(subStyle => processStyle(props, subStyle, layerName));\n }\n if (Array.isArray(resolvedStyle?.variants)) {\n let rootStyle;\n if (resolvedStyle.isProcessed) {\n rootStyle = layerName ? shallowLayer(resolvedStyle.style, layerName) : resolvedStyle.style;\n } else {\n const {\n variants,\n ...otherStyles\n } = resolvedStyle;\n rootStyle = layerName ? shallowLayer(serializeStyles(otherStyles), layerName) : otherStyles;\n }\n return processStyleVariants(props, resolvedStyle.variants, [rootStyle], layerName);\n }\n if (resolvedStyle?.isProcessed) {\n return layerName ? shallowLayer(serializeStyles(resolvedStyle.style), layerName) : resolvedStyle.style;\n }\n return layerName ? shallowLayer(serializeStyles(resolvedStyle), layerName) : resolvedStyle;\n}\nfunction processStyleVariants(props, variants, results = [], layerName = undefined) {\n let mergedState; // We might not need it, initialized lazily\n\n variantLoop: for (let i = 0; i < variants.length; i += 1) {\n const variant = variants[i];\n if (typeof variant.props === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n if (!variant.props(mergedState)) {\n continue;\n }\n } else {\n for (const key in variant.props) {\n if (props[key] !== variant.props[key] && props.ownerState?.[key] !== variant.props[key]) {\n continue variantLoop;\n }\n }\n }\n if (typeof variant.style === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n results.push(layerName ? shallowLayer(serializeStyles(variant.style(mergedState)), layerName) : variant.style(mergedState));\n } else {\n results.push(layerName ? shallowLayer(serializeStyles(variant.style), layerName) : variant.style);\n }\n }\n return results;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n function styleAttachTheme(props) {\n attachTheme(props, themeId, defaultTheme);\n }\n const styled = (tag, inputOptions = {}) => {\n // If `tag` is already a styled component, filter out the `sx` style function\n // to prevent unnecessary styles generated by the composite components.\n mutateStyles(tag, styles => styles.filter(style => style !== styleFunctionSx));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),\n ...options\n } = inputOptions;\n const layerName = componentName && componentName.startsWith('Mui') || !!componentSlot ? 'components' : 'custom';\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, {\n shouldForwardProp: shouldForwardPropOption,\n label: generateStyledLabel(componentName, componentSlot),\n ...options\n });\n const transformStyle = style => {\n // - On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n // - `style` could be a styled component from a babel plugin for component selectors, This condition\n // makes sure that we do not interpolate them.\n if (style.__emotion_real === style) {\n return style;\n }\n if (typeof style === 'function') {\n return function styleFunctionProcessor(props) {\n return processStyle(props, style, props.theme.modularCssLayers ? layerName : undefined);\n };\n }\n if (isPlainObject(style)) {\n const serialized = preprocessStyles(style);\n return function styleObjectProcessor(props) {\n if (!serialized.variants) {\n return props.theme.modularCssLayers ? shallowLayer(serialized.style, layerName) : serialized.style;\n }\n return processStyle(props, serialized, props.theme.modularCssLayers ? layerName : undefined);\n };\n }\n return style;\n };\n const muiStyledResolver = (...expressionsInput) => {\n const expressionsHead = [];\n const expressionsBody = expressionsInput.map(transformStyle);\n const expressionsTail = [];\n\n // Preprocess `props` to set the scoped theme value.\n // This must run before any other expression.\n expressionsHead.push(styleAttachTheme);\n if (componentName && overridesResolver) {\n expressionsTail.push(function styleThemeOverrides(props) {\n const theme = props.theme;\n const styleOverrides = theme.components?.[componentName]?.styleOverrides;\n if (!styleOverrides) {\n return null;\n }\n const resolvedStyleOverrides = {};\n\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n // eslint-disable-next-line guard-for-in\n for (const slotKey in styleOverrides) {\n resolvedStyleOverrides[slotKey] = processStyle(props, styleOverrides[slotKey], props.theme.modularCssLayers ? 'theme' : undefined);\n }\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsTail.push(function styleThemeVariants(props) {\n const theme = props.theme;\n const themeVariants = theme?.components?.[componentName]?.variants;\n if (!themeVariants) {\n return null;\n }\n return processStyleVariants(props, themeVariants, [], props.theme.modularCssLayers ? 'theme' : undefined);\n });\n }\n if (!skipSx) {\n expressionsTail.push(styleFunctionSx);\n }\n\n // This function can be called as a tagged template, so the first argument would contain\n // CSS `string[]` values.\n if (Array.isArray(expressionsBody[0])) {\n const inputStrings = expressionsBody.shift();\n\n // We need to add placeholders in the tagged template for the custom functions we have\n // possibly added (attachTheme, overrides, variants, and sx).\n const placeholdersHead = new Array(expressionsHead.length).fill('');\n const placeholdersTail = new Array(expressionsTail.length).fill('');\n let outputStrings;\n // prettier-ignore\n {\n outputStrings = [...placeholdersHead, ...inputStrings, ...placeholdersTail];\n outputStrings.raw = [...placeholdersHead, ...inputStrings.raw, ...placeholdersTail];\n }\n\n // The only case where we put something before `attachTheme`\n expressionsHead.unshift(outputStrings);\n }\n const expressions = [...expressionsHead, ...expressionsBody, ...expressionsTail];\n const Component = defaultStyledResolver(...expressions);\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n if (process.env.NODE_ENV !== 'production') {\n Component.displayName = generateDisplayName(componentName, componentSlot, tag);\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n return styled;\n}\nfunction generateDisplayName(componentName, componentSlot, tag) {\n if (componentName) {\n return `${componentName}${capitalize(componentSlot || '')}`;\n }\n return `Styled(${getDisplayName(tag)})`;\n}\nfunction generateStyledLabel(componentName, componentSlot) {\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n return label;\n}\nfunction isObjectEmpty(object) {\n // eslint-disable-next-line\n for (const _ in object) {\n return false;\n }\n return true;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nfunction lowercaseFirstLetter(string) {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n}","import clsx from 'clsx';\n\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param defaultProps\n * @param props\n * @param mergeClassNameAndStyle If `true`, merges `className` and `style` props instead of overriding them.\n * When `false` (default), props override defaultProps. When `true`, `className` values are concatenated\n * and `style` objects are merged with props taking precedence.\n * @returns resolved props\n */\nexport default function resolveProps(defaultProps, props, mergeClassNameAndStyle = false) {\n const output = {\n ...props\n };\n for (const key in defaultProps) {\n if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {\n const propName = key;\n if (propName === 'components' || propName === 'slots') {\n output[propName] = {\n ...defaultProps[propName],\n ...output[propName]\n };\n } else if (propName === 'componentsProps' || propName === 'slotProps') {\n const defaultSlotProps = defaultProps[propName];\n const slotProps = props[propName];\n if (!slotProps) {\n output[propName] = defaultSlotProps || {};\n } else if (!defaultSlotProps) {\n output[propName] = slotProps;\n } else {\n output[propName] = {\n ...slotProps\n };\n for (const slotKey in defaultSlotProps) {\n if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {\n const slotPropName = slotKey;\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName], mergeClassNameAndStyle);\n }\n }\n }\n } else if (propName === 'className' && mergeClassNameAndStyle && props.className) {\n output.className = clsx(defaultProps?.className, props?.className);\n } else if (propName === 'style' && mergeClassNameAndStyle && props.style) {\n output.style = {\n ...defaultProps?.style,\n ...props?.style\n };\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n }\n }\n return output;\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","import _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (color.length !== color.trim().length) {\n console.error(`MUI: The color: \"${color}\" is invalid. Make sure the color input doesn't contain leading/trailing space.`);\n }\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\\n` + 'The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().' : _formatErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\\n` + 'The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.' : _formatErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.includes('hsl') && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.includes('rgb')) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.includes('hsl')) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.includes('color')) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.startsWith('#')) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.includes('rgb') || color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.includes('rgb')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props, theme.components.mergeClassNameAndStyle);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props, theme.components.mergeClassNameAndStyle);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","import preprocessStyles from \"./preprocessStyles.js\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\n// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to\n// allocate more objects.\nconst arg = {\n theme: undefined\n};\n\n/**\n * Memoize style function on theme.\n * Intended to be used in styled() calls that only need access to the theme.\n */\nexport default function unstable_memoTheme(styleFn) {\n let lastValue;\n let lastTheme;\n return function styleMemoized(props) {\n let value = lastValue;\n if (value === undefined || props.theme !== lastTheme) {\n arg.theme = props.theme;\n value = preprocessStyles(styleFn(arg));\n lastValue = value;\n lastTheme = props.theme;\n }\n return value;\n };\n}","/**\n * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable\n * and they does not need to remember the prefix (defined once).\n */\nexport default function createGetCssVar(prefix = '') {\n function appendVar(...vars) {\n if (!vars.length) {\n return '';\n }\n const value = vars[0];\n if (typeof value === 'string' && !value.match(/(#|\\(|\\)|(-?(\\d*\\.)?\\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\\d*\\.)?\\d+)$|(\\d+ \\d+ \\d+)/)) {\n return `, var(--${prefix ? `${prefix}-` : ''}${value}${appendVar(...vars.slice(1))})`;\n }\n return `, ${value}`;\n }\n\n // AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error.\n const getCssVar = (field, ...fallbacks) => {\n return `var(--${prefix ? `${prefix}-` : ''}${field}${appendVar(...fallbacks)})`;\n };\n return getCssVar;\n}","/**\n * This function create an object from keys, value and then assign to target\n *\n * @param {Object} obj : the target object to be assigned\n * @param {string[]} keys\n * @param {string | number} value\n *\n * @example\n * const source = {}\n * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }\n *\n * @example\n * const source = { palette: { primary: 'var(--palette-primary)' } }\n * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }\n */\nexport const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {\n let temp = obj;\n keys.forEach((k, index) => {\n if (index === keys.length - 1) {\n if (Array.isArray(temp)) {\n temp[Number(k)] = value;\n } else if (temp && typeof temp === 'object') {\n temp[k] = value;\n }\n } else if (temp && typeof temp === 'object') {\n if (!temp[k]) {\n temp[k] = arrayKeys.includes(k) ? [] : {};\n }\n temp = temp[k];\n }\n });\n};\n\n/**\n *\n * @param {Object} obj : source object\n * @param {Function} callback : a function that will be called when\n * - the deepest key in source object is reached\n * - the value of the deepest key is NOT `undefined` | `null`\n *\n * @example\n * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)\n * // ['palette', 'primary', 'main'] '#000000'\n */\nexport const walkObjectDeep = (obj, callback, shouldSkipPaths) => {\n function recurse(object, parentKeys = [], arrayKeys = []) {\n Object.entries(object).forEach(([key, value]) => {\n if (!shouldSkipPaths || shouldSkipPaths && !shouldSkipPaths([...parentKeys, key])) {\n if (value !== undefined && value !== null) {\n if (typeof value === 'object' && Object.keys(value).length > 0) {\n recurse(value, [...parentKeys, key], Array.isArray(value) ? [...arrayKeys, key] : arrayKeys);\n } else {\n callback([...parentKeys, key], value, arrayKeys);\n }\n }\n }\n });\n }\n recurse(obj);\n};\nconst getCssValue = (keys, value) => {\n if (typeof value === 'number') {\n if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {\n // CSS property that are unitless\n return value;\n }\n const lastKey = keys[keys.length - 1];\n if (lastKey.toLowerCase().includes('opacity')) {\n // opacity values are unitless\n return value;\n }\n return `${value}px`;\n }\n return value;\n};\n\n/**\n * a function that parse theme and return { css, vars }\n *\n * @param {Object} theme\n * @param {{\n * prefix?: string,\n * shouldSkipGeneratingVar?: (objectPathKeys: Array<string>, value: string | number) => boolean\n * }} options.\n * `prefix`: The prefix of the generated CSS variables. This function does not change the value.\n *\n * @returns {{ css: Object, vars: Object }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme).\n *\n * @example\n * const { css, vars } = parser({\n * fontSize: 12,\n * lineHeight: 1.2,\n * palette: { primary: { 500: 'var(--color)' } }\n * }, { prefix: 'foo' })\n *\n * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }\n * console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }\n */\nexport default function cssVarsParser(theme, options) {\n const {\n prefix,\n shouldSkipGeneratingVar\n } = options || {};\n const css = {};\n const vars = {};\n const varsWithDefaults = {};\n walkObjectDeep(theme, (keys, value, arrayKeys) => {\n if (typeof value === 'string' || typeof value === 'number') {\n if (!shouldSkipGeneratingVar || !shouldSkipGeneratingVar(keys, value)) {\n // only create css & var if `shouldSkipGeneratingVar` return false\n const cssVar = `--${prefix ? `${prefix}-` : ''}${keys.join('-')}`;\n const resolvedValue = getCssValue(keys, value);\n Object.assign(css, {\n [cssVar]: resolvedValue\n });\n assignNestedKeys(vars, keys, `var(${cssVar})`, arrayKeys);\n assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${resolvedValue})`, arrayKeys);\n }\n }\n }, keys => keys[0] === 'vars' // skip 'vars/*' paths\n );\n return {\n css,\n vars,\n varsWithDefaults\n };\n}","import deepmerge from '@mui/utils/deepmerge';\nimport cssVarsParser from \"./cssVarsParser.js\";\nfunction prepareCssVars(theme, parserConfig = {}) {\n const {\n getSelector = defaultGetSelector,\n disableCssColorScheme,\n colorSchemeSelector: selector,\n enableContrastVars\n } = parserConfig;\n // @ts-ignore - ignore components do not exist\n const {\n colorSchemes = {},\n components,\n defaultColorScheme = 'light',\n ...otherTheme\n } = theme;\n const {\n vars: rootVars,\n css: rootCss,\n varsWithDefaults: rootVarsWithDefaults\n } = cssVarsParser(otherTheme, parserConfig);\n let themeVars = rootVarsWithDefaults;\n const colorSchemesMap = {};\n const {\n [defaultColorScheme]: defaultScheme,\n ...otherColorSchemes\n } = colorSchemes;\n Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {\n const {\n vars,\n css,\n varsWithDefaults\n } = cssVarsParser(scheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[key] = {\n css,\n vars\n };\n });\n if (defaultScheme) {\n // default color scheme vars should be merged last to set as default\n const {\n css,\n vars,\n varsWithDefaults\n } = cssVarsParser(defaultScheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[defaultColorScheme] = {\n css,\n vars\n };\n }\n function defaultGetSelector(colorScheme, cssObject) {\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-joy-color-scheme' -> '[data-joy-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (colorScheme) {\n if (rule === 'media') {\n if (theme.defaultColorScheme === colorScheme) {\n return ':root';\n }\n const mode = colorSchemes[colorScheme]?.palette?.mode || colorScheme;\n return {\n [`@media (prefers-color-scheme: ${mode})`]: {\n ':root': cssObject\n }\n };\n }\n if (rule) {\n if (theme.defaultColorScheme === colorScheme) {\n return `:root, ${rule.replace('%s', String(colorScheme))}`;\n }\n return rule.replace('%s', String(colorScheme));\n }\n }\n return ':root';\n }\n const generateThemeVars = () => {\n let vars = {\n ...rootVars\n };\n Object.entries(colorSchemesMap).forEach(([, {\n vars: schemeVars\n }]) => {\n vars = deepmerge(vars, schemeVars);\n });\n return vars;\n };\n const generateStyleSheets = () => {\n const stylesheets = [];\n const colorScheme = theme.defaultColorScheme || 'light';\n function insertStyleSheet(key, css) {\n if (Object.keys(css).length) {\n stylesheets.push(typeof key === 'string' ? {\n [key]: {\n ...css\n }\n } : key);\n }\n }\n insertStyleSheet(getSelector(undefined, {\n ...rootCss\n }), rootCss);\n const {\n [colorScheme]: defaultSchemeVal,\n ...other\n } = colorSchemesMap;\n if (defaultSchemeVal) {\n // default color scheme has to come before other color schemes\n const {\n css\n } = defaultSchemeVal;\n const cssColorSheme = colorSchemes[colorScheme]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(colorScheme, {\n ...finalCss\n }), finalCss);\n }\n Object.entries(other).forEach(([key, {\n css\n }]) => {\n const cssColorSheme = colorSchemes[key]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(key, {\n ...finalCss\n }), finalCss);\n });\n if (enableContrastVars) {\n stylesheets.push({\n ':root': {\n // use double underscore to indicate that these are private variables\n '--__l-threshold': '0.7',\n '--__l': 'clamp(0, (l / var(--__l-threshold) - 1) * -infinity, 1)',\n '--__a': 'clamp(0.87, (l / var(--__l-threshold) - 1) * -infinity, 1)' // 0.87 is the default alpha value for black text.\n }\n });\n }\n return stylesheets;\n };\n return {\n vars: themeVars,\n generateThemeVars,\n generateStyleSheets\n };\n}\nexport default prepareCssVars;","/* eslint-disable import/prefer-default-export */\nexport function createGetColorSchemeSelector(selector) {\n return function getColorSchemeSelector(colorScheme) {\n if (selector === 'media') {\n if (process.env.NODE_ENV !== 'production') {\n if (colorScheme !== 'light' && colorScheme !== 'dark') {\n console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${colorScheme}'.`);\n }\n }\n return `@media (prefers-color-scheme: ${colorScheme})`;\n }\n if (selector) {\n if (selector.startsWith('data-') && !selector.includes('%s')) {\n return `[${selector}=\"${colorScheme}\"] &`;\n }\n if (selector === 'class') {\n return `.${colorScheme} &`;\n }\n if (selector === 'data') {\n return `[data-${colorScheme}] &`;\n }\n return `${selector.replace('%s', colorScheme)} &`;\n }\n return '&';\n };\n}","/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0\n ---\n These rules are preventing the performance optimizations below.\n */\n\n/**\n * Compose classes from multiple sources.\n *\n * @example\n * ```tsx\n * const slots = {\n * root: ['root', 'primary'],\n * label: ['label'],\n * };\n *\n * const getUtilityClass = (slot) => `MuiButton-${slot}`;\n *\n * const classes = {\n * root: 'my-root-class',\n * };\n *\n * const output = composeClasses(slots, getUtilityClass, classes);\n * // {\n * // root: 'MuiButton-root MuiButton-primary my-root-class',\n * // label: 'MuiButton-label',\n * // }\n * ```\n *\n * @param slots a list of classes for each possible slot\n * @param getUtilityClass a function to resolve the class based on the slot name\n * @param classes the input classes from props\n * @returns the resolved classes for all slots\n */\nexport default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n for (const slotName in slots) {\n const slot = slots[slotName];\n let buffer = '';\n let start = true;\n for (let i = 0; i < slot.length; i += 1) {\n const value = slot[i];\n if (value) {\n buffer += (start === true ? '' : ' ') + getUtilityClass(value);\n start = false;\n if (classes && classes[value]) {\n buffer += ' ' + classes[value];\n }\n }\n }\n output[slotName] = buffer;\n }\n return output;\n}","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from \"../colors/common.js\";\nimport grey from \"../colors/grey.js\";\nimport purple from \"../colors/purple.js\";\nimport red from \"../colors/red.js\";\nimport orange from \"../colors/orange.js\";\nimport blue from \"../colors/blue.js\";\nimport lightBlue from \"../colors/lightBlue.js\";\nimport green from \"../colors/green.js\";\nfunction getLight() {\n return {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n };\n}\nexport const light = getLight();\nfunction getDark() {\n return {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n };\n}\nexport const dark = getDark();\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction mixLightOrDark(colorSpace, intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = `color-mix(in ${colorSpace}, ${intent.main}, #fff ${(tonalOffsetLight * 100).toFixed(0)}%)`;\n } else if (direction === 'dark') {\n intent.dark = `color-mix(in ${colorSpace}, ${intent.main}, #000 ${(tonalOffsetDark * 100).toFixed(0)}%)`;\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\n\n// Use the same name as the experimental CSS `contrast-color` function.\nexport function contrastColor(background) {\n return `oklch(from ${background} var(--__l) 0 h / var(--__a))`;\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2,\n colorSpace,\n ...other\n } = palette;\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n if (colorSpace) {\n return contrastColor(background);\n }\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = {\n ...color\n };\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `The color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\\n` + '\\n' + 'Did you intend to use one of the following approaches?\\n' + '\\n' + 'import { green } from \"@mui/material/colors\";\\n' + '\\n' + 'const theme1 = createTheme({ palette: {\\n' + ' primary: green,\\n' + '} });\\n' + '\\n' + 'const theme2 = createTheme({ palette: {\\n' + ' primary: { main: green[500] },\\n' + '} });' : _formatErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n if (colorSpace) {\n mixLightOrDark(colorSpace, color, 'light', lightShade, tonalOffset);\n mixLightOrDark(colorSpace, color, 'dark', darkShade, tonalOffset);\n } else {\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n }\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n let modeHydrated;\n if (mode === 'light') {\n modeHydrated = getLight();\n } else if (mode === 'dark') {\n modeHydrated = getDark();\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!modeHydrated) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge({\n // A collection of common colors.\n common: {\n ...common\n },\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset,\n // The light and dark mode object.\n ...modeHydrated\n }, other);\n return paletteOutput;\n}","export default function prepareTypographyVars(typography) {\n const vars = {};\n const entries = Object.entries(typography);\n entries.forEach(entry => {\n const [key, value] = entry;\n if (typeof value === 'object') {\n vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;\n }\n });\n return vars;\n}","export default function createMixins(breakpoints, mixins) {\n return {\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n },\n ...mixins\n };\n}","import deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2,\n ...other\n } = typeof typography === 'function' ? typography(palette) : typography;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => ({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight,\n // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing\n // across font-families can cause issues with the kerning.\n ...(fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}),\n ...casing,\n ...allVariants\n });\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold,\n ...variants\n }, other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.desmos.com/calculator/vbrp3ggqet\n return Math.min(Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10), 3000);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = {\n ...easing,\n ...inputTransitions.easing\n };\n const mergedDuration = {\n ...duration,\n ...inputTransitions.duration\n };\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0,\n ...other\n } = options;\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n const isNumber = value => !Number.isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return {\n getAutoHeightDuration,\n create,\n ...inputTransitions,\n easing: mergedEasing,\n duration: mergedDuration\n };\n}","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","/* eslint-disable import/prefer-default-export */\nimport { isPlainObject } from '@mui/utils/deepmerge';\nfunction isSerializable(val) {\n return isPlainObject(val) || typeof val === 'undefined' || typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number' || Array.isArray(val);\n}\n\n/**\n * `baseTheme` usually comes from `createTheme()` or `extendTheme()`.\n *\n * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS\n * For example, in a Next.js project:\n *\n * ```js\n * // next.config.js\n * const { extendTheme } = require('@mui/material/styles');\n *\n * const theme = extendTheme();\n * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.\n * theme.toRuntimeSource = stringifyTheme;\n *\n * module.exports = withPigment({\n * theme,\n * });\n * ```\n */\nexport function stringifyTheme(baseTheme = {}) {\n const serializableTheme = {\n ...baseTheme\n };\n function serializeTheme(object) {\n const array = Object.entries(object);\n // eslint-disable-next-line no-plusplus\n for (let index = 0; index < array.length; index++) {\n const [key, value] = array[index];\n if (!isSerializable(value) || key.startsWith('unstable_')) {\n delete object[key];\n } else if (isPlainObject(value)) {\n object[key] = {\n ...value\n };\n serializeTheme(object[key]);\n }\n }\n }\n serializeTheme(serializableTheme);\n return `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';\n\nconst theme = ${JSON.stringify(serializableTheme, null, 2)};\n\ntheme.breakpoints = createBreakpoints(theme.breakpoints || {});\ntheme.transitions = createTransitions(theme.transitions || {});\n\nexport default theme;`;\n}","import _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport { alpha as systemAlpha, lighten as systemLighten, darken as systemDarken } from '@mui/system/colorManipulator';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from \"./createMixins.js\";\nimport createPalette from \"./createPalette.js\";\nimport createTypography from \"./createTypography.js\";\nimport shadows from \"./shadows.js\";\nimport createTransitions from \"./createTransitions.js\";\nimport zIndex from \"./zIndex.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction coefficientToPercentage(coefficient) {\n if (typeof coefficient === 'number') {\n return `${(coefficient * 100).toFixed(0)}%`;\n }\n return `calc((${coefficient}) * 100%)`;\n}\n\n// This can be removed when moved to `color-mix()` entirely.\nconst parseAddition = str => {\n if (!Number.isNaN(+str)) {\n return +str;\n }\n const numbers = str.match(/\\d*\\.?\\d+/g);\n if (!numbers) {\n return 0;\n }\n let sum = 0;\n for (let i = 0; i < numbers.length; i += 1) {\n sum += +numbers[i];\n }\n return sum;\n};\nfunction attachColorManipulators(theme) {\n Object.assign(theme, {\n alpha(color, coefficient) {\n const obj = this || theme;\n if (obj.colorSpace) {\n return `oklch(from ${color} l c h / ${typeof coefficient === 'string' ? `calc(${coefficient})` : coefficient})`;\n }\n if (obj.vars) {\n // To preserve the behavior of the CSS theme variables\n // In the future, this could be replaced by `color-mix` (when https://caniuse.com/?search=color-mix reaches 95%).\n return `rgba(${color.replace(/var\\(--([^,\\s)]+)(?:,[^)]+)?\\)+/g, 'var(--$1Channel)')} / ${typeof coefficient === 'string' ? `calc(${coefficient})` : coefficient})`;\n }\n return systemAlpha(color, parseAddition(coefficient));\n },\n lighten(color, coefficient) {\n const obj = this || theme;\n if (obj.colorSpace) {\n return `color-mix(in ${obj.colorSpace}, ${color}, #fff ${coefficientToPercentage(coefficient)})`;\n }\n return systemLighten(color, coefficient);\n },\n darken(color, coefficient) {\n const obj = this || theme;\n if (obj.colorSpace) {\n return `color-mix(in ${obj.colorSpace}, ${color}, #000 ${coefficientToPercentage(coefficient)})`;\n }\n return systemDarken(color, coefficient);\n }\n });\n}\nfunction createThemeNoVars(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput,\n mixins: mixinsInput = {},\n spacing: spacingInput,\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {},\n shape: shapeInput,\n colorSpace,\n ...other\n } = options;\n if (options.vars &&\n // The error should throw only for the root theme creation because user is not allowed to use a custom node `vars`.\n // `generateThemeVars` is the closest identifier for checking that the `options` is a result of `createTheme` with CSS variables so that user can create new theme for nested ThemeProvider.\n options.generateThemeVars === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `vars` is a private field used for CSS variables support.\\n' +\n // #host-reference\n 'Please use another name or follow the [docs](https://mui.com/material-ui/customization/css-theme-variables/usage/) to enable the feature.' : _formatErrorMessage(20));\n }\n const palette = createPalette({\n ...paletteInput,\n colorSpace\n });\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: {\n ...zIndex\n }\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in\n for (key in node) {\n const child = node[key];\n if (stateClasses.includes(key) && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.startsWith('Mui')) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n muiTheme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n attachColorManipulators(muiTheme);\n return muiTheme;\n}\nexport default createThemeNoVars;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nexport default function getOverlayAlpha(elevation) {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return Math.round(alphaValue * 10) / 1000;\n}","import createPalette from \"./createPalette.js\";\nimport getOverlayAlpha from \"./getOverlayAlpha.js\";\nconst defaultDarkOverlays = [...Array(25)].map((_, index) => {\n if (index === 0) {\n return 'none';\n }\n const overlay = getOverlayAlpha(index);\n return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`;\n});\nexport function getOpacity(mode) {\n return {\n inputPlaceholder: mode === 'dark' ? 0.5 : 0.42,\n inputUnderline: mode === 'dark' ? 0.7 : 0.42,\n switchTrackDisabled: mode === 'dark' ? 0.2 : 0.12,\n switchTrack: mode === 'dark' ? 0.3 : 0.38\n };\n}\nexport function getOverlays(mode) {\n return mode === 'dark' ? defaultDarkOverlays : [];\n}\nexport default function createColorScheme(options) {\n const {\n palette: paletteInput = {\n mode: 'light'\n },\n // need to cast to avoid module augmentation test\n opacity,\n overlays,\n colorSpace,\n ...other\n } = options;\n // need to cast because `colorSpace` is considered internal at the moment.\n const palette = createPalette({\n ...paletteInput,\n colorSpace\n });\n return {\n palette,\n opacity: {\n ...getOpacity(palette.mode),\n ...opacity\n },\n overlays: overlays || getOverlays(palette.mode),\n ...other\n };\n}","export default function shouldSkipGeneratingVar(keys) {\n return !!keys[0].match(/(cssVarPrefix|colorSchemeSelector|modularCssLayers|rootSelector|typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||\n // ends with sxConfig\n keys[0] === 'palette' && !!keys[1]?.match(/(mode|contrastThreshold|tonalOffset)/);\n}","/**\n * @internal These variables should not appear in the :root stylesheet when the `defaultColorScheme=\"dark\"`\n */\nconst excludeVariablesFromRoot = cssVarPrefix => [...[...Array(25)].map((_, index) => `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}overlays-${index}`), `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkBg`, `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkColor`];\nexport default excludeVariablesFromRoot;","import excludeVariablesFromRoot from \"./excludeVariablesFromRoot.js\";\nexport default theme => (colorScheme, css) => {\n const root = theme.rootSelector || ':root';\n const selector = theme.colorSchemeSelector;\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-mui-color-scheme' -> '[data-mui-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (theme.defaultColorScheme === colorScheme) {\n if (colorScheme === 'dark') {\n const excludedVariables = {};\n excludeVariablesFromRoot(theme.cssVarPrefix).forEach(cssVar => {\n excludedVariables[cssVar] = css[cssVar];\n delete css[cssVar];\n });\n if (rule === 'media') {\n return {\n [root]: css,\n [`@media (prefers-color-scheme: dark)`]: {\n [root]: excludedVariables\n }\n };\n }\n if (rule) {\n return {\n [rule.replace('%s', colorScheme)]: excludedVariables,\n [`${root}, ${rule.replace('%s', colorScheme)}`]: css\n };\n }\n return {\n [root]: {\n ...css,\n ...excludedVariables\n }\n };\n }\n if (rule && rule !== 'media') {\n return `${root}, ${rule.replace('%s', String(colorScheme))}`;\n }\n } else if (colorScheme) {\n if (rule === 'media') {\n return {\n [`@media (prefers-color-scheme: ${String(colorScheme)})`]: {\n [root]: css\n }\n };\n }\n if (rule) {\n return rule.replace('%s', String(colorScheme));\n }\n }\n return root;\n};","import _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { unstable_createGetCssVar as systemCreateGetCssVar, createSpacing } from '@mui/system';\nimport { createUnarySpacing } from '@mui/system/spacing';\nimport { prepareCssVars, prepareTypographyVars, createGetColorSchemeSelector } from '@mui/system/cssVars';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, hslToRgb } from '@mui/system/colorManipulator';\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nimport createColorScheme, { getOpacity, getOverlays } from \"./createColorScheme.js\";\nimport defaultShouldSkipGeneratingVar from \"./shouldSkipGeneratingVar.js\";\nimport defaultGetSelector from \"./createGetSelector.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nimport { light, dark } from \"./createPalette.js\";\nfunction assignNode(obj, keys) {\n keys.forEach(k => {\n if (!obj[k]) {\n obj[k] = {};\n }\n });\n}\nfunction setColor(obj, key, defaultValue) {\n if (!obj[key] && defaultValue) {\n obj[key] = defaultValue;\n }\n}\nfunction toRgb(color) {\n if (typeof color !== 'string' || !color.startsWith('hsl')) {\n return color;\n }\n return hslToRgb(color);\n}\nfunction setColorChannel(obj, key) {\n if (!(`${key}Channel` in obj)) {\n // custom channel token is not provided, generate one.\n // if channel token can't be generated, show a warning.\n obj[`${key}Channel`] = safeColorChannel(toRgb(obj[key]), `MUI: Can't create \\`palette.${key}Channel\\` because \\`palette.${key}\\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` + '\\n' + `To suppress this warning, you need to explicitly provide the \\`palette.${key}Channel\\` as a string (in rgb format, for example \"12 12 12\") or undefined if you want to remove the channel token.`);\n }\n}\nfunction getSpacingVal(spacingInput) {\n if (typeof spacingInput === 'number') {\n return `${spacingInput}px`;\n }\n if (typeof spacingInput === 'string' || typeof spacingInput === 'function' || Array.isArray(spacingInput)) {\n return spacingInput;\n }\n return '8px';\n}\nconst silent = fn => {\n try {\n return fn();\n } catch (error) {\n // ignore error\n }\n return undefined;\n};\nexport const createGetCssVar = (cssVarPrefix = 'mui') => systemCreateGetCssVar(cssVarPrefix);\nfunction attachColorScheme(colorSpace, colorSchemes, scheme, restTheme, colorScheme) {\n if (!scheme) {\n return undefined;\n }\n scheme = scheme === true ? {} : scheme;\n const mode = colorScheme === 'dark' ? 'dark' : 'light';\n if (!restTheme) {\n colorSchemes[colorScheme] = createColorScheme({\n ...scheme,\n palette: {\n mode,\n ...scheme?.palette\n },\n colorSpace\n });\n return undefined;\n }\n const {\n palette,\n ...muiTheme\n } = createThemeNoVars({\n ...restTheme,\n palette: {\n mode,\n ...scheme?.palette\n },\n colorSpace\n });\n colorSchemes[colorScheme] = {\n ...scheme,\n palette,\n opacity: {\n ...getOpacity(mode),\n ...scheme?.opacity\n },\n overlays: scheme?.overlays || getOverlays(mode)\n };\n return muiTheme;\n}\n\n/**\n * A default `createThemeWithVars` comes with a single color scheme, either `light` or `dark` based on the `defaultColorScheme`.\n * This is better suited for apps that only need a single color scheme.\n *\n * To enable built-in `light` and `dark` color schemes, either:\n * 1. provide a `colorSchemeSelector` to define how the color schemes will change.\n * 2. provide `colorSchemes.dark` will set `colorSchemeSelector: 'media'` by default.\n */\nexport default function createThemeWithVars(options = {}, ...args) {\n const {\n colorSchemes: colorSchemesInput = {\n light: true\n },\n defaultColorScheme: defaultColorSchemeInput,\n disableCssColorScheme = false,\n cssVarPrefix = 'mui',\n nativeColor = false,\n shouldSkipGeneratingVar = defaultShouldSkipGeneratingVar,\n colorSchemeSelector: selector = colorSchemesInput.light && colorSchemesInput.dark ? 'media' : undefined,\n rootSelector = ':root',\n ...input\n } = options;\n const firstColorScheme = Object.keys(colorSchemesInput)[0];\n const defaultColorScheme = defaultColorSchemeInput || (colorSchemesInput.light && firstColorScheme !== 'light' ? 'light' : firstColorScheme);\n const getCssVar = createGetCssVar(cssVarPrefix);\n const {\n [defaultColorScheme]: defaultSchemeInput,\n light: builtInLight,\n dark: builtInDark,\n ...customColorSchemes\n } = colorSchemesInput;\n const colorSchemes = {\n ...customColorSchemes\n };\n let defaultScheme = defaultSchemeInput;\n\n // For built-in light and dark color schemes, ensure that the value is valid if they are the default color scheme.\n if (defaultColorScheme === 'dark' && !('dark' in colorSchemesInput) || defaultColorScheme === 'light' && !('light' in colorSchemesInput)) {\n defaultScheme = true;\n }\n if (!defaultScheme) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`colorSchemes.${defaultColorScheme}\\` option is either missing or invalid.` : _formatErrorMessage(21, defaultColorScheme));\n }\n\n // The reason to use `oklch` is that it is the most perceptually uniform color space and widely supported.\n let colorSpace;\n if (nativeColor) {\n colorSpace = 'oklch';\n }\n\n // Create the palette for the default color scheme, either `light`, `dark`, or custom color scheme.\n const muiTheme = attachColorScheme(colorSpace, colorSchemes, defaultScheme, input, defaultColorScheme);\n if (builtInLight && !colorSchemes.light) {\n attachColorScheme(colorSpace, colorSchemes, builtInLight, undefined, 'light');\n }\n if (builtInDark && !colorSchemes.dark) {\n attachColorScheme(colorSpace, colorSchemes, builtInDark, undefined, 'dark');\n }\n let theme = {\n defaultColorScheme,\n ...muiTheme,\n cssVarPrefix,\n colorSchemeSelector: selector,\n rootSelector,\n getCssVar,\n colorSchemes,\n font: {\n ...prepareTypographyVars(muiTheme.typography),\n ...muiTheme.font\n },\n spacing: getSpacingVal(input.spacing)\n };\n Object.keys(theme.colorSchemes).forEach(key => {\n const palette = theme.colorSchemes[key].palette;\n const setCssVarColor = cssVar => {\n const tokens = cssVar.split('-');\n const color = tokens[1];\n const colorToken = tokens[2];\n return getCssVar(cssVar, palette[color][colorToken]);\n };\n\n // attach black & white channels to common node\n if (palette.mode === 'light') {\n setColor(palette.common, 'background', '#fff');\n setColor(palette.common, 'onBackground', '#000');\n }\n if (palette.mode === 'dark') {\n setColor(palette.common, 'background', '#000');\n setColor(palette.common, 'onBackground', '#fff');\n }\n function colorMix(method, color, coefficient) {\n if (colorSpace) {\n let mixer;\n if (method === safeAlpha) {\n mixer = `transparent ${((1 - coefficient) * 100).toFixed(0)}%`;\n }\n if (method === safeDarken) {\n mixer = `#000 ${(coefficient * 100).toFixed(0)}%`;\n }\n if (method === safeLighten) {\n mixer = `#fff ${(coefficient * 100).toFixed(0)}%`;\n }\n return `color-mix(in ${colorSpace}, ${color}, ${mixer})`;\n }\n return method(color, coefficient);\n }\n\n // assign component variables\n assignNode(palette, ['Alert', 'AppBar', 'Avatar', 'Button', 'Chip', 'FilledInput', 'LinearProgress', 'Skeleton', 'Slider', 'SnackbarContent', 'SpeedDialAction', 'StepConnector', 'StepContent', 'Switch', 'TableCell', 'Tooltip']);\n if (palette.mode === 'light') {\n setColor(palette.Alert, 'errorColor', colorMix(safeDarken, palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', colorMix(safeDarken, palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', colorMix(safeDarken, palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', colorMix(safeDarken, palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.main)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.main)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.main)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.main)));\n setColor(palette.Alert, 'errorStandardBg', colorMix(safeLighten, palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', colorMix(safeLighten, palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', colorMix(safeLighten, palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', colorMix(safeLighten, palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-300'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-A100'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));\n setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', colorMix(safeLighten, palette.primary.main, 0.62));\n setColor(palette.LinearProgress, 'secondaryBg', colorMix(safeLighten, palette.secondary.main, 0.62));\n setColor(palette.LinearProgress, 'errorBg', colorMix(safeLighten, palette.error.main, 0.62));\n setColor(palette.LinearProgress, 'infoBg', colorMix(safeLighten, palette.info.main, 0.62));\n setColor(palette.LinearProgress, 'successBg', colorMix(safeLighten, palette.success.main, 0.62));\n setColor(palette.LinearProgress, 'warningBg', colorMix(safeLighten, palette.warning.main, 0.62));\n setColor(palette.Skeleton, 'bg', colorSpace ? colorMix(safeAlpha, palette.text.primary, 0.11) : `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);\n setColor(palette.Slider, 'primaryTrack', colorMix(safeLighten, palette.primary.main, 0.62));\n setColor(palette.Slider, 'secondaryTrack', colorMix(safeLighten, palette.secondary.main, 0.62));\n setColor(palette.Slider, 'errorTrack', colorMix(safeLighten, palette.error.main, 0.62));\n setColor(palette.Slider, 'infoTrack', colorMix(safeLighten, palette.info.main, 0.62));\n setColor(palette.Slider, 'successTrack', colorMix(safeLighten, palette.success.main, 0.62));\n setColor(palette.Slider, 'warningTrack', colorMix(safeLighten, palette.warning.main, 0.62));\n const snackbarContentBackground = colorSpace ? colorMix(safeDarken, palette.background.default, 0.6825) // use `0.6825` instead of `0.8` to match the contrast ratio of JS implementation\n : safeEmphasize(palette.background.default, 0.8);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => colorSpace ? dark.text.primary : palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));\n setColor(palette.Switch, 'primaryDisabledColor', colorMix(safeLighten, palette.primary.main, 0.62));\n setColor(palette.Switch, 'secondaryDisabledColor', colorMix(safeLighten, palette.secondary.main, 0.62));\n setColor(palette.Switch, 'errorDisabledColor', colorMix(safeLighten, palette.error.main, 0.62));\n setColor(palette.Switch, 'infoDisabledColor', colorMix(safeLighten, palette.info.main, 0.62));\n setColor(palette.Switch, 'successDisabledColor', colorMix(safeLighten, palette.success.main, 0.62));\n setColor(palette.Switch, 'warningDisabledColor', colorMix(safeLighten, palette.warning.main, 0.62));\n setColor(palette.TableCell, 'border', colorMix(safeLighten, colorMix(safeAlpha, palette.divider, 1), 0.88));\n setColor(palette.Tooltip, 'bg', colorMix(safeAlpha, palette.grey[700], 0.92));\n }\n if (palette.mode === 'dark') {\n setColor(palette.Alert, 'errorColor', colorMix(safeLighten, palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', colorMix(safeLighten, palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', colorMix(safeLighten, palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', colorMix(safeLighten, palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.dark)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.dark)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.dark)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.dark)));\n setColor(palette.Alert, 'errorStandardBg', colorMix(safeDarken, palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', colorMix(safeDarken, palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', colorMix(safeDarken, palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', colorMix(safeDarken, palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));\n setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode\n setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-800'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));\n setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', colorMix(safeDarken, palette.primary.main, 0.5));\n setColor(palette.LinearProgress, 'secondaryBg', colorMix(safeDarken, palette.secondary.main, 0.5));\n setColor(palette.LinearProgress, 'errorBg', colorMix(safeDarken, palette.error.main, 0.5));\n setColor(palette.LinearProgress, 'infoBg', colorMix(safeDarken, palette.info.main, 0.5));\n setColor(palette.LinearProgress, 'successBg', colorMix(safeDarken, palette.success.main, 0.5));\n setColor(palette.LinearProgress, 'warningBg', colorMix(safeDarken, palette.warning.main, 0.5));\n setColor(palette.Skeleton, 'bg', colorSpace ? colorMix(safeAlpha, palette.text.primary, 0.13) : `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);\n setColor(palette.Slider, 'primaryTrack', colorMix(safeDarken, palette.primary.main, 0.5));\n setColor(palette.Slider, 'secondaryTrack', colorMix(safeDarken, palette.secondary.main, 0.5));\n setColor(palette.Slider, 'errorTrack', colorMix(safeDarken, palette.error.main, 0.5));\n setColor(palette.Slider, 'infoTrack', colorMix(safeDarken, palette.info.main, 0.5));\n setColor(palette.Slider, 'successTrack', colorMix(safeDarken, palette.success.main, 0.5));\n setColor(palette.Slider, 'warningTrack', colorMix(safeDarken, palette.warning.main, 0.5));\n const snackbarContentBackground = colorSpace ? colorMix(safeLighten, palette.background.default, 0.985) // use `0.985` instead of `0.98` to match the contrast ratio of JS implementation\n : safeEmphasize(palette.background.default, 0.98);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => colorSpace ? light.text.primary : palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'primaryDisabledColor', colorMix(safeDarken, palette.primary.main, 0.55));\n setColor(palette.Switch, 'secondaryDisabledColor', colorMix(safeDarken, palette.secondary.main, 0.55));\n setColor(palette.Switch, 'errorDisabledColor', colorMix(safeDarken, palette.error.main, 0.55));\n setColor(palette.Switch, 'infoDisabledColor', colorMix(safeDarken, palette.info.main, 0.55));\n setColor(palette.Switch, 'successDisabledColor', colorMix(safeDarken, palette.success.main, 0.55));\n setColor(palette.Switch, 'warningDisabledColor', colorMix(safeDarken, palette.warning.main, 0.55));\n setColor(palette.TableCell, 'border', colorMix(safeDarken, colorMix(safeAlpha, palette.divider, 1), 0.68));\n setColor(palette.Tooltip, 'bg', colorMix(safeAlpha, palette.grey[700], 0.92));\n }\n\n // MUI X - DataGrid needs this token.\n setColorChannel(palette.background, 'default');\n\n // added for consistency with the `background.default` token\n setColorChannel(palette.background, 'paper');\n setColorChannel(palette.common, 'background');\n setColorChannel(palette.common, 'onBackground');\n setColorChannel(palette, 'divider');\n Object.keys(palette).forEach(color => {\n const colors = palette[color];\n\n // The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.\n\n if (color !== 'tonalOffset' && colors && typeof colors === 'object') {\n // Silent the error for custom palettes.\n if (colors.main) {\n setColor(palette[color], 'mainChannel', safeColorChannel(toRgb(colors.main)));\n }\n if (colors.light) {\n setColor(palette[color], 'lightChannel', safeColorChannel(toRgb(colors.light)));\n }\n if (colors.dark) {\n setColor(palette[color], 'darkChannel', safeColorChannel(toRgb(colors.dark)));\n }\n if (colors.contrastText) {\n setColor(palette[color], 'contrastTextChannel', safeColorChannel(toRgb(colors.contrastText)));\n }\n if (color === 'text') {\n // Text colors: text.primary, text.secondary\n setColorChannel(palette[color], 'primary');\n setColorChannel(palette[color], 'secondary');\n }\n if (color === 'action') {\n // Action colors: action.active, action.selected\n if (colors.active) {\n setColorChannel(palette[color], 'active');\n }\n if (colors.selected) {\n setColorChannel(palette[color], 'selected');\n }\n }\n }\n });\n });\n theme = args.reduce((acc, argument) => deepmerge(acc, argument), theme);\n const parserConfig = {\n prefix: cssVarPrefix,\n disableCssColorScheme,\n shouldSkipGeneratingVar,\n getSelector: defaultGetSelector(theme),\n enableContrastVars: nativeColor\n };\n const {\n vars,\n generateThemeVars,\n generateStyleSheets\n } = prepareCssVars(theme, parserConfig);\n theme.vars = vars;\n Object.entries(theme.colorSchemes[theme.defaultColorScheme]).forEach(([key, value]) => {\n theme[key] = value;\n });\n theme.generateThemeVars = generateThemeVars;\n theme.generateStyleSheets = generateStyleSheets;\n theme.generateSpacing = function generateSpacing() {\n return createSpacing(input.spacing, createUnarySpacing(this));\n };\n theme.getColorSchemeSelector = createGetColorSchemeSelector(selector);\n theme.spacing = theme.generateSpacing();\n theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;\n theme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...input?.unstable_sxConfig\n };\n theme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n theme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return theme;\n}","import createPalette from \"./createPalette.js\";\nimport createThemeWithVars from \"./createThemeWithVars.js\";\nimport createThemeNoVars from \"./createThemeNoVars.js\";\n// eslint-disable-next-line consistent-return\nfunction attachColorScheme(theme, scheme, colorScheme) {\n if (!theme.colorSchemes) {\n return undefined;\n }\n if (colorScheme) {\n theme.colorSchemes[scheme] = {\n ...(colorScheme !== true && colorScheme),\n palette: createPalette({\n ...(colorScheme === true ? {} : colorScheme.palette),\n mode: scheme\n }) // cast type to skip module augmentation test\n };\n }\n}\n\n/**\n * Generate a theme base on the options received.\n * @param options Takes an incomplete theme object and adds the missing parts.\n * @param args Deep merge the arguments with the about to be returned theme.\n * @returns A complete, ready-to-use theme object.\n */\nexport default function createTheme(options = {},\n// cast type to skip module augmentation test\n...args) {\n const {\n palette,\n cssVariables = false,\n colorSchemes: initialColorSchemes = !palette ? {\n light: true\n } : undefined,\n defaultColorScheme: initialDefaultColorScheme = palette?.mode,\n ...other\n } = options;\n const defaultColorSchemeInput = initialDefaultColorScheme || 'light';\n const defaultScheme = initialColorSchemes?.[defaultColorSchemeInput];\n const colorSchemesInput = {\n ...initialColorSchemes,\n ...(palette ? {\n [defaultColorSchemeInput]: {\n ...(typeof defaultScheme !== 'boolean' && defaultScheme),\n palette\n }\n } : undefined)\n };\n if (cssVariables === false) {\n if (!('colorSchemes' in options)) {\n // Behaves exactly as v5\n return createThemeNoVars(options, ...args);\n }\n let paletteOptions = palette;\n if (!('palette' in options)) {\n if (colorSchemesInput[defaultColorSchemeInput]) {\n if (colorSchemesInput[defaultColorSchemeInput] !== true) {\n paletteOptions = colorSchemesInput[defaultColorSchemeInput].palette;\n } else if (defaultColorSchemeInput === 'dark') {\n // @ts-ignore to prevent the module augmentation test from failing\n paletteOptions = {\n mode: 'dark'\n };\n }\n }\n }\n const theme = createThemeNoVars({\n ...options,\n palette: paletteOptions\n }, ...args);\n theme.defaultColorScheme = defaultColorSchemeInput;\n theme.colorSchemes = colorSchemesInput;\n if (theme.palette.mode === 'light') {\n theme.colorSchemes.light = {\n ...(colorSchemesInput.light !== true && colorSchemesInput.light),\n palette: theme.palette\n };\n attachColorScheme(theme, 'dark', colorSchemesInput.dark);\n }\n if (theme.palette.mode === 'dark') {\n theme.colorSchemes.dark = {\n ...(colorSchemesInput.dark !== true && colorSchemesInput.dark),\n palette: theme.palette\n };\n attachColorScheme(theme, 'light', colorSchemesInput.light);\n }\n return theme;\n }\n if (!palette && !('light' in colorSchemesInput) && defaultColorSchemeInput === 'light') {\n colorSchemesInput.light = true;\n }\n return createThemeWithVars({\n ...other,\n colorSchemes: colorSchemesInput,\n defaultColorScheme: defaultColorSchemeInput,\n ...(typeof cssVariables !== 'boolean' && cssVariables)\n }, ...args);\n}","'use client';\n\nimport createTheme from \"./createTheme.js\";\nconst defaultTheme = createTheme();\nexport default defaultTheme;","'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}","// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;","import slotShouldForwardProp from \"./slotShouldForwardProp.js\";\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;","'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nimport rootShouldForwardProp from \"./rootShouldForwardProp.js\";\nexport { default as slotShouldForwardProp } from \"./slotShouldForwardProp.js\";\nexport { default as rootShouldForwardProp } from \"./rootShouldForwardProp.js\";\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from \"../className/index.js\";\nimport { createTheme } from \"../styles/index.js\";\nimport THEME_ID from \"../styles/identifier.js\";\nimport boxClasses from \"./boxClasses.js\";\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;","'use client';\n\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as SystemGlobalStyles } from '@mui/system';\nimport defaultTheme from \"../styles/defaultTheme.js\";\nimport THEME_ID from \"../styles/identifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles(props) {\n return /*#__PURE__*/_jsx(SystemGlobalStyles, {\n ...props,\n defaultTheme: defaultTheme,\n themeId: THEME_ID\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The styles you want to apply globally.\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])\n} : void 0;\nexport default GlobalStyles;","import { extendSxProp } from '@mui/system/styleFunctionSx';\nimport useTheme from \"../styles/useTheme.js\";\nimport GlobalStyles from \"../GlobalStyles/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport { css, keyframes } from '@mui/system';\nexport { default as styled } from \"../styles/styled.js\";\nexport function globalCss(styles) {\n return function GlobalStylesWrapper(props) {\n return (\n /*#__PURE__*/\n // Pigment CSS `globalCss` support callback with theme inside an object but `GlobalStyles` support theme as a callback value.\n _jsx(GlobalStyles, {\n styles: typeof styles === 'function' ? theme => styles({\n theme,\n ...props\n }) : styles\n })\n );\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_createExtendSxProp() {\n return extendSxProp;\n}\nexport { useTheme };","import { unstable_memoTheme } from '@mui/system';\nconst memoTheme = unstable_memoTheme;\nexport default memoTheme;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, {\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getSvgIconUtilityClass } from \"./svgIconClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n flexShrink: 0,\n transition: theme.transitions?.create?.('fill', {\n duration: (theme.vars ?? theme).transitions?.duration?.shorter\n }),\n variants: [{\n props: props => !props.hasSvgAsChild,\n style: {\n // the <svg> will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: 'currentColor'\n }\n }, {\n props: {\n fontSize: 'inherit'\n },\n style: {\n fontSize: 'inherit'\n }\n }, {\n props: {\n fontSize: 'small'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(20) || '1.25rem'\n }\n }, {\n props: {\n fontSize: 'medium'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(24) || '1.5rem'\n }\n }, {\n props: {\n fontSize: 'large'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(35) || '2.1875rem'\n }\n },\n // TODO v5 deprecate color prop, v6 remove for sx\n ...Object.entries((theme.vars ?? theme).palette).filter(([, value]) => value && value.main).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars ?? theme).palette?.[color]?.main\n }\n })), {\n props: {\n color: 'action'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.active\n }\n }, {\n props: {\n color: 'disabled'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.disabled\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n color: undefined\n }\n }]\n})));\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24',\n ...other\n } = props;\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = {\n ...props,\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n };\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, {\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref,\n ...more,\n ...other,\n ...(hasSvgAsChild && children.props),\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;","'use client';\n\nimport * as React from 'react';\nimport SvgIcon from \"../SvgIcon/index.js\";\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, {\n \"data-testid\": process.env.NODE_ENV !== 'production' ? `${displayName}Icon` : undefined,\n ref: ref,\n ...props,\n children: path\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(Component));\n}","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from \"../useEnhancedEffect/index.js\";\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\n\n/**\n * Merges refs into a single memoized callback ref or `null`.\n *\n * ```tsx\n * const rootRef = React.useRef<Instance>(null);\n * const refFork = useForkRef(rootRef, props.ref);\n *\n * return (\n * <Root {...props} ref={refFork} />\n * );\n * ```\n *\n * @param {Array<React.Ref<Instance> | undefined>} refs The ref array.\n * @returns {React.RefCallback<Instance> | null} The new ref callback.\n */\nexport default function useForkRef(...refs) {\n const cleanupRef = React.useRef(undefined);\n const refEffect = React.useCallback(instance => {\n const cleanups = refs.map(ref => {\n if (ref == null) {\n return null;\n }\n if (typeof ref === 'function') {\n const refCallback = ref;\n const refCleanup = refCallback(instance);\n return typeof refCleanup === 'function' ? refCleanup : () => {\n refCallback(null);\n };\n }\n ref.current = instance;\n return () => {\n ref.current = null;\n };\n });\n return () => {\n cleanups.forEach(refCleanup => refCleanup?.());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return value => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (value != null) {\n cleanupRef.current = refEffect(value);\n }\n };\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- intentionally ignoring that the dependency array must be an array literal\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","import PropTypes from 'prop-types';\nconst refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\nexport default refType;","export default function chainPropTypes(propType1, propType2) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return function validate(...args) {\n return propType1(...args) || propType2(...args);\n };\n}","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport chainPropTypes from \"../chainPropTypes/index.js\";\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n const {\n prototype = {}\n } = elementType;\n return Boolean(prototype.isReactComponent);\n}\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n const propValue = props[propName];\n const safePropName = propFullName || propName;\n if (propValue == null ||\n // When server-side rendering React doesn't warn either.\n // This is not an accurate check for SSR.\n // This is only in place for emotion compat.\n // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.\n typeof window === 'undefined') {\n return null;\n }\n let warningHint;\n\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n if (propValue === React.Fragment) {\n warningHint = 'Did you accidentally provide a React.Fragment instead?';\n }\n if (warningHint !== undefined) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n return null;\n}\nexport default chainPropTypes(PropTypes.elementType, elementTypeAcceptingRef);","/**\n * Returns a boolean indicating if the event's target has :focus-visible\n */\nexport default function isFocusVisible(element) {\n try {\n return element.matches(':focus-visible');\n } catch (error) {\n // Do not warn on jsdom tests, otherwise all tests that rely on focus have to be skipped\n // Tests that rely on `:focus-visible` will still have to be skipped in jsdom\n if (process.env.NODE_ENV !== 'production' && !window.navigator.userAgent.includes('jsdom')) {\n console.warn(['MUI: The `:focus-visible` pseudo class is not supported in this browser.', 'Some components rely on this feature to work properly.'].join('\\n'));\n }\n }\n return false;\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nimport useLazyRef from '@mui/utils/useLazyRef';\n/**\n * Lazy initialization container for the Ripple instance. This improves\n * performance by delaying mounting the ripple until it's needed.\n */\nexport class LazyRipple {\n /** React ref to the ripple instance */\n\n /** If the ripple component should be mounted */\n\n /** Promise that resolves when the ripple component is mounted */\n\n /** If the ripple component has been mounted */\n\n /** React state hook setter */\n\n static create() {\n return new LazyRipple();\n }\n static use() {\n /* eslint-disable */\n const ripple = useLazyRef(LazyRipple.create).current;\n const [shouldMount, setShouldMount] = React.useState(false);\n ripple.shouldMount = shouldMount;\n ripple.setShouldMount = setShouldMount;\n React.useEffect(ripple.mountEffect, [shouldMount]);\n /* eslint-enable */\n\n return ripple;\n }\n constructor() {\n this.ref = {\n current: null\n };\n this.mounted = null;\n this.didMount = false;\n this.shouldMount = false;\n this.setShouldMount = null;\n }\n mount() {\n if (!this.mounted) {\n this.mounted = createControlledPromise();\n this.shouldMount = true;\n this.setShouldMount(this.shouldMount);\n }\n return this.mounted;\n }\n mountEffect = () => {\n if (this.shouldMount && !this.didMount) {\n if (this.ref.current !== null) {\n this.didMount = true;\n this.mounted.resolve();\n }\n }\n };\n\n /* Ripple API */\n\n start(...args) {\n this.mount().then(() => this.ref.current?.start(...args));\n }\n stop(...args) {\n this.mount().then(() => this.ref.current?.stop(...args));\n }\n pulsate(...args) {\n this.mount().then(() => this.ref.current?.pulsate(...args));\n }\n}\nexport default function useLazyRipple() {\n return LazyRipple.use();\n}\nfunction createControlledPromise() {\n let resolve;\n let reject;\n const p = new Promise((resolveFn, rejectFn) => {\n resolve = resolveFn;\n reject = rejectFn;\n });\n p.resolve = resolve;\n p.reject = reject;\n return p;\n}","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","import React from 'react';\nexport default React.createContext(null);","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- no need to put `fn` in the dependency array\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from \"../useLazyRef/useLazyRef.js\";\nimport useOnMount from \"../useOnMount/useOnMount.js\";\nexport class Timeout {\n static create() {\n return new Timeout();\n }\n currentId = null;\n\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n disposeEffect = () => {\n return this.clear;\n };\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes /* remove-proptypes */ = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport useTimeout from '@mui/utils/useTimeout';\nimport { keyframes, styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Ripple from \"./Ripple.js\";\nimport touchRippleClasses from \"./touchRippleClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`;\nconst exitKeyframe = keyframes`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`;\nconst pulsateKeyframe = keyframes`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`;\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})`\n opacity: 0;\n position: absolute;\n\n &.${touchRippleClasses.rippleVisible} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${enterKeyframe};\n animation-duration: ${DURATION}ms;\n animation-timing-function: ${({\n theme\n}) => theme.transitions.easing.easeInOut};\n }\n\n &.${touchRippleClasses.ripplePulsate} {\n animation-duration: ${({\n theme\n}) => theme.transitions.duration.shorter}ms;\n }\n\n & .${touchRippleClasses.child} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${touchRippleClasses.childLeaving} {\n opacity: 0;\n animation-name: ${exitKeyframe};\n animation-duration: ${DURATION}ms;\n animation-timing-function: ${({\n theme\n}) => theme.transitions.easing.easeInOut};\n }\n\n & .${touchRippleClasses.childPulsate} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${pulsateKeyframe};\n animation-duration: 2500ms;\n animation-timing-function: ${({\n theme\n}) => theme.transitions.easing.easeInOut};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`;\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className,\n ...other\n } = props;\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if (event?.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if (event?.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touch devices\n if (event?.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if (event?.type === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, {\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container,\n ...other,\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes /* remove-proptypes */ = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useLazyRipple from \"../useLazyRipple/index.js\";\nimport TouchRipple from \"./TouchRipple.js\";\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from \"./buttonBaseClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root'\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n focusVisibleClassName,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type,\n ...other\n } = props;\n const buttonRef = React.useRef(null);\n const ripple = useLazyRipple();\n const handleRippleRef = useForkRef(ripple.ref, touchRippleRef);\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const enableTouchRipple = ripple.shouldMount && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple) {\n ripple.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, ripple]);\n const handleMouseDown = useRippleHandler(ripple, 'start', onMouseDown, disableTouchRipple);\n const handleContextMenu = useRippleHandler(ripple, 'stop', onContextMenu, disableTouchRipple);\n const handleDragLeave = useRippleHandler(ripple, 'stop', onDragLeave, disableTouchRipple);\n const handleMouseUp = useRippleHandler(ripple, 'stop', onMouseUp, disableTouchRipple);\n const handleMouseLeave = useRippleHandler(ripple, 'stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n }, disableTouchRipple);\n const handleTouchStart = useRippleHandler(ripple, 'start', onTouchStart, disableTouchRipple);\n const handleTouchEnd = useRippleHandler(ripple, 'stop', onTouchEnd, disableTouchRipple);\n const handleTouchMove = useRippleHandler(ripple, 'stop', onTouchMove, disableTouchRipple);\n const handleBlur = useRippleHandler(ripple, 'stop', event => {\n if (!isFocusVisible(event.target)) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n if (isFocusVisible(event.target)) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !event.repeat && focusVisible && event.key === ' ') {\n ripple.stop(event, () => {\n ripple.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && focusVisible && !event.defaultPrevented) {\n ripple.stop(event, () => {\n ripple.pulsate(event);\n });\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n let ComponentProp = component;\n if (ComponentProp === 'button' && (other.href || other.to)) {\n ComponentProp = LinkComponent;\n }\n const buttonProps = {};\n if (ComponentProp === 'button') {\n const hasFormAttributes = !!other.formAction;\n // ButtonBase was defaulting to type=\"button\" when no type prop was provided, which prevented form submission and broke formAction functionality.\n // The fix checks for form-related attributes and skips the default type to allow the browser's natural submit behavior (type=\"submit\").\n buttonProps.type = type === undefined && !hasFormAttributes ? 'button' : type;\n buttonProps.disabled = disabled;\n } else {\n if (!other.href && !other.to) {\n buttonProps.role = 'button';\n }\n if (disabled) {\n buttonProps['aria-disabled'] = disabled;\n }\n }\n const handleRef = useForkRef(ref, buttonRef);\n const ownerState = {\n ...props,\n centerRipple,\n component,\n disabled,\n disableRipple,\n disableTouchRipple,\n focusRipple,\n tabIndex,\n focusVisible\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(ButtonBaseRoot, {\n as: ComponentProp,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n onBlur: handleBlur,\n onClick: onClick,\n onContextMenu: handleContextMenu,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex,\n type: type,\n ...buttonProps,\n ...other,\n children: [children, enableTouchRipple ? /*#__PURE__*/_jsx(TouchRipple, {\n ref: handleRippleRef,\n center: centerRipple,\n ...TouchRippleProps\n }) : null]\n });\n});\nfunction useRippleHandler(ripple, rippleAction, eventCallback, skipRippleAction = false) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n if (!skipRippleAction) {\n ripple[rippleAction](event);\n }\n return true;\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ButtonBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: refType,\n /**\n * If `true`, the ripples are centered.\n * They won't start at the cursor interaction position.\n * @default false\n */\n centerRipple: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the touch ripple effect is disabled.\n * @default false\n */\n disableTouchRipple: PropTypes.bool,\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * @default false\n */\n focusRipple: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n formAction: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n /**\n * @ignore\n */\n href: PropTypes /* @typescript-to-proptypes-ignore */.any,\n /**\n * The component used to render a link when the `href` prop is provided.\n * @default 'a'\n */\n LinkComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onContextMenu: PropTypes.func,\n /**\n * @ignore\n */\n onDragLeave: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * @ignore\n */\n onMouseUp: PropTypes.func,\n /**\n * @ignore\n */\n onTouchEnd: PropTypes.func,\n /**\n * @ignore\n */\n onTouchMove: PropTypes.func,\n /**\n * @ignore\n */\n onTouchStart: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number,\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: PropTypes.object,\n /**\n * A ref that points to the `TouchRipple` element.\n */\n touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n pulsate: PropTypes.func.isRequired,\n start: PropTypes.func.isRequired,\n stop: PropTypes.func.isRequired\n })\n })]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string])\n} : void 0;\nexport default ButtonBase;","/**\n * Type guard to check if the object has a \"main\" property of type string.\n *\n * @param obj - the object to check\n * @returns boolean\n */\nfunction hasCorrectMainProperty(obj) {\n return typeof obj.main === 'string';\n}\n/**\n * Checks if the object conforms to the SimplePaletteColorOptions type.\n * The minimum requirement is that the object has a \"main\" property of type string, this is always checked.\n * Optionally, you can pass additional properties to check.\n *\n * @param obj - The object to check\n * @param additionalPropertiesToCheck - Array containing \"light\", \"dark\", and/or \"contrastText\"\n * @returns boolean\n */\nfunction checkSimplePaletteColorValues(obj, additionalPropertiesToCheck = []) {\n if (!hasCorrectMainProperty(obj)) {\n return false;\n }\n for (const value of additionalPropertiesToCheck) {\n if (!obj.hasOwnProperty(value) || typeof obj[value] !== 'string') {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Creates a filter function used to filter simple palette color options.\n * The minimum requirement is that the object has a \"main\" property of type string, this is always checked.\n * Optionally, you can pass additional properties to check.\n *\n * @param additionalPropertiesToCheck - Array containing \"light\", \"dark\", and/or \"contrastText\"\n * @returns ([, value]: [any, PaletteColorOptions]) => boolean\n */\nexport default function createSimplePaletteValueFilter(additionalPropertiesToCheck = []) {\n return ([, value]) => value && checkSimplePaletteColorValues(value, additionalPropertiesToCheck);\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'track', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css, styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { getCircularProgressUtilityClass } from \"./circularProgressClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`;\nconst circularDashKeyframe = keyframes`\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: -126px;\n }\n`;\n\n// This implementation is for supporting both Styled-components v4+ and Pigment CSS.\n// A global animation has to be created here for Styled-components v4+ (https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#12).\n// which can be done by checking typeof indeterminate1Keyframe !== 'string' (at runtime, Pigment CSS transform keyframes`` to a string).\nconst rotateAnimation = typeof circularRotateKeyframe !== 'string' ? css`\n animation: ${circularRotateKeyframe} 1.4s linear infinite;\n ` : null;\nconst dashAnimation = typeof circularDashKeyframe !== 'string' ? css`\n animation: ${circularDashKeyframe} 1.4s ease-in-out infinite;\n ` : null;\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color,\n disableShrink\n } = ownerState;\n const slots = {\n root: ['root', variant, `color${capitalize(color)}`],\n svg: ['svg'],\n track: ['track'],\n circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n };\n return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n name: 'MuiCircularProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'inline-block',\n variants: [{\n props: {\n variant: 'determinate'\n },\n style: {\n transition: theme.transitions.create('transform')\n }\n }, {\n props: {\n variant: 'indeterminate'\n },\n style: rotateAnimation || {\n animation: `${circularRotateKeyframe} 1.4s linear infinite`\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n }))]\n})));\nconst CircularProgressSVG = styled('svg', {\n name: 'MuiCircularProgress',\n slot: 'Svg'\n})({\n display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Circle',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n }\n})(memoTheme(({\n theme\n}) => ({\n stroke: 'currentColor',\n variants: [{\n props: {\n variant: 'determinate'\n },\n style: {\n transition: theme.transitions.create('stroke-dashoffset')\n }\n }, {\n props: {\n variant: 'indeterminate'\n },\n style: {\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink,\n style: dashAnimation || {\n // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.\n animation: `${circularDashKeyframe} 1.4s ease-in-out infinite`\n }\n }]\n})));\nconst CircularProgressTrack = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Track'\n})(memoTheme(({\n theme\n}) => ({\n stroke: 'currentColor',\n opacity: (theme.vars || theme).palette.action.activatedOpacity\n})));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCircularProgress'\n });\n const {\n className,\n color = 'primary',\n disableShrink = false,\n enableTrackSlot = false,\n size = 40,\n style,\n thickness = 3.6,\n value = 0,\n variant = 'indeterminate',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n disableShrink,\n size,\n thickness,\n value,\n variant,\n enableTrackSlot\n };\n const classes = useUtilityClasses(ownerState);\n const circleStyle = {};\n const rootStyle = {};\n const rootProps = {};\n if (variant === 'determinate') {\n const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n rootStyle.transform = 'rotate(-90deg)';\n }\n return /*#__PURE__*/_jsx(CircularProgressRoot, {\n className: clsx(classes.root, className),\n style: {\n width: size,\n height: size,\n ...rootStyle,\n ...style\n },\n ownerState: ownerState,\n ref: ref,\n role: \"progressbar\",\n ...rootProps,\n ...other,\n children: /*#__PURE__*/_jsxs(CircularProgressSVG, {\n className: classes.svg,\n ownerState: ownerState,\n viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n children: [enableTrackSlot ? /*#__PURE__*/_jsx(CircularProgressTrack, {\n className: classes.track,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness,\n \"aria-hidden\": \"true\"\n }) : null, /*#__PURE__*/_jsx(CircularProgressCircle, {\n className: classes.circle,\n style: circleStyle,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness\n })]\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the shrink animation is disabled.\n * This only works if variant is `indeterminate`.\n * @default false\n */\n disableShrink: chainPropTypes(PropTypes.bool, props => {\n if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n }\n return null;\n }),\n /**\n * If `true`, a track circle slot is mounted to show a subtle background for the progress.\n * The `size` and `thickness` apply to the track slot to be consistent with the progress circle.\n * @default false\n */\n enableTrackSlot: PropTypes.bool,\n /**\n * The size of the component.\n * If using a number, the pixel unit is assumed.\n * If using a string, you need to provide the CSS unit, for example '3rem'.\n * @default 40\n */\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The thickness of the circle.\n * @default 3.6\n */\n thickness: PropTypes.number,\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n * @default 0\n */\n value: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonUtilityClass(slot) {\n return generateUtilityClass('MuiButton', slot);\n}\nconst buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorError', 'colorInfo', 'colorWarning', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'icon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge', 'loading', 'loadingWrapper', 'loadingIconPlaceholder', 'loadingIndicator', 'loadingPositionCenter', 'loadingPositionStart', 'loadingPositionEnd']);\nexport default buttonClasses;","'use client';\n\nimport * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\nexport default ButtonGroupContext;","'use client';\n\nimport * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupButtonContext.displayName = 'ButtonGroupButtonContext';\n}\nexport default ButtonGroupButtonContext;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport resolveProps from '@mui/utils/resolveProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { unstable_useId as useId } from \"../utils/index.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport CircularProgress from \"../CircularProgress/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport buttonClasses, { getButtonUtilityClass } from \"./buttonClasses.js\";\nimport ButtonGroupContext from \"../ButtonGroup/ButtonGroupContext.js\";\nimport ButtonGroupButtonContext from \"../ButtonGroup/ButtonGroupButtonContext.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n disableElevation,\n fullWidth,\n size,\n variant,\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, `color${capitalize(color)}`, disableElevation && 'disableElevation', fullWidth && 'fullWidth', loading && `loadingPosition${capitalize(loadingPosition)}`],\n startIcon: ['icon', 'startIcon', `iconSize${capitalize(size)}`],\n endIcon: ['icon', 'endIcon', `iconSize${capitalize(size)}`],\n loadingIndicator: ['loadingIndicator'],\n loadingWrapper: ['loadingWrapper']\n };\n const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);\n return {\n ...classes,\n // forward the focused, disabled, etc. classes to the ButtonBase\n ...composedClasses\n };\n};\nconst commonIconStyles = [{\n props: {\n size: 'small'\n },\n style: {\n '& > *:nth-of-type(1)': {\n fontSize: 18\n }\n }\n}, {\n props: {\n size: 'medium'\n },\n style: {\n '& > *:nth-of-type(1)': {\n fontSize: 20\n }\n }\n}, {\n props: {\n size: 'large'\n },\n style: {\n '& > *:nth-of-type(1)': {\n fontSize: 22\n }\n }\n}];\nconst ButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth, ownerState.loading && styles.loading];\n }\n})(memoTheme(({\n theme\n}) => {\n const inheritContainedBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey[300] : theme.palette.grey[800];\n const inheritContainedHoverBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey.A100 : theme.palette.grey[700];\n return {\n ...theme.typography.button,\n minWidth: 64,\n padding: '6px 16px',\n border: 0,\n borderRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n textDecoration: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n },\n variants: [{\n props: {\n variant: 'contained'\n },\n style: {\n color: `var(--variant-containedColor)`,\n backgroundColor: `var(--variant-containedBg)`,\n boxShadow: (theme.vars || theme).shadows[2],\n '&:hover': {\n boxShadow: (theme.vars || theme).shadows[4],\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: (theme.vars || theme).shadows[2]\n }\n },\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[8]\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: (theme.vars || theme).shadows[6]\n },\n [`&.${buttonClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n padding: '5px 15px',\n border: '1px solid currentColor',\n borderColor: `var(--variant-outlinedBorder, currentColor)`,\n backgroundColor: `var(--variant-outlinedBg)`,\n color: `var(--variant-outlinedColor)`,\n [`&.${buttonClasses.disabled}`]: {\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n }\n }\n }, {\n props: {\n variant: 'text'\n },\n style: {\n padding: '6px 8px',\n color: `var(--variant-textColor)`,\n backgroundColor: `var(--variant-textBg)`\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n '--variant-textColor': (theme.vars || theme).palette[color].main,\n '--variant-outlinedColor': (theme.vars || theme).palette[color].main,\n '--variant-outlinedBorder': theme.alpha((theme.vars || theme).palette[color].main, 0.5),\n '--variant-containedColor': (theme.vars || theme).palette[color].contrastText,\n '--variant-containedBg': (theme.vars || theme).palette[color].main,\n '@media (hover: hover)': {\n '&:hover': {\n '--variant-containedBg': (theme.vars || theme).palette[color].dark,\n '--variant-textBg': theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity),\n '--variant-outlinedBorder': (theme.vars || theme).palette[color].main,\n '--variant-outlinedBg': theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity)\n }\n }\n }\n })), {\n props: {\n color: 'inherit'\n },\n style: {\n color: 'inherit',\n borderColor: 'currentColor',\n '--variant-containedBg': theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,\n '@media (hover: hover)': {\n '&:hover': {\n '--variant-containedBg': theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,\n '--variant-textBg': theme.alpha((theme.vars || theme).palette.text.primary, (theme.vars || theme).palette.action.hoverOpacity),\n '--variant-outlinedBg': theme.alpha((theme.vars || theme).palette.text.primary, (theme.vars || theme).palette.action.hoverOpacity)\n }\n }\n }\n }, {\n props: {\n size: 'small',\n variant: 'text'\n },\n style: {\n padding: '4px 5px',\n fontSize: theme.typography.pxToRem(13)\n }\n }, {\n props: {\n size: 'large',\n variant: 'text'\n },\n style: {\n padding: '8px 11px',\n fontSize: theme.typography.pxToRem(15)\n }\n }, {\n props: {\n size: 'small',\n variant: 'outlined'\n },\n style: {\n padding: '3px 9px',\n fontSize: theme.typography.pxToRem(13)\n }\n }, {\n props: {\n size: 'large',\n variant: 'outlined'\n },\n style: {\n padding: '7px 21px',\n fontSize: theme.typography.pxToRem(15)\n }\n }, {\n props: {\n size: 'small',\n variant: 'contained'\n },\n style: {\n padding: '4px 10px',\n fontSize: theme.typography.pxToRem(13)\n }\n }, {\n props: {\n size: 'large',\n variant: 'contained'\n },\n style: {\n padding: '8px 22px',\n fontSize: theme.typography.pxToRem(15)\n }\n }, {\n props: {\n disableElevation: true\n },\n style: {\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: 'none'\n },\n '&:active': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n boxShadow: 'none'\n }\n }\n }, {\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n loadingPosition: 'center'\n },\n style: {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${buttonClasses.loading}`]: {\n color: 'transparent'\n }\n }\n }]\n };\n}));\nconst ButtonStartIcon = styled('span', {\n name: 'MuiButton',\n slot: 'StartIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.startIcon, ownerState.loading && styles.startIconLoadingStart, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n theme\n}) => ({\n display: 'inherit',\n marginRight: 8,\n marginLeft: -4,\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n marginLeft: -2\n }\n }, {\n props: {\n loadingPosition: 'start',\n loading: true\n },\n style: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n }, {\n props: {\n loadingPosition: 'start',\n loading: true,\n fullWidth: true\n },\n style: {\n marginRight: -8\n }\n }, ...commonIconStyles]\n}));\nconst ButtonEndIcon = styled('span', {\n name: 'MuiButton',\n slot: 'EndIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.endIcon, ownerState.loading && styles.endIconLoadingEnd, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n theme\n}) => ({\n display: 'inherit',\n marginRight: -4,\n marginLeft: 8,\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n marginRight: -2\n }\n }, {\n props: {\n loadingPosition: 'end',\n loading: true\n },\n style: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n }, {\n props: {\n loadingPosition: 'end',\n loading: true,\n fullWidth: true\n },\n style: {\n marginLeft: -8\n }\n }, ...commonIconStyles]\n}));\nconst ButtonLoadingIndicator = styled('span', {\n name: 'MuiButton',\n slot: 'LoadingIndicator'\n})(({\n theme\n}) => ({\n display: 'none',\n position: 'absolute',\n visibility: 'visible',\n variants: [{\n props: {\n loading: true\n },\n style: {\n display: 'flex'\n }\n }, {\n props: {\n loadingPosition: 'start'\n },\n style: {\n left: 14\n }\n }, {\n props: {\n loadingPosition: 'start',\n size: 'small'\n },\n style: {\n left: 10\n }\n }, {\n props: {\n variant: 'text',\n loadingPosition: 'start'\n },\n style: {\n left: 6\n }\n }, {\n props: {\n loadingPosition: 'center'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%)',\n color: (theme.vars || theme).palette.action.disabled\n }\n }, {\n props: {\n loadingPosition: 'end'\n },\n style: {\n right: 14\n }\n }, {\n props: {\n loadingPosition: 'end',\n size: 'small'\n },\n style: {\n right: 10\n }\n }, {\n props: {\n variant: 'text',\n loadingPosition: 'end'\n },\n style: {\n right: 6\n }\n }, {\n props: {\n loadingPosition: 'start',\n fullWidth: true\n },\n style: {\n position: 'relative',\n left: -10\n }\n }, {\n props: {\n loadingPosition: 'end',\n fullWidth: true\n },\n style: {\n position: 'relative',\n right: -10\n }\n }]\n}));\nconst ButtonLoadingIconPlaceholder = styled('span', {\n name: 'MuiButton',\n slot: 'LoadingIconPlaceholder'\n})({\n display: 'inline-block',\n width: '1em',\n height: '1em'\n});\nconst Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const contextProps = React.useContext(ButtonGroupContext);\n const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext);\n const resolvedProps = resolveProps(contextProps, inProps);\n const props = useDefaultProps({\n props: resolvedProps,\n name: 'MuiButton'\n });\n const {\n children,\n color = 'primary',\n component = 'button',\n className,\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n endIcon: endIconProp,\n focusVisibleClassName,\n fullWidth = false,\n id: idProp,\n loading = null,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n size = 'medium',\n startIcon: startIconProp,\n type,\n variant = 'text',\n ...other\n } = props;\n const loadingId = useId(idProp);\n const loadingIndicator = loadingIndicatorProp ?? /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": loadingId,\n color: \"inherit\",\n size: 16\n });\n const ownerState = {\n ...props,\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n fullWidth,\n loading,\n loadingIndicator,\n loadingPosition,\n size,\n type,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n const startIcon = (startIconProp || loading && loadingPosition === 'start') && /*#__PURE__*/_jsx(ButtonStartIcon, {\n className: classes.startIcon,\n ownerState: ownerState,\n children: startIconProp || /*#__PURE__*/_jsx(ButtonLoadingIconPlaceholder, {\n className: classes.loadingIconPlaceholder,\n ownerState: ownerState\n })\n });\n const endIcon = (endIconProp || loading && loadingPosition === 'end') && /*#__PURE__*/_jsx(ButtonEndIcon, {\n className: classes.endIcon,\n ownerState: ownerState,\n children: endIconProp || /*#__PURE__*/_jsx(ButtonLoadingIconPlaceholder, {\n className: classes.loadingIconPlaceholder,\n ownerState: ownerState\n })\n });\n const positionClassName = buttonGroupButtonContextPositionClassName || '';\n const loader = typeof loading === 'boolean' ?\n /*#__PURE__*/\n // use plain HTML span to minimize the runtime overhead\n _jsx(\"span\", {\n className: classes.loadingWrapper,\n style: {\n display: 'contents'\n },\n children: loading && /*#__PURE__*/_jsx(ButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })\n }) : null;\n return /*#__PURE__*/_jsxs(ButtonRoot, {\n ownerState: ownerState,\n className: clsx(contextProps.className, classes.root, className, positionClassName),\n component: component,\n disabled: disabled || loading,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref,\n type: type,\n id: loading ? loadingId : idProp,\n ...other,\n classes: classes,\n children: [startIcon, loadingPosition !== 'end' && loader, children, loadingPosition === 'end' && loader, endIcon]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Button.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * Element placed after the children.\n */\n endIcon: PropTypes.node,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * @ignore\n */\n id: PropTypes.string,\n /**\n * If `true`, the loading indicator is visible and the button is disabled.\n * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).\n * @default null\n */\n loading: PropTypes.bool,\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default, it renders a `CircularProgress` that is labeled by the button itself.\n * @default <CircularProgress color=\"inherit\" size={16} />\n */\n loadingIndicator: PropTypes.node,\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: PropTypes.oneOf(['center', 'end', 'start']),\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * Element placed before the children.\n */\n startIcon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Button;","export function getTypeByValue(value) {\n const valueType = typeof value;\n switch (valueType) {\n case 'number':\n if (Number.isNaN(value)) {\n return 'NaN';\n }\n if (!Number.isFinite(value)) {\n return 'Infinity';\n }\n if (value !== Math.floor(value)) {\n return 'float';\n }\n return 'number';\n case 'object':\n if (value === null) {\n return 'null';\n }\n return value.constructor.name;\n default:\n return valueType;\n }\n}\nfunction requiredInteger(props, propName, componentName, location) {\n const propValue = props[propName];\n if (propValue == null || !Number.isInteger(propValue)) {\n const propType = getTypeByValue(propValue);\n return new RangeError(`Invalid ${location} \\`${propName}\\` of type \\`${propType}\\` supplied to \\`${componentName}\\`, expected \\`integer\\`.`);\n }\n return null;\n}\nfunction validator(props, propName, componentName, location) {\n const propValue = props[propName];\n if (propValue === undefined) {\n return null;\n }\n return requiredInteger(props, propName, componentName, location);\n}\nfunction validatorNoop() {\n return null;\n}\nvalidator.isRequired = requiredInteger;\nvalidatorNoop.isRequired = validatorNoop;\nconst integerPropType = process.env.NODE_ENV === 'production' ? validatorNoop : validator;\nexport default integerPropType;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport getOverlayAlpha from \"../styles/getOverlayAlpha.js\";\nimport { getPaperUtilityClass } from \"./paperClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow'),\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.square,\n style: {\n borderRadius: theme.shape.borderRadius\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }\n }, {\n props: {\n variant: 'elevation'\n },\n style: {\n boxShadow: 'var(--Paper-shadow)',\n backgroundImage: 'var(--Paper-overlay)'\n }\n }]\n})));\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const theme = useTheme();\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation',\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n elevation,\n square,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided <Paper elevation={${elevation}}> is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, {\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n style: {\n ...(variant === 'elevation' && {\n '--Paper-shadow': (theme.vars || theme).shadows[elevation],\n ...(theme.vars && {\n '--Paper-overlay': theme.vars.overlays?.[elevation]\n }),\n ...(!theme.vars && theme.palette.mode === 'dark' && {\n '--Paper-overlay': `linear-gradient(${alpha('#fff', getOverlayAlpha(elevation))}, ${alpha('#fff', getOverlayAlpha(elevation))})`\n })\n }),\n ...other.style\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getDividerUtilityClass } from \"./dividerClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n absolute,\n children,\n classes,\n flexItem,\n light,\n orientation,\n textAlign,\n variant\n } = ownerState;\n const slots = {\n root: ['root', absolute && 'absolute', variant, light && 'light', orientation === 'vertical' && 'vertical', flexItem && 'flexItem', children && 'withChildren', children && orientation === 'vertical' && 'withChildrenVertical', textAlign === 'right' && orientation !== 'vertical' && 'textAlignRight', textAlign === 'left' && orientation !== 'vertical' && 'textAlignLeft'],\n wrapper: ['wrapper', orientation === 'vertical' && 'wrapperVertical']\n };\n return composeClasses(slots, getDividerUtilityClass, classes);\n};\nconst DividerRoot = styled('div', {\n name: 'MuiDivider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.absolute && styles.absolute, styles[ownerState.variant], ownerState.light && styles.light, ownerState.orientation === 'vertical' && styles.vertical, ownerState.flexItem && styles.flexItem, ownerState.children && styles.withChildren, ownerState.children && ownerState.orientation === 'vertical' && styles.withChildrenVertical, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && styles.textAlignRight, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && styles.textAlignLeft];\n }\n})(memoTheme(({\n theme\n}) => ({\n margin: 0,\n // Reset browser default style.\n flexShrink: 0,\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: (theme.vars || theme).palette.divider,\n borderBottomWidth: 'thin',\n variants: [{\n props: {\n absolute: true\n },\n style: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%'\n }\n }, {\n props: {\n light: true\n },\n style: {\n borderColor: theme.alpha((theme.vars || theme).palette.divider, 0.08)\n }\n }, {\n props: {\n variant: 'inset'\n },\n style: {\n marginLeft: 72\n }\n }, {\n props: {\n variant: 'middle',\n orientation: 'horizontal'\n },\n style: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n }\n }, {\n props: {\n variant: 'middle',\n orientation: 'vertical'\n },\n style: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n height: '100%',\n borderBottomWidth: 0,\n borderRightWidth: 'thin'\n }\n }, {\n props: {\n flexItem: true\n },\n style: {\n alignSelf: 'stretch',\n height: 'auto'\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.children,\n style: {\n display: 'flex',\n textAlign: 'center',\n border: 0,\n borderTopStyle: 'solid',\n borderLeftStyle: 'solid',\n '&::before, &::after': {\n content: '\"\"',\n alignSelf: 'center'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.children && ownerState.orientation !== 'vertical',\n style: {\n '&::before, &::after': {\n width: '100%',\n borderTop: `thin solid ${(theme.vars || theme).palette.divider}`,\n borderTopStyle: 'inherit'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.orientation === 'vertical' && ownerState.children,\n style: {\n flexDirection: 'column',\n '&::before, &::after': {\n height: '100%',\n borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`,\n borderLeftStyle: 'inherit'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical',\n style: {\n '&::before': {\n width: '90%'\n },\n '&::after': {\n width: '10%'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical',\n style: {\n '&::before': {\n width: '10%'\n },\n '&::after': {\n width: '90%'\n }\n }\n }]\n})));\nconst DividerWrapper = styled('span', {\n name: 'MuiDivider',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.wrapper, ownerState.orientation === 'vertical' && styles.wrapperVertical];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'inline-block',\n paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,\n paddingRight: `calc(${theme.spacing(1)} * 1.2)`,\n whiteSpace: 'nowrap',\n variants: [{\n props: {\n orientation: 'vertical'\n },\n style: {\n paddingTop: `calc(${theme.spacing(1)} * 1.2)`,\n paddingBottom: `calc(${theme.spacing(1)} * 1.2)`\n }\n }]\n})));\nconst Divider = /*#__PURE__*/React.forwardRef(function Divider(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDivider'\n });\n const {\n absolute = false,\n children,\n className,\n orientation = 'horizontal',\n component = children || orientation === 'vertical' ? 'div' : 'hr',\n flexItem = false,\n light = false,\n role = component !== 'hr' ? 'separator' : undefined,\n textAlign = 'center',\n variant = 'fullWidth',\n ...other\n } = props;\n const ownerState = {\n ...props,\n absolute,\n component,\n flexItem,\n light,\n orientation,\n role,\n textAlign,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DividerRoot, {\n as: component,\n className: clsx(classes.root, className),\n role: role,\n ref: ref,\n ownerState: ownerState,\n \"aria-orientation\": role === 'separator' && (component !== 'hr' || orientation === 'vertical') ? orientation : undefined,\n ...other,\n children: children ? /*#__PURE__*/_jsx(DividerWrapper, {\n className: classes.wrapper,\n ownerState: ownerState,\n children: children\n }) : null\n });\n});\n\n/**\n * The following flag is used to ensure that this component isn't tabbable i.e.\n * does not get highlight/focus inside of MUI List.\n */\nif (Divider) {\n Divider.muiSkipListHighlight = true;\n}\nprocess.env.NODE_ENV !== \"production\" ? Divider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Absolutely position the element.\n * @default false\n */\n absolute: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, a vertical divider will have the correct height when used in flex container.\n * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.)\n * @default false\n */\n flexItem: PropTypes.bool,\n /**\n * If `true`, the divider will have a lighter color.\n * @default false\n * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n light: PropTypes.bool,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n role: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The text alignment.\n * @default 'center'\n */\n textAlign: PropTypes.oneOf(['center', 'left', 'right']),\n /**\n * The variant to use.\n * @default 'fullWidth'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])\n} : void 0;\nexport default Divider;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTypographyUtilityClass(slot) {\n return generateUtilityClass('MuiTypography', slot);\n}\nconst typographyClasses = generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);\nexport default typographyClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled, internal_createExtendSxProp } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { getTypographyUtilityClass } from \"./typographyClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst v6Colors = {\n primary: true,\n secondary: true,\n error: true,\n info: true,\n success: true,\n warning: true,\n textPrimary: true,\n textSecondary: true,\n textDisabled: true\n};\nconst extendSxProp = internal_createExtendSxProp();\nconst useUtilityClasses = ownerState => {\n const {\n align,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']\n };\n return composeClasses(slots, getTypographyUtilityClass, classes);\n};\nexport const TypographyRoot = styled('span', {\n name: 'MuiTypography',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];\n }\n})(memoTheme(({\n theme\n}) => ({\n margin: 0,\n variants: [{\n props: {\n variant: 'inherit'\n },\n style: {\n // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.\n font: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n }, ...Object.entries(theme.typography).filter(([variant, value]) => variant !== 'inherit' && value && typeof value === 'object').map(([variant, value]) => ({\n props: {\n variant\n },\n style: value\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n })), ...Object.entries(theme.palette?.text || {}).filter(([, value]) => typeof value === 'string').map(([color]) => ({\n props: {\n color: `text${capitalize(color)}`\n },\n style: {\n color: (theme.vars || theme).palette.text[color]\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.align !== 'inherit',\n style: {\n textAlign: 'var(--Typography-textAlign)'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.noWrap,\n style: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.gutterBottom,\n style: {\n marginBottom: '0.35em'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.paragraph,\n style: {\n marginBottom: 16\n }\n }]\n})));\nconst defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n inherit: 'p'\n};\nconst Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, ref) {\n const {\n color,\n ...themeProps\n } = useDefaultProps({\n props: inProps,\n name: 'MuiTypography'\n });\n const isSxColor = !v6Colors[color];\n // TODO: Remove `extendSxProp` in v7\n const props = extendSxProp({\n ...themeProps,\n ...(isSxColor && {\n color\n })\n });\n const {\n align = 'inherit',\n className,\n component,\n gutterBottom = false,\n noWrap = false,\n paragraph = false,\n variant = 'body1',\n variantMapping = defaultVariantMapping,\n ...other\n } = props;\n const ownerState = {\n ...props,\n align,\n color,\n className,\n component,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n variantMapping\n };\n const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TypographyRoot, {\n as: Component,\n ref: ref,\n className: clsx(classes.root, className),\n ...other,\n ownerState: ownerState,\n style: {\n ...(align !== 'inherit' && {\n '--Typography-textAlign': align\n }),\n ...other.style\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Typography.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the component.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'success', 'error', 'info', 'warning', 'textPrimary', 'textSecondary', 'textDisabled']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the text will have a bottom margin.\n * @default false\n */\n gutterBottom: PropTypes.bool,\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n * @default false\n */\n noWrap: PropTypes.bool,\n /**\n * If `true`, the element will be a paragraph element.\n * @default false\n * @deprecated Use the `component` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n paragraph: PropTypes.bool,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Applies the theme typography styles.\n * @default 'body1'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string]),\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n * @default {\n * h1: 'h1',\n * h2: 'h2',\n * h3: 'h3',\n * h4: 'h4',\n * h5: 'h5',\n * h6: 'h6',\n * subtitle1: 'h6',\n * subtitle2: 'h6',\n * body1: 'p',\n * body2: 'p',\n * inherit: 'p',\n * }\n */\n variantMapping: PropTypes /* @typescript-to-proptypes-ignore */.object\n} : void 0;\nexport default Typography;","import type { i18n as I18NInstance } from \"i18next\"\nimport i18next from \"i18next\"\nimport LanguageDetector from \"i18next-browser-languagedetector\"\nimport deJSON from \"./locales/de/translations.json\"\nimport enJSON from \"./locales/en/translations.json\"\n\nconst i18n: I18NInstance = i18next.createInstance()\n\ni18n.use(LanguageDetector).init({\n supportedLngs: [\"en\", \"de\"],\n resources: {\n en: {\n translations: enJSON,\n },\n de: {\n translations: deJSON,\n },\n },\n ns: [\"translations\"],\n defaultNS: \"translations\",\n detection: {\n order: [\"navigator\", \"htmlTag\"],\n },\n})\n\nexport { i18n }\n","/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport type { FC } from \"react\"\nimport { I18nextProvider } from \"react-i18next\"\nimport { i18n } from \"./i18n/config\"\n\n/**\n * Our components require a certain context that may or may not\n * be provided by the user application; this wrapper ensures\n * they can be used either way.\n */\nexport function externalizeComponent<T extends React.JSX.ElementType>(\n Component: T,\n): T {\n const WrappedComponent = ((props: T) => (\n <NovaComponentsProvider>\n <Component {...(props as any)} />\n </NovaComponentsProvider>\n )) as any\n\n return WrappedComponent\n}\n\nconst NovaComponentsProvider: FC<{ children: React.ReactNode }> = ({\n children,\n}) => {\n return <I18nextProvider i18n={i18n}>{children}</I18nextProvider>\n}\n","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getChipUtilityClass(slot) {\n return generateUtilityClass('MuiChip', slot);\n}\nconst chipClasses = generateUtilityClasses('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorDefault', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);\nexport default chipClasses;","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nfunction isHostComponent(element) {\n return typeof element === 'string';\n}\nexport default isHostComponent;","import isHostComponent from \"../isHostComponent/index.js\";\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nfunction appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return {\n ...otherProps,\n ownerState: {\n ...otherProps.ownerState,\n ...ownerState\n }\n };\n}\nexport default appendOwnerState;","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nfunction resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}\nexport default resolveComponentProps;","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nfunction extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default extractEventHandlers;","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nfunction omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default omitEventHandlers;","import clsx from 'clsx';\nimport extractEventHandlers from \"../extractEventHandlers/index.js\";\nimport omitEventHandlers from \"../omitEventHandlers/index.js\";\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nfunction mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...additionalProps,\n ...externalForwardedProps,\n ...externalSlotProps\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers({\n ...externalForwardedProps,\n ...externalSlotProps\n });\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps?.className, additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...internalSlotProps?.style,\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...internalSlotProps,\n ...additionalProps,\n ...otherPropsWithoutEventHandlers,\n ...componentsPropsWithoutEventHandlers\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}\nexport default mergeSlotProps;","'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nimport appendOwnerState from '@mui/utils/appendOwnerState';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport mergeSlotProps from '@mui/utils/mergeSlotProps';\n/**\n * An internal function to create a Material UI slot.\n *\n * This is an advanced version of Base UI `useSlotProps` because Material UI allows leaf component to be customized via `component` prop\n * while Base UI does not need to support leaf component customization.\n *\n * @param {string} name: name of the slot\n * @param {object} parameters\n * @returns {[Slot, slotProps]} The slot's React component and the slot's props\n *\n * Note: the returned slot's props\n * - will never contain `component` prop.\n * - might contain `as` prop.\n */\nexport default function useSlot(\n/**\n * The slot's name. All Material UI components should have `root` slot.\n *\n * If the name is `root`, the logic behaves differently from other slots,\n * e.g. the `externalForwardedProps` are spread to `root` slot but not other slots.\n */\nname, parameters) {\n const {\n className,\n elementType: initialElementType,\n ownerState,\n externalForwardedProps,\n internalForwardedProps,\n shouldForwardComponentProp = false,\n ...useSlotPropsParams\n } = parameters;\n const {\n component: rootComponent,\n slots = {\n [name]: undefined\n },\n slotProps = {\n [name]: undefined\n },\n ...other\n } = externalForwardedProps;\n const elementType = slots[name] || initialElementType;\n\n // `slotProps[name]` can be a callback that receives the component's ownerState.\n // `resolvedComponentsProps` is always a plain object.\n const resolvedComponentsProps = resolveComponentProps(slotProps[name], ownerState);\n const {\n props: {\n component: slotComponent,\n ...mergedProps\n },\n internalRef\n } = mergeSlotProps({\n className,\n ...useSlotPropsParams,\n externalForwardedProps: name === 'root' ? other : undefined,\n externalSlotProps: resolvedComponentsProps\n });\n const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.ref);\n const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;\n const props = appendOwnerState(elementType, {\n ...(name === 'root' && !rootComponent && !slots[name] && internalForwardedProps),\n ...(name !== 'root' && !slots[name] && internalForwardedProps),\n ...mergedProps,\n ...(LeafComponent && !shouldForwardComponentProp && {\n as: LeafComponent\n }),\n ...(LeafComponent && shouldForwardComponentProp && {\n component: LeafComponent\n }),\n ref\n }, ownerState);\n return [elementType, props];\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport CancelIcon from \"../internal/svg-icons/Cancel.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport unsupportedProp from \"../utils/unsupportedProp.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport chipClasses, { getChipUtilityClass } from \"./chipClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n size,\n color,\n iconColor,\n onDelete,\n clickable,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant, disabled && 'disabled', `size${capitalize(size)}`, `color${capitalize(color)}`, clickable && 'clickable', clickable && `clickableColor${capitalize(color)}`, onDelete && 'deletable', onDelete && `deletableColor${capitalize(color)}`, `${variant}${capitalize(color)}`],\n label: ['label', `label${capitalize(size)}`],\n avatar: ['avatar', `avatar${capitalize(size)}`, `avatarColor${capitalize(color)}`],\n icon: ['icon', `icon${capitalize(size)}`, `iconColor${capitalize(iconColor)}`],\n deleteIcon: ['deleteIcon', `deleteIcon${capitalize(size)}`, `deleteIconColor${capitalize(color)}`, `deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n };\n return composeClasses(slots, getChipUtilityClass, classes);\n};\nconst ChipRoot = styled('div', {\n name: 'MuiChip',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n color,\n iconColor,\n clickable,\n onDelete,\n size,\n variant\n } = ownerState;\n return [{\n [`& .${chipClasses.avatar}`]: styles.avatar\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatar${capitalize(size)}`]\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatarColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles.icon\n }, {\n [`& .${chipClasses.icon}`]: styles[`icon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles[`iconColor${capitalize(iconColor)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles.deleteIcon\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIconColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n }, styles.root, styles[`size${capitalize(size)}`], styles[`color${capitalize(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${capitalize(color)}`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${capitalize(color)}`], styles[variant], styles[`${variant}${capitalize(color)}`]];\n }\n})(memoTheme(({\n theme\n}) => {\n const textColor = theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300];\n return {\n maxWidth: '100%',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(13),\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 32,\n lineHeight: 1.5,\n color: (theme.vars || theme).palette.text.primary,\n backgroundColor: (theme.vars || theme).palette.action.selected,\n borderRadius: 32 / 2,\n whiteSpace: 'nowrap',\n transition: theme.transitions.create(['background-color', 'box-shadow']),\n // reset cursor explicitly in case ButtonBase is used\n cursor: 'unset',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n textDecoration: 'none',\n border: 0,\n // Remove `button` border\n padding: 0,\n // Remove `button` padding\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n [`&.${chipClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 5,\n marginRight: -6,\n width: 24,\n height: 24,\n color: theme.vars ? theme.vars.palette.Chip.defaultAvatarColor : textColor,\n fontSize: theme.typography.pxToRem(12)\n },\n [`& .${chipClasses.avatarColorPrimary}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.dark\n },\n [`& .${chipClasses.avatarColorSecondary}`]: {\n color: (theme.vars || theme).palette.secondary.contrastText,\n backgroundColor: (theme.vars || theme).palette.secondary.dark\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 4,\n marginRight: -4,\n width: 18,\n height: 18,\n fontSize: theme.typography.pxToRem(10)\n },\n [`& .${chipClasses.icon}`]: {\n marginLeft: 5,\n marginRight: -6\n },\n [`& .${chipClasses.deleteIcon}`]: {\n WebkitTapHighlightColor: 'transparent',\n color: theme.alpha((theme.vars || theme).palette.text.primary, 0.26),\n fontSize: 22,\n cursor: 'pointer',\n margin: '0 5px 0 -6px',\n '&:hover': {\n color: theme.alpha((theme.vars || theme).palette.text.primary, 0.4)\n }\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n height: 24,\n [`& .${chipClasses.icon}`]: {\n fontSize: 18,\n marginLeft: 4,\n marginRight: -4\n },\n [`& .${chipClasses.deleteIcon}`]: {\n fontSize: 16,\n marginRight: 4,\n marginLeft: -4\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['contrastText'])).map(([color]) => {\n return {\n props: {\n color\n },\n style: {\n backgroundColor: (theme.vars || theme).palette[color].main,\n color: (theme.vars || theme).palette[color].contrastText,\n [`& .${chipClasses.deleteIcon}`]: {\n color: theme.alpha((theme.vars || theme).palette[color].contrastText, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[color].contrastText\n }\n }\n }\n };\n }), {\n props: props => props.iconColor === props.color,\n style: {\n [`& .${chipClasses.icon}`]: {\n color: theme.vars ? theme.vars.palette.Chip.defaultIconColor : textColor\n }\n }\n }, {\n props: props => props.iconColor === props.color && props.color !== 'default',\n style: {\n [`& .${chipClasses.icon}`]: {\n color: 'inherit'\n }\n }\n }, {\n props: {\n onDelete: true\n },\n style: {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.alpha((theme.vars || theme).palette.action.selected, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.focusOpacity}`)\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark'])).map(([color]) => {\n return {\n props: {\n color,\n onDelete: true\n },\n style: {\n [`&.${chipClasses.focusVisible}`]: {\n background: (theme.vars || theme).palette[color].dark\n }\n }\n };\n }), {\n props: {\n clickable: true\n },\n style: {\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.alpha((theme.vars || theme).palette.action.selected, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.hoverOpacity}`)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.alpha((theme.vars || theme).palette.action.selected, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.focusOpacity}`)\n },\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[1]\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark'])).map(([color]) => ({\n props: {\n color,\n clickable: true\n },\n style: {\n [`&:hover, &.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[color].dark\n }\n }\n })), {\n props: {\n variant: 'outlined'\n },\n style: {\n backgroundColor: 'transparent',\n border: theme.vars ? `1px solid ${theme.vars.palette.Chip.defaultBorder}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700]}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.icon}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.iconSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.deleteIcon}`]: {\n marginRight: 5\n },\n [`& .${chipClasses.deleteIconSmall}`]: {\n marginRight: 3\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()) // no need to check for mainChannel as it's calculated from main\n .map(([color]) => ({\n props: {\n variant: 'outlined',\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main,\n border: `1px solid ${theme.alpha((theme.vars || theme).palette[color].main, 0.7)}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.focusOpacity)\n },\n [`& .${chipClasses.deleteIcon}`]: {\n color: theme.alpha((theme.vars || theme).palette[color].main, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[color].main\n }\n }\n }\n }))]\n };\n}));\nconst ChipLabel = styled('span', {\n name: 'MuiChip',\n slot: 'Label',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n size\n } = ownerState;\n return [styles.label, styles[`label${capitalize(size)}`]];\n }\n})({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n paddingLeft: 12,\n paddingRight: 12,\n whiteSpace: 'nowrap',\n variants: [{\n props: {\n variant: 'outlined'\n },\n style: {\n paddingLeft: 11,\n paddingRight: 11\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n paddingLeft: 8,\n paddingRight: 8\n }\n }, {\n props: {\n size: 'small',\n variant: 'outlined'\n },\n style: {\n paddingLeft: 7,\n paddingRight: 7\n }\n }]\n});\nfunction isDeleteKeyboardEvent(keyboardEvent) {\n return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';\n}\n\n/**\n * Chips represent complex entities in small blocks, such as a contact.\n */\nconst Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiChip'\n });\n const {\n avatar: avatarProp,\n className,\n clickable: clickableProp,\n color = 'default',\n component: ComponentProp,\n deleteIcon: deleteIconProp,\n disabled = false,\n icon: iconProp,\n label,\n onClick,\n onDelete,\n onKeyDown,\n onKeyUp,\n size = 'medium',\n variant = 'filled',\n tabIndex,\n skipFocusWhenDisabled = false,\n // TODO v6: Rename to `focusableWhenDisabled`.\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const chipRef = React.useRef(null);\n const handleRef = useForkRef(chipRef, ref);\n const handleDeleteIconClick = event => {\n // Stop the event from bubbling up to the `Chip`\n event.stopPropagation();\n if (onDelete) {\n onDelete(event);\n }\n };\n const handleKeyDown = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target && isDeleteKeyboardEvent(event)) {\n // Will be handled in keyUp, otherwise some browsers\n // might init navigation\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleKeyUp = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target) {\n if (onDelete && isDeleteKeyboardEvent(event)) {\n onDelete(event);\n }\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n };\n const clickable = clickableProp !== false && onClick ? true : clickableProp;\n const component = clickable || onDelete ? ButtonBase : ComponentProp || 'div';\n const ownerState = {\n ...props,\n component,\n disabled,\n size,\n color,\n iconColor: /*#__PURE__*/React.isValidElement(iconProp) ? iconProp.props.color || color : color,\n onDelete: !!onDelete,\n clickable,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n const moreProps = component === ButtonBase ? {\n component: ComponentProp || 'div',\n focusVisibleClassName: classes.focusVisible,\n ...(onDelete && {\n disableRipple: true\n })\n } : {};\n let deleteIcon = null;\n if (onDelete) {\n deleteIcon = deleteIconProp && /*#__PURE__*/React.isValidElement(deleteIconProp) ? (/*#__PURE__*/React.cloneElement(deleteIconProp, {\n className: clsx(deleteIconProp.props.className, classes.deleteIcon),\n onClick: handleDeleteIconClick\n })) : /*#__PURE__*/_jsx(CancelIcon, {\n className: classes.deleteIcon,\n onClick: handleDeleteIconClick\n });\n }\n let avatar = null;\n if (avatarProp && /*#__PURE__*/React.isValidElement(avatarProp)) {\n avatar = /*#__PURE__*/React.cloneElement(avatarProp, {\n className: clsx(classes.avatar, avatarProp.props.className)\n });\n }\n let icon = null;\n if (iconProp && /*#__PURE__*/React.isValidElement(iconProp)) {\n icon = /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.icon, iconProp.props.className)\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n if (avatar && icon) {\n console.error('MUI: The Chip component can not handle the avatar ' + 'and the icon prop at the same time. Pick one.');\n }\n }\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: ChipRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n // The `component` prop is preserved because `Chip` relies on it for internal logic. If `shouldForwardComponentProp` were `false`, `useSlot` would remove the `component` prop, potentially breaking the component's behavior.\n shouldForwardComponentProp: true,\n ref: handleRef,\n className: clsx(classes.root, className),\n additionalProps: {\n disabled: clickable && disabled ? true : undefined,\n tabIndex: skipFocusWhenDisabled && disabled ? -1 : tabIndex,\n ...moreProps\n },\n getSlotProps: handlers => ({\n ...handlers,\n onClick: event => {\n handlers.onClick?.(event);\n onClick?.(event);\n },\n onKeyDown: event => {\n handlers.onKeyDown?.(event);\n handleKeyDown(event);\n },\n onKeyUp: event => {\n handlers.onKeyUp?.(event);\n handleKeyUp(event);\n }\n })\n });\n const [LabelSlot, labelProps] = useSlot('label', {\n elementType: ChipLabel,\n externalForwardedProps,\n ownerState,\n className: classes.label\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n as: component,\n ...rootProps,\n children: [avatar || icon, /*#__PURE__*/_jsx(LabelSlot, {\n ...labelProps,\n children: label\n }), deleteIcon]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Chip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Avatar element to display.\n */\n avatar: PropTypes.element,\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the chip will appear clickable, and will raise when pressed,\n * even if the onClick prop is not defined.\n * If `false`, the chip will not appear clickable, even if onClick prop is defined.\n * This can be used, for example,\n * along with the component prop to indicate an anchor Chip is clickable.\n * Note: this controls the UI and does not affect the onClick event.\n */\n clickable: PropTypes.bool,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Override the default delete icon element. Shown only if `onDelete` is set.\n */\n deleteIcon: PropTypes.element,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Icon element.\n */\n icon: PropTypes.element,\n /**\n * The content of the component.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the delete icon is clicked.\n * If set, the delete icon will be shown.\n */\n onDelete: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * If `true`, allows the disabled chip to escape focus.\n * If `false`, allows the disabled chip to receive focus.\n * @default false\n */\n skipFocusWhenDisabled: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n label: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n tabIndex: PropTypes.number,\n /**\n * The variant to use.\n * @default 'filled'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Chip;","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M6 19h4V5H6zm8-14v14h4V5z\"\n}), 'Pause');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M8 5v14l11-7z\"\n}), 'PlayArrow');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M6 6h12v12H6z\"\n}), 'Stop');","import Pause from \"@mui/icons-material/Pause\"\nimport PlayArrow from \"@mui/icons-material/PlayArrow\"\nimport Stop from \"@mui/icons-material/Stop\"\nimport { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Button from \"@mui/material/Button\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\nexport enum ProgramState {\n IDLE = \"idle\",\n PREPARING = \"preparing\",\n STARTING = \"starting\",\n RUNNING = \"running\",\n PAUSING = \"pausing\",\n PAUSED = \"paused\",\n STOPPING = \"stopping\",\n COMPLETED = \"completed\",\n FAILED = \"failed\",\n STOPPED = \"stopped\",\n ERROR = \"error\",\n}\n\nexport interface ProgramControlProps {\n /** The current state of the program control */\n state: ProgramState\n /** Callback fired when the run/resume button is clicked */\n onRun: () => void\n /** Callback fired when the pause button is clicked (only available in 'with_pause' variant) */\n onPause?: () => void\n /** Callback fired when the stop button is clicked */\n onStop: () => void\n /**\n * Function to reset the component from 'stopping' state back to 'idle'.\n * This must be called manually by the user when requiresManualReset is true.\n */\n onReset?: () => void\n /**\n * When true, the component will stay in 'stopping' state until onReset is called manually.\n * When false (default), auto-resets to 'idle' after 2 seconds.\n */\n requiresManualReset?: boolean\n /**\n * Variant of the component:\n * - 'with_pause': Shows run/pause/stop buttons (default)\n * - 'without_pause': Shows only run/stop buttons\n */\n variant?: \"with_pause\" | \"without_pause\"\n /** Additional CSS class name */\n className?: string\n}\n\ninterface ButtonConfig {\n enabled: boolean\n label: string\n color: string\n onClick: () => void\n}\n\n/**\n * A control component for program execution with run, pause, and stop functionality.\n *\n * Features:\n * - State machine with idle, preparing, starting, running, pausing, paused, stopping, completed, failed, stopped, and error states\n * - Two variants: with_pause (3 buttons) and without_pause (2 buttons)\n * - Optional manual reset functionality\n * - Responsive design with 110px circular buttons\n * - Material-UI theming integration\n */\nexport const ProgramControl = externalizeComponent(\n observer(\n ({\n state,\n onRun,\n onPause,\n onStop,\n onReset,\n requiresManualReset = false,\n variant = \"with_pause\",\n className,\n }: ProgramControlProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getButtonConfigs = (): ButtonConfig[] => {\n const baseConfigs: Record<string, ButtonConfig> = {\n run: {\n enabled:\n state === ProgramState.IDLE ||\n state === ProgramState.STOPPED ||\n state === ProgramState.PAUSED ||\n state === ProgramState.COMPLETED ||\n state === ProgramState.FAILED ||\n state === ProgramState.ERROR,\n label:\n state === ProgramState.PAUSED\n ? t(\"ProgramControl.Resume.bt\")\n : state === ProgramState.ERROR || state === ProgramState.FAILED\n ? t(\"ProgramControl.Retry.bt\")\n : t(\"ProgramControl.Start.bt\"),\n color: theme.palette.success.main,\n onClick: onRun,\n },\n pause: {\n enabled: state === ProgramState.RUNNING,\n label: t(\"ProgramControl.Pause.bt\"),\n color: \"#FFFFFF33\",\n onClick: onPause || (() => {}),\n },\n stop: {\n enabled:\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.RUNNING ||\n state === ProgramState.PAUSING ||\n state === ProgramState.PAUSED,\n label: t(\"ProgramControl.Stop.bt\"),\n color: theme.palette.error.main,\n onClick: onStop,\n },\n }\n\n if (variant === \"without_pause\") {\n return [baseConfigs.run, baseConfigs.stop]\n }\n\n return [baseConfigs.run, baseConfigs.pause, baseConfigs.stop]\n }\n\n const getButtonIcon = (index: number) => {\n const iconProps = { sx: { fontSize: \"55px\" } }\n\n if (variant === \"without_pause\") {\n return index === 0 ? (\n <PlayArrow {...iconProps} />\n ) : (\n <Stop {...iconProps} />\n )\n }\n\n switch (index) {\n case 0:\n return <PlayArrow {...iconProps} />\n case 1:\n return <Pause {...iconProps} />\n case 2:\n return <Stop {...iconProps} />\n default:\n return null\n }\n }\n\n const buttonConfigs = getButtonConfigs()\n\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 2,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n gap: \"40px\",\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n {buttonConfigs.map((config, index) => (\n <Box\n key={config.label}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 1,\n }}\n >\n <Button\n variant=\"contained\"\n disabled={\n !config.enabled ||\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.PAUSING ||\n (state === ProgramState.STOPPING && !requiresManualReset)\n }\n onClick={config.onClick}\n sx={{\n width: \"88px\",\n height: \"88px\",\n borderRadius: \"88px\",\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n \"&:hover\": {\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(\n state === ProgramState.STOPPING &&\n !requiresManualReset\n )\n ? 0.8\n : 0.3,\n },\n \"&:disabled\": {\n backgroundColor: config.color,\n opacity: 0.3,\n },\n minWidth: \"88px\",\n flexShrink: 0,\n }}\n >\n {getButtonIcon(index)}\n </Button>\n\n <Typography\n variant=\"body1\"\n sx={{\n color:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? config.color\n : theme.palette.text.disabled,\n textAlign: \"center\",\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n }}\n >\n {config.label}\n </Typography>\n </Box>\n ))}\n </Box>\n </Box>\n )\n },\n ),\n)\n","import { useTheme } from \"@mui/material/styles\"\nimport Chip from \"@mui/material/Chip\"\nimport Typography from \"@mui/material/Typography\"\nimport type { OperationMode, SafetyStateType } from \"@wandelbots/nova-js/v2\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { ProgramState } from \"./ProgramControl\"\n\nexport interface ProgramStateIndicatorProps {\n /** The current state of the program */\n programState: ProgramState\n /** The current safety state of the robot controller */\n safetyState: SafetyStateType\n /** The current operation mode of the robot controller */\n operationMode: OperationMode\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A state indicator component that displays the current program execution state\n * combined with robot controller safety and operation mode states.\n *\n * Features:\n * - Combines program state with safety and operation mode states\n * - Color-coded based on state severity (success, warning, error)\n * - Rendered as Material-UI filled chip\n * - Localization support via react-i18next\n */\nexport const ProgramStateIndicator = externalizeComponent(\n observer(\n ({\n programState,\n safetyState,\n operationMode,\n className,\n }: ProgramStateIndicatorProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getStateInfo = () => {\n // First check for emergency stop or critical safety states\n if (\n safetyState === \"SAFETY_STATE_DEVICE_EMERGENCY_STOP\" ||\n safetyState === \"SAFETY_STATE_ROBOT_EMERGENCY_STOP\" ||\n safetyState === \"SAFETY_STATE_STOP_0\" ||\n safetyState === \"SAFETY_STATE_STOP_1\" ||\n safetyState === \"SAFETY_STATE_STOP_2\" ||\n safetyState === \"SAFETY_STATE_PROTECTIVE_STOP\" ||\n safetyState === \"SAFETY_STATE_STOP\" ||\n safetyState === \"SAFETY_STATE_REDUCED\" ||\n safetyState === \"SAFETY_STATE_MASTERING\" ||\n safetyState === \"SAFETY_STATE_CONFIRM_SAFETY\" ||\n safetyState === \"SAFETY_STATE_OPERATOR_SAFETY\" ||\n safetyState === \"SAFETY_STATE_RECOVERY\" ||\n safetyState === \"SAFETY_STATE_VIOLATION\"\n ) {\n return {\n label: t(\"ProgramStateIndicator.EStop.lb\"),\n color: theme.palette.error.main,\n }\n }\n\n // Check for error states\n if (\n safetyState === \"SAFETY_STATE_UNKNOWN\" ||\n safetyState === \"SAFETY_STATE_FAULT\"\n ) {\n return {\n label: t(\"ProgramStateIndicator.Error.lb\"),\n color: theme.palette.error.main,\n }\n }\n\n // For normal safety states, check program state\n if (safetyState === \"SAFETY_STATE_NORMAL\") {\n switch (programState) {\n case ProgramState.PREPARING:\n return {\n label: t(\"ProgramStateIndicator.Preparing.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.STARTING:\n return {\n label: t(\"ProgramStateIndicator.Starting.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.RUNNING:\n return {\n label: t(\"ProgramStateIndicator.Running.lb\"),\n color: theme.palette.success.main,\n }\n case ProgramState.PAUSING:\n return {\n label: t(\"ProgramStateIndicator.Pausing.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.PAUSED:\n return {\n label: t(\"ProgramStateIndicator.Paused.lb\"),\n color: theme.palette.grey[600],\n }\n case ProgramState.STOPPING:\n return {\n label: t(\"ProgramStateIndicator.Stopping.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.COMPLETED:\n return {\n label: t(\"ProgramStateIndicator.Completed.lb\"),\n color: theme.palette.success.main,\n }\n case ProgramState.FAILED:\n return {\n label: t(\"ProgramStateIndicator.Failed.lb\"),\n color: theme.palette.error.main,\n }\n case ProgramState.STOPPED:\n return {\n label: t(\"ProgramStateIndicator.Stopped.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.ERROR:\n return {\n label: t(\"ProgramStateIndicator.Error.lb\"),\n color: theme.palette.error.main,\n }\n default:\n return {\n label: t(\"ProgramStateIndicator.Ready.lb\"),\n color: theme.palette.success.main,\n }\n }\n }\n\n // Default fallback\n return {\n label: t(\"ProgramStateIndicator.Idle.lb\"),\n color: theme.palette.grey[600],\n }\n }\n\n const { label, color } = getStateInfo()\n\n // Add operation mode suffix if not automatic\n const getOperationModeText = () => {\n switch (operationMode) {\n case \"OPERATION_MODE_AUTO\":\n return t(\"ProgramStateIndicator.Auto.lb\")\n case \"OPERATION_MODE_MANUAL\":\n return t(\"ProgramStateIndicator.Manual.lb\")\n case \"OPERATION_MODE_MANUAL_T1\":\n return t(\"ProgramStateIndicator.ManualT1.lb\")\n case \"OPERATION_MODE_MANUAL_T2\":\n return t(\"ProgramStateIndicator.ManualT2.lb\")\n default:\n return t(\"ProgramStateIndicator.Auto.lb\") // Default to Auto for unknown modes\n }\n }\n\n const fullLabel = `${label} / ${getOperationModeText()}`\n\n return (\n <Chip\n className={className}\n label={\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: \"0.75rem\", // Smaller than body2\n lineHeight: 1.2,\n }}\n >\n {fullLabel}\n </Typography>\n }\n variant=\"filled\"\n sx={{\n backgroundColor: color,\n color: theme.palette.getContrastText(color),\n fontWeight: 500,\n height: \"auto\",\n \"& .MuiChip-label\": {\n paddingX: 1.5,\n paddingY: 0.5,\n },\n }}\n />\n )\n },\n ),\n)\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\n\nvar Event = /** @class */ (function () {\r\n function Event(type, target) {\r\n this.target = target;\r\n this.type = type;\r\n }\r\n return Event;\r\n}());\r\nvar ErrorEvent = /** @class */ (function (_super) {\r\n __extends(ErrorEvent, _super);\r\n function ErrorEvent(error, target) {\r\n var _this = _super.call(this, 'error', target) || this;\r\n _this.message = error.message;\r\n _this.error = error;\r\n return _this;\r\n }\r\n return ErrorEvent;\r\n}(Event));\r\nvar CloseEvent = /** @class */ (function (_super) {\r\n __extends(CloseEvent, _super);\r\n function CloseEvent(code, reason, target) {\r\n if (code === void 0) { code = 1000; }\r\n if (reason === void 0) { reason = ''; }\r\n var _this = _super.call(this, 'close', target) || this;\r\n _this.wasClean = true;\r\n _this.code = code;\r\n _this.reason = reason;\r\n return _this;\r\n }\r\n return CloseEvent;\r\n}(Event));\n\n/*!\r\n * Reconnecting WebSocket\r\n * by Pedro Ladaria <pedro.ladaria@gmail.com>\r\n * https://github.com/pladaria/reconnecting-websocket\r\n * License MIT\r\n */\r\nvar getGlobalWebSocket = function () {\r\n if (typeof WebSocket !== 'undefined') {\r\n // @ts-ignore\r\n return WebSocket;\r\n }\r\n};\r\n/**\r\n * Returns true if given argument looks like a WebSocket class\r\n */\r\nvar isWebSocket = function (w) { return typeof w !== 'undefined' && !!w && w.CLOSING === 2; };\r\nvar DEFAULT = {\r\n maxReconnectionDelay: 10000,\r\n minReconnectionDelay: 1000 + Math.random() * 4000,\r\n minUptime: 5000,\r\n reconnectionDelayGrowFactor: 1.3,\r\n connectionTimeout: 4000,\r\n maxRetries: Infinity,\r\n maxEnqueuedMessages: Infinity,\r\n startClosed: false,\r\n debug: false,\r\n};\r\nvar ReconnectingWebSocket = /** @class */ (function () {\r\n function ReconnectingWebSocket(url, protocols, options) {\r\n var _this = this;\r\n if (options === void 0) { options = {}; }\r\n this._listeners = {\r\n error: [],\r\n message: [],\r\n open: [],\r\n close: [],\r\n };\r\n this._retryCount = -1;\r\n this._shouldReconnect = true;\r\n this._connectLock = false;\r\n this._binaryType = 'blob';\r\n this._closeCalled = false;\r\n this._messageQueue = [];\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED\r\n */\r\n this.onclose = null;\r\n /**\r\n * An event listener to be called when an error occurs\r\n */\r\n this.onerror = null;\r\n /**\r\n * An event listener to be called when a message is received from the server\r\n */\r\n this.onmessage = null;\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN;\r\n * this indicates that the connection is ready to send and receive data\r\n */\r\n this.onopen = null;\r\n this._handleOpen = function (event) {\r\n _this._debug('open event');\r\n var _a = _this._options.minUptime, minUptime = _a === void 0 ? DEFAULT.minUptime : _a;\r\n clearTimeout(_this._connectTimeout);\r\n _this._uptimeTimeout = setTimeout(function () { return _this._acceptOpen(); }, minUptime);\r\n _this._ws.binaryType = _this._binaryType;\r\n // send enqueued messages (messages sent before websocket open event)\r\n _this._messageQueue.forEach(function (message) { return _this._ws.send(message); });\r\n _this._messageQueue = [];\r\n if (_this.onopen) {\r\n _this.onopen(event);\r\n }\r\n _this._listeners.open.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleMessage = function (event) {\r\n _this._debug('message event');\r\n if (_this.onmessage) {\r\n _this.onmessage(event);\r\n }\r\n _this._listeners.message.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleError = function (event) {\r\n _this._debug('error event', event.message);\r\n _this._disconnect(undefined, event.message === 'TIMEOUT' ? 'timeout' : undefined);\r\n if (_this.onerror) {\r\n _this.onerror(event);\r\n }\r\n _this._debug('exec error listeners');\r\n _this._listeners.error.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n _this._connect();\r\n };\r\n this._handleClose = function (event) {\r\n _this._debug('close event');\r\n _this._clearTimeouts();\r\n if (_this._shouldReconnect) {\r\n _this._connect();\r\n }\r\n if (_this.onclose) {\r\n _this.onclose(event);\r\n }\r\n _this._listeners.close.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._url = url;\r\n this._protocols = protocols;\r\n this._options = options;\r\n if (this._options.startClosed) {\r\n this._shouldReconnect = false;\r\n }\r\n this._connect();\r\n }\r\n Object.defineProperty(ReconnectingWebSocket, \"CONNECTING\", {\r\n get: function () {\r\n return 0;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"OPEN\", {\r\n get: function () {\r\n return 1;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSING\", {\r\n get: function () {\r\n return 2;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSED\", {\r\n get: function () {\r\n return 3;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CONNECTING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"OPEN\", {\r\n get: function () {\r\n return ReconnectingWebSocket.OPEN;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSED\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSED;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"binaryType\", {\r\n get: function () {\r\n return this._ws ? this._ws.binaryType : this._binaryType;\r\n },\r\n set: function (value) {\r\n this._binaryType = value;\r\n if (this._ws) {\r\n this._ws.binaryType = value;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"retryCount\", {\r\n /**\r\n * Returns the number or connection retries\r\n */\r\n get: function () {\r\n return Math.max(this._retryCount, 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"bufferedAmount\", {\r\n /**\r\n * The number of bytes of data that have been queued using calls to send() but not yet\r\n * transmitted to the network. This value resets to zero once all queued data has been sent.\r\n * This value does not reset to zero when the connection is closed; if you keep calling send(),\r\n * this will continue to climb. Read only\r\n */\r\n get: function () {\r\n var bytes = this._messageQueue.reduce(function (acc, message) {\r\n if (typeof message === 'string') {\r\n acc += message.length; // not byte size\r\n }\r\n else if (message instanceof Blob) {\r\n acc += message.size;\r\n }\r\n else {\r\n acc += message.byteLength;\r\n }\r\n return acc;\r\n }, 0);\r\n return bytes + (this._ws ? this._ws.bufferedAmount : 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"extensions\", {\r\n /**\r\n * The extensions selected by the server. This is currently only the empty string or a list of\r\n * extensions as negotiated by the connection\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.extensions : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"protocol\", {\r\n /**\r\n * A string indicating the name of the sub-protocol the server selected;\r\n * this will be one of the strings specified in the protocols parameter when creating the\r\n * WebSocket object\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.protocol : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"readyState\", {\r\n /**\r\n * The current state of the connection; this is one of the Ready state constants\r\n */\r\n get: function () {\r\n if (this._ws) {\r\n return this._ws.readyState;\r\n }\r\n return this._options.startClosed\r\n ? ReconnectingWebSocket.CLOSED\r\n : ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"url\", {\r\n /**\r\n * The URL as resolved by the constructor\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.url : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Closes the WebSocket connection or connection attempt, if any. If the connection is already\r\n * CLOSED, this method does nothing\r\n */\r\n ReconnectingWebSocket.prototype.close = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._closeCalled = true;\r\n this._shouldReconnect = false;\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n this._debug('close enqueued: no ws instance');\r\n return;\r\n }\r\n if (this._ws.readyState === this.CLOSED) {\r\n this._debug('close: already closed');\r\n return;\r\n }\r\n this._ws.close(code, reason);\r\n };\r\n /**\r\n * Closes the WebSocket connection or connection attempt and connects again.\r\n * Resets retry counter;\r\n */\r\n ReconnectingWebSocket.prototype.reconnect = function (code, reason) {\r\n this._shouldReconnect = true;\r\n this._closeCalled = false;\r\n this._retryCount = -1;\r\n if (!this._ws || this._ws.readyState === this.CLOSED) {\r\n this._connect();\r\n }\r\n else {\r\n this._disconnect(code, reason);\r\n this._connect();\r\n }\r\n };\r\n /**\r\n * Enqueue specified data to be transmitted to the server over the WebSocket connection\r\n */\r\n ReconnectingWebSocket.prototype.send = function (data) {\r\n if (this._ws && this._ws.readyState === this.OPEN) {\r\n this._debug('send', data);\r\n this._ws.send(data);\r\n }\r\n else {\r\n var _a = this._options.maxEnqueuedMessages, maxEnqueuedMessages = _a === void 0 ? DEFAULT.maxEnqueuedMessages : _a;\r\n if (this._messageQueue.length < maxEnqueuedMessages) {\r\n this._debug('enqueue', data);\r\n this._messageQueue.push(data);\r\n }\r\n }\r\n };\r\n /**\r\n * Register an event handler of a specific event type\r\n */\r\n ReconnectingWebSocket.prototype.addEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type].push(listener);\r\n }\r\n };\r\n ReconnectingWebSocket.prototype.dispatchEvent = function (event) {\r\n var e_1, _a;\r\n var listeners = this._listeners[event.type];\r\n if (listeners) {\r\n try {\r\n for (var listeners_1 = __values(listeners), listeners_1_1 = listeners_1.next(); !listeners_1_1.done; listeners_1_1 = listeners_1.next()) {\r\n var listener = listeners_1_1.value;\r\n this._callEventListener(event, listener);\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (listeners_1_1 && !listeners_1_1.done && (_a = listeners_1.return)) _a.call(listeners_1);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n }\r\n return true;\r\n };\r\n /**\r\n * Removes an event listener\r\n */\r\n ReconnectingWebSocket.prototype.removeEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type] = this._listeners[type].filter(function (l) { return l !== listener; });\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._debug = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (this._options.debug) {\r\n // not using spread because compiled version uses Symbols\r\n // tslint:disable-next-line\r\n console.log.apply(console, __spread(['RWS>'], args));\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._getNextDelay = function () {\r\n var _a = this._options, _b = _a.reconnectionDelayGrowFactor, reconnectionDelayGrowFactor = _b === void 0 ? DEFAULT.reconnectionDelayGrowFactor : _b, _c = _a.minReconnectionDelay, minReconnectionDelay = _c === void 0 ? DEFAULT.minReconnectionDelay : _c, _d = _a.maxReconnectionDelay, maxReconnectionDelay = _d === void 0 ? DEFAULT.maxReconnectionDelay : _d;\r\n var delay = 0;\r\n if (this._retryCount > 0) {\r\n delay =\r\n minReconnectionDelay * Math.pow(reconnectionDelayGrowFactor, this._retryCount - 1);\r\n if (delay > maxReconnectionDelay) {\r\n delay = maxReconnectionDelay;\r\n }\r\n }\r\n this._debug('next delay', delay);\r\n return delay;\r\n };\r\n ReconnectingWebSocket.prototype._wait = function () {\r\n var _this = this;\r\n return new Promise(function (resolve) {\r\n setTimeout(resolve, _this._getNextDelay());\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._getNextUrl = function (urlProvider) {\r\n if (typeof urlProvider === 'string') {\r\n return Promise.resolve(urlProvider);\r\n }\r\n if (typeof urlProvider === 'function') {\r\n var url = urlProvider();\r\n if (typeof url === 'string') {\r\n return Promise.resolve(url);\r\n }\r\n if (!!url.then) {\r\n return url;\r\n }\r\n }\r\n throw Error('Invalid URL');\r\n };\r\n ReconnectingWebSocket.prototype._connect = function () {\r\n var _this = this;\r\n if (this._connectLock || !this._shouldReconnect) {\r\n return;\r\n }\r\n this._connectLock = true;\r\n var _a = this._options, _b = _a.maxRetries, maxRetries = _b === void 0 ? DEFAULT.maxRetries : _b, _c = _a.connectionTimeout, connectionTimeout = _c === void 0 ? DEFAULT.connectionTimeout : _c, _d = _a.WebSocket, WebSocket = _d === void 0 ? getGlobalWebSocket() : _d;\r\n if (this._retryCount >= maxRetries) {\r\n this._debug('max retries reached', this._retryCount, '>=', maxRetries);\r\n return;\r\n }\r\n this._retryCount++;\r\n this._debug('connect', this._retryCount);\r\n this._removeListeners();\r\n if (!isWebSocket(WebSocket)) {\r\n throw Error('No valid WebSocket class provided');\r\n }\r\n this._wait()\r\n .then(function () { return _this._getNextUrl(_this._url); })\r\n .then(function (url) {\r\n // close could be called before creating the ws\r\n if (_this._closeCalled) {\r\n return;\r\n }\r\n _this._debug('connect', { url: url, protocols: _this._protocols });\r\n _this._ws = _this._protocols\r\n ? new WebSocket(url, _this._protocols)\r\n : new WebSocket(url);\r\n _this._ws.binaryType = _this._binaryType;\r\n _this._connectLock = false;\r\n _this._addListeners();\r\n _this._connectTimeout = setTimeout(function () { return _this._handleTimeout(); }, connectionTimeout);\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._handleTimeout = function () {\r\n this._debug('timeout event');\r\n this._handleError(new ErrorEvent(Error('TIMEOUT'), this));\r\n };\r\n ReconnectingWebSocket.prototype._disconnect = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._removeListeners();\r\n try {\r\n this._ws.close(code, reason);\r\n this._handleClose(new CloseEvent(code, reason, this));\r\n }\r\n catch (error) {\r\n // ignore\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._acceptOpen = function () {\r\n this._debug('accept open');\r\n this._retryCount = 0;\r\n };\r\n ReconnectingWebSocket.prototype._callEventListener = function (event, listener) {\r\n if ('handleEvent' in listener) {\r\n // @ts-ignore\r\n listener.handleEvent(event);\r\n }\r\n else {\r\n // @ts-ignore\r\n listener(event);\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._removeListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('removeListeners');\r\n this._ws.removeEventListener('open', this._handleOpen);\r\n this._ws.removeEventListener('close', this._handleClose);\r\n this._ws.removeEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.removeEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._addListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('addListeners');\r\n this._ws.addEventListener('open', this._handleOpen);\r\n this._ws.addEventListener('close', this._handleClose);\r\n this._ws.addEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.addEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._clearTimeouts = function () {\r\n clearTimeout(this._connectTimeout);\r\n clearTimeout(this._uptimeTimeout);\r\n };\r\n return ReconnectingWebSocket;\r\n}());\n\nexport default ReconnectingWebSocket;\n","import ReconnectingWebSocket from \"reconnecting-websocket\";\n//#region src/lib/AutoReconnectingWebsocket.ts\nvar AutoReconnectingWebsocket = class extends ReconnectingWebSocket {\n\tconstructor(targetUrl, opts = {}) {\n\t\tconsole.log(\"Opening websocket to\", targetUrl);\n\t\tsuper(() => this.targetUrl || targetUrl, void 0, { startClosed: true });\n\t\tthis.opts = opts;\n\t\tthis.disposed = false;\n\t\tObject.defineProperty(this, \"url\", { get() {\n\t\t\treturn this.targetUrl;\n\t\t} });\n\t\tthis.targetUrl = targetUrl;\n\t\tthis.addEventListener(\"open\", () => {\n\t\t\tconsole.log(`Websocket to ${this.url} opened`);\n\t\t});\n\t\tthis.addEventListener(\"message\", (ev) => {\n\t\t\tif (!this.receivedFirstMessage) this.receivedFirstMessage = ev;\n\t\t});\n\t\tthis.addEventListener(\"close\", () => {\n\t\t\tconsole.log(`Websocket to ${this.url} closed`);\n\t\t});\n\t\tconst origReconnect = this.reconnect;\n\t\tthis.reconnect = () => {\n\t\t\tif (this.opts.mock) this.opts.mock.handleWebsocketConnection(this);\n\t\t\telse origReconnect.apply(this);\n\t\t};\n\t\tthis.reconnect();\n\t}\n\tchangeUrl(targetUrl) {\n\t\tthis.receivedFirstMessage = void 0;\n\t\tthis.targetUrl = targetUrl;\n\t\tthis.reconnect();\n\t}\n\tsendJson(data) {\n\t\tif (this.opts.mock) this.opts.mock.handleWebsocketMessage(this, JSON.stringify(data));\n\t\telse this.send(JSON.stringify(data));\n\t}\n\t/**\n\t* Permanently close this websocket and indicate that\n\t* this object should not be used again.\n\t**/\n\tdispose() {\n\t\tthis.close();\n\t\tthis.disposed = true;\n\t\tif (this.opts.onDispose) this.opts.onDispose();\n\t}\n\t/**\n\t* Returns a promise that resolves once the websocket\n\t* is in the OPEN state. */\n\tasync opened() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (this.readyState === WebSocket.OPEN) resolve();\n\t\t\telse {\n\t\t\t\tthis.addEventListener(\"open\", () => resolve());\n\t\t\t\tthis.addEventListener(\"error\", reject);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Returns a promise that resolves once the websocket\n\t* is in the CLOSED state. */\n\tasync closed() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (this.readyState === WebSocket.CLOSED) resolve();\n\t\t\telse {\n\t\t\t\tthis.addEventListener(\"close\", () => resolve());\n\t\t\t\tthis.addEventListener(\"error\", reject);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Returns a promise that resolves when the first message\n\t* is received from the websocket. Resolves immediately if\n\t* the first message has already been received.\n\t*/\n\tasync firstMessage() {\n\t\tif (this.receivedFirstMessage) return this.receivedFirstMessage;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onMessage = (ev) => {\n\t\t\t\tthis.receivedFirstMessage = ev;\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\tresolve(ev);\n\t\t\t};\n\t\t\tconst onError = (ev) => {\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\treject(ev);\n\t\t\t};\n\t\t\tthis.addEventListener(\"message\", onMessage);\n\t\t\tthis.addEventListener(\"error\", onError);\n\t\t});\n\t}\n\t/**\n\t* Returns a promise that resolves when the next message\n\t* is received from the websocket.\n\t*/\n\tasync nextMessage() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onMessage = (ev) => {\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\tresolve(ev);\n\t\t\t};\n\t\t\tconst onError = (ev) => {\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\treject(ev);\n\t\t\t};\n\t\t\tthis.addEventListener(\"message\", onMessage);\n\t\t\tthis.addEventListener(\"error\", onError);\n\t\t});\n\t}\n};\n//#endregion\n//#region src/lib/availableStorage.ts\n/**\n* Safety wrapper around browser localStorage providing context availability\n* checks and JSON parsing\n*/\nvar AvailableStorage = class {\n\tconstructor() {\n\t\tthis.available = typeof window !== \"undefined\" && !!window.localStorage;\n\t}\n\tgetJSON(key) {\n\t\tif (!this.available) return null;\n\t\tconst result = window.localStorage.getItem(key);\n\t\tif (result === null) return null;\n\t\ttry {\n\t\t\treturn JSON.parse(result);\n\t\t} catch (err) {\n\t\t\treturn null;\n\t\t}\n\t}\n\tsetJSON(key, obj) {\n\t\tif (!this.available) return null;\n\t\twindow.localStorage.setItem(key, JSON.stringify(obj));\n\t}\n\tdelete(key) {\n\t\tif (!this.available) return null;\n\t\twindow.localStorage.removeItem(key);\n\t}\n\tsetString(key, value) {\n\t\tif (!this.available) return null;\n\t\twindow.localStorage.setItem(key, value);\n\t}\n\tgetString(key) {\n\t\tif (!this.available) return null;\n\t\treturn window.localStorage.getItem(key);\n\t}\n};\nconst availableStorage = new AvailableStorage();\n//#endregion\n//#region src/lib/converters.ts\n/**\n* Parse a string as a URL, with options to enforce or default the scheme.\n*/\nfunction parseUrl(url, options = {}) {\n\tconst { scheme, defaultScheme } = options;\n\tconst schemeRegex = /^[a-zA-Z]+:\\/\\//;\n\tif (scheme) {\n\t\turl = url.replace(schemeRegex, \"\");\n\t\turl = `${scheme}://${url}`;\n\t} else if (defaultScheme && !schemeRegex.test(url)) url = `${defaultScheme}://${url}`;\n\treturn new URL(url);\n}\n/**\n* Attempt to parse a string as a URL; return undefined if we can't\n*/\nfunction tryParseUrl(url, options = {}) {\n\ttry {\n\t\treturn parseUrl(url, options);\n\t} catch {\n\t\treturn;\n\t}\n}\n/**\n* Permissively parse a NOVA instance URL from a config variable.\n* If scheme is not specified, defaults to https for *.wandelbots.io hosts,\n* and http otherwise.\n* Throws an error if a valid URL could not be determined.\n*/\nfunction parseNovaInstanceUrl(url) {\n\tif (tryParseUrl(url, { defaultScheme: \"http\" })?.host.endsWith(\".wandelbots.io\")) return parseUrl(url, { defaultScheme: \"https\" });\n\telse return parseUrl(url, { defaultScheme: \"http\" });\n}\n/** Try to parse something as JSON; return undefined if we can't */\nfunction tryParseJson(json) {\n\ttry {\n\t\treturn JSON.parse(json);\n\t} catch {\n\t\treturn;\n\t}\n}\n/** Try to turn something into JSON; return undefined if we can't */\nfunction tryStringifyJson(json) {\n\ttry {\n\t\treturn JSON.stringify(json);\n\t} catch {\n\t\treturn;\n\t}\n}\n/**\n* Converts object parameters to query string.\n* e.g. { a: \"1\", b: \"2\" } => \"?a=1&b=2\"\n* {} => \"\"\n*/\nfunction makeUrlQueryString(obj) {\n\tconst str = new URLSearchParams(obj).toString();\n\treturn str ? `?${str}` : \"\";\n}\n/** Convert radians to degrees */\nfunction radiansToDegrees(radians) {\n\treturn radians * (180 / Math.PI);\n}\n/** Convert degrees to radians */\nfunction degreesToRadians(degrees) {\n\treturn degrees * (Math.PI / 180);\n}\n/**\n* Check for coordinate system id equivalence, accounting for the \"world\" default\n* on empty/undefined values.\n*/\nfunction isSameCoordinateSystem(firstCoordSystem, secondCoordSystem) {\n\tif (!firstCoordSystem) firstCoordSystem = \"world\";\n\tif (!secondCoordSystem) secondCoordSystem = \"world\";\n\treturn firstCoordSystem === secondCoordSystem;\n}\n/**\n* Helpful const for converting {x, y, z} to [x, y, z] and vice versa\n*/\nconst XYZ_TO_VECTOR = {\n\tx: 0,\n\ty: 1,\n\tz: 2\n};\n//#endregion\n//#region src/LoginWithAuth0.ts\n/**\n* Mapping of stages to Auth0 configurations.\n* The client ids are public identifiers for a specific auth0 application\n* and are safe to include in client-side code.\n* https://auth0.com/docs/get-started/applications/application-settings\n*/\nconst auth0ConfigMap = {\n\tdev: {\n\t\tdomain: `https://auth.portal.dev.wandelbots.io`,\n\t\tclientId: \"fLbJD0RLp5r2Dpucm5j8BjwMR6Hunfha\"\n\t},\n\tstg: {\n\t\tdomain: `https://auth.portal.stg.wandelbots.io`,\n\t\tclientId: \"joVDeD9e786WzFNSGCqoVq7HNkWt5j6s\"\n\t},\n\tprod: {\n\t\tdomain: `https://auth.portal.wandelbots.io`,\n\t\tclientId: \"J7WJUi38xVQdJAEBNRT9Xw1b0fXDb4J2\"\n\t}\n};\n/** Determine which Auth0 configuration to use based on instance URL */\nconst getAuth0Config = (instanceUrl) => {\n\tif (instanceUrl.host.endsWith(\".dev.wandelbots.io\")) return auth0ConfigMap.dev;\n\tif (instanceUrl.host.endsWith(\".stg.wandelbots.io\")) return auth0ConfigMap.stg;\n\tif (instanceUrl.host.endsWith(\".wandelbots.io\")) return auth0ConfigMap.prod;\n\tthrow new Error(`Unable to authenticate with NOVA instance \"${instanceUrl}\". Auth0 login is only supported for cloud instances with hosts of the form \"**.wandelbots.io\".`);\n};\n/**\n* Initializes Auth0 login process using redirect if necessary and retrieves an access token.\n* Returns null when an access token should not be needed to authenticate (i.e. cookie auth\n* when deployed on the instance domain)\n*/\nconst loginWithAuth0 = async (instanceUrl) => {\n\tif (typeof window === \"undefined\") throw new Error(`Access token must be set to use NovaClient when not in a browser environment.`);\n\tif (instanceUrl.origin === window.location.origin) {\n\t\twindow.location.reload();\n\t\tthrow new Error(\"Failed to reload page to get auth details, please refresh manually\");\n\t}\n\tconst { Auth0Client } = await import(\"@auth0/auth0-spa-js\");\n\tconst auth0Config = getAuth0Config(instanceUrl);\n\tconst auth0Client = new Auth0Client({\n\t\tdomain: auth0Config.domain,\n\t\tclientId: auth0Config.clientId ?? \"\",\n\t\tuseRefreshTokens: false,\n\t\tauthorizationParams: {\n\t\t\taudience: \"nova-api\",\n\t\t\tredirect_uri: window.location.origin\n\t\t}\n\t});\n\tif (window.location.search.includes(\"code=\") && window.location.search.includes(\"state=\")) {\n\t\tconst { appState } = await auth0Client.handleRedirectCallback();\n\t\twindow.history.replaceState({}, document.title, appState?.returnTo || window.location.pathname);\n\t} else await auth0Client.loginWithRedirect();\n\treturn await auth0Client.getTokenSilently();\n};\n//#endregion\nexport { isSameCoordinateSystem as a, parseUrl as c, tryParseUrl as d, tryStringifyJson as f, degreesToRadians as i, radiansToDegrees as l, AutoReconnectingWebsocket as m, loginWithAuth0 as n, makeUrlQueryString as o, availableStorage as p, XYZ_TO_VECTOR as r, parseNovaInstanceUrl as s, getAuth0Config as t, tryParseJson as u };\n\n//# sourceMappingURL=LoginWithAuth0-CEUVGw1-.mjs.map","function normalize (strArray) {\n var resultArray = [];\n if (strArray.length === 0) { return ''; }\n\n if (typeof strArray[0] !== 'string') {\n throw new TypeError('Url must be a string. Received ' + strArray[0]);\n }\n\n // If the first part is a plain protocol, we combine it with the next part.\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n\n // There must be two or three slashes in the file protocol, two slashes in anything else.\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n }\n\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n\n if (typeof component !== 'string') {\n throw new TypeError('Url must be a string. Received ' + component);\n }\n\n if (component === '') { continue; }\n\n if (i > 0) {\n // Removing the starting slashes for each component but the first.\n component = component.replace(/^[\\/]+/, '');\n }\n if (i < strArray.length - 1) {\n // Removing the ending slashes for each component but the last.\n component = component.replace(/[\\/]+$/, '');\n } else {\n // For the last component we will combine multiple slashes to a single one.\n component = component.replace(/[\\/]+$/, '/');\n }\n\n resultArray.push(component);\n\n }\n\n var str = resultArray.join('/');\n // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n var parts = str.split('?');\n str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n return str;\n}\n\nexport default function urlJoin() {\n var input;\n\n if (typeof arguments[0] === 'object') {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n\n return normalize(input);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathError = exports.TokenData = void 0;\nexports.parse = parse;\nexports.compile = compile;\nexports.match = match;\nexports.pathToRegexp = pathToRegexp;\nexports.stringify = stringify;\nconst DEFAULT_DELIMITER = \"/\";\nconst NOOP_VALUE = (value) => value;\nconst ID_START = /^[$_\\p{ID_Start}]$/u;\nconst ID_CONTINUE = /^[$\\u200c\\u200d\\p{ID_Continue}]$/u;\nconst ID = /^[$_\\p{ID_Start}][$\\u200c\\u200d\\p{ID_Continue}]*$/u;\n/**\n * Escape text for stringify to path.\n */\nfunction escapeText(str) {\n return str.replace(/[{}()\\[\\]+?!:*\\\\]/g, \"\\\\$&\");\n}\n/**\n * Escape a regular expression string.\n */\nfunction escape(str) {\n return str.replace(/[.+*?^${}()[\\]|/\\\\]/g, \"\\\\$&\");\n}\n/**\n * Tokenized path instance.\n */\nclass TokenData {\n constructor(tokens, originalPath) {\n this.tokens = tokens;\n this.originalPath = originalPath;\n }\n}\nexports.TokenData = TokenData;\n/**\n * ParseError is thrown when there is an error processing the path.\n */\nclass PathError extends TypeError {\n constructor(message, originalPath) {\n let text = message;\n if (originalPath)\n text += `: ${originalPath}`;\n text += `; visit https://git.new/pathToRegexpError for info`;\n super(text);\n this.originalPath = originalPath;\n }\n}\nexports.PathError = PathError;\n/**\n * Parse a string for the raw tokens.\n */\nfunction parse(str, options = {}) {\n const { encodePath = NOOP_VALUE } = options;\n const chars = [...str];\n let index = 0;\n function consumeUntil(end) {\n const output = [];\n let path = \"\";\n function writePath() {\n if (!path)\n return;\n output.push({\n type: \"text\",\n value: encodePath(path),\n });\n path = \"\";\n }\n while (index < chars.length) {\n const value = chars[index++];\n if (value === end) {\n writePath();\n return output;\n }\n if (value === \"\\\\\") {\n if (index === chars.length) {\n throw new PathError(`Unexpected end after \\\\ at index ${index}`, str);\n }\n path += chars[index++];\n continue;\n }\n if (value === \":\" || value === \"*\") {\n const type = value === \":\" ? \"param\" : \"wildcard\";\n let name = \"\";\n if (ID_START.test(chars[index])) {\n do {\n name += chars[index++];\n } while (ID_CONTINUE.test(chars[index]));\n }\n else if (chars[index] === '\"') {\n let quoteStart = index;\n while (index < chars.length) {\n if (chars[++index] === '\"') {\n index++;\n quoteStart = 0;\n break;\n }\n // Increment over escape characters.\n if (chars[index] === \"\\\\\")\n index++;\n name += chars[index];\n }\n if (quoteStart) {\n throw new PathError(`Unterminated quote at index ${quoteStart}`, str);\n }\n }\n if (!name) {\n throw new PathError(`Missing parameter name at index ${index}`, str);\n }\n writePath();\n output.push({ type, name });\n continue;\n }\n if (value === \"{\") {\n writePath();\n output.push({\n type: \"group\",\n tokens: consumeUntil(\"}\"),\n });\n continue;\n }\n if (value === \"}\" ||\n value === \"(\" ||\n value === \")\" ||\n value === \"[\" ||\n value === \"]\" ||\n value === \"+\" ||\n value === \"?\" ||\n value === \"!\") {\n throw new PathError(`Unexpected ${value} at index ${index - 1}`, str);\n }\n path += value;\n }\n if (end) {\n throw new PathError(`Unexpected end at index ${index}, expected ${end}`, str);\n }\n writePath();\n return output;\n }\n return new TokenData(consumeUntil(\"\"), str);\n}\n/**\n * Compile a string to a template function for the path.\n */\nfunction compile(path, options = {}) {\n const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const data = typeof path === \"object\" ? path : parse(path, options);\n const fn = tokensToFunction(data.tokens, delimiter, encode);\n return function path(params = {}) {\n const missing = [];\n const path = fn(params, missing);\n if (missing.length) {\n throw new TypeError(`Missing parameters: ${missing.join(\", \")}`);\n }\n return path;\n };\n}\nfunction tokensToFunction(tokens, delimiter, encode) {\n const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode));\n return (data, missing) => {\n let result = \"\";\n for (const encoder of encoders) {\n result += encoder(data, missing);\n }\n return result;\n };\n}\n/**\n * Convert a single token into a path building function.\n */\nfunction tokenToFunction(token, delimiter, encode) {\n if (token.type === \"text\")\n return () => token.value;\n if (token.type === \"group\") {\n const fn = tokensToFunction(token.tokens, delimiter, encode);\n return (data, missing) => {\n const len = missing.length;\n const value = fn(data, missing);\n if (missing.length === len)\n return value;\n missing.length = len; // Reset optional group.\n return \"\";\n };\n }\n const encodeValue = encode || NOOP_VALUE;\n if (token.type === \"wildcard\" && encode !== false) {\n return (data, missing) => {\n const value = data[token.name];\n if (value == null) {\n missing.push(token.name);\n return \"\";\n }\n if (!Array.isArray(value) || value.length === 0) {\n throw new TypeError(`Expected \"${token.name}\" to be a non-empty array`);\n }\n let result = \"\";\n for (let i = 0; i < value.length; i++) {\n if (typeof value[i] !== \"string\") {\n throw new TypeError(`Expected \"${token.name}/${i}\" to be a string`);\n }\n if (i > 0)\n result += delimiter;\n result += encodeValue(value[i]);\n }\n return result;\n };\n }\n return (data, missing) => {\n const value = data[token.name];\n if (value == null) {\n missing.push(token.name);\n return \"\";\n }\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}\" to be a string`);\n }\n return encodeValue(value);\n };\n}\n/**\n * Transform a path into a match function.\n */\nfunction match(path, options = {}) {\n const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const { regexp, keys } = pathToRegexp(path, options);\n const decoders = keys.map((key) => {\n if (decode === false)\n return NOOP_VALUE;\n if (key.type === \"param\")\n return decode;\n return (value) => value.split(delimiter).map(decode);\n });\n return function match(input) {\n const m = regexp.exec(input);\n if (!m)\n return false;\n const path = m[0];\n const params = Object.create(null);\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined)\n continue;\n const key = keys[i - 1];\n const decoder = decoders[i - 1];\n params[key.name] = decoder(m[i]);\n }\n return { path, params };\n };\n}\n/**\n * Transform a path into a regular expression and capture keys.\n */\nfunction pathToRegexp(path, options = {}) {\n const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true, } = options;\n const keys = [];\n let source = \"\";\n let combinations = 0;\n function process(path) {\n if (Array.isArray(path)) {\n for (const p of path)\n process(p);\n return;\n }\n const data = typeof path === \"object\" ? path : parse(path, options);\n flatten(data.tokens, 0, [], (tokens) => {\n if (combinations >= 256) {\n throw new PathError(\"Too many path combinations\", data.originalPath);\n }\n if (combinations > 0)\n source += \"|\";\n source += toRegExpSource(tokens, delimiter, keys, data.originalPath);\n combinations++;\n });\n }\n process(path);\n let pattern = `^(?:${source})`;\n if (trailing)\n pattern += \"(?:\" + escape(delimiter) + \"$)?\";\n pattern += end ? \"$\" : \"(?=\" + escape(delimiter) + \"|$)\";\n return { regexp: new RegExp(pattern, sensitive ? \"\" : \"i\"), keys };\n}\n/**\n * Generate a flat list of sequence tokens from the given tokens.\n */\nfunction flatten(tokens, index, result, callback) {\n while (index < tokens.length) {\n const token = tokens[index++];\n if (token.type === \"group\") {\n const len = result.length;\n flatten(token.tokens, 0, result, (seq) => flatten(tokens, index, seq, callback));\n result.length = len;\n continue;\n }\n result.push(token);\n }\n callback(result);\n}\n/**\n * Transform a flat sequence of tokens into a regular expression.\n */\nfunction toRegExpSource(tokens, delimiter, keys, originalPath) {\n let result = \"\";\n let backtrack = \"\";\n let wildcardBacktrack = \"\";\n let prevCaptureType = 0;\n let hasSegmentCapture = 0;\n let index = 0;\n function hasInSegment(index, type) {\n while (index < tokens.length) {\n const token = tokens[index++];\n if (token.type === type)\n return true;\n if (token.type === \"text\") {\n if (token.value.includes(delimiter))\n break;\n }\n }\n return false;\n }\n function peekText(index) {\n let result = \"\";\n while (index < tokens.length) {\n const token = tokens[index++];\n if (token.type !== \"text\")\n break;\n result += token.value;\n }\n return result;\n }\n while (index < tokens.length) {\n const token = tokens[index++];\n if (token.type === \"text\") {\n result += escape(token.value);\n backtrack += token.value;\n if (prevCaptureType === 2)\n wildcardBacktrack += token.value;\n if (token.value.includes(delimiter))\n hasSegmentCapture = 0;\n continue;\n }\n if (token.type === \"param\" || token.type === \"wildcard\") {\n if (prevCaptureType && !backtrack) {\n throw new PathError(`Missing text before \"${token.name}\" ${token.type}`, originalPath);\n }\n if (token.type === \"param\") {\n result +=\n hasSegmentCapture & 2 // Seen wildcard in segment.\n ? `(${negate(delimiter, backtrack)}+)`\n : hasInSegment(index, \"wildcard\") // See wildcard later in segment.\n ? `(${negate(delimiter, peekText(index))}+)`\n : hasSegmentCapture & 1 // Seen parameter in segment.\n ? `(${negate(delimiter, backtrack)}+|${escape(backtrack)})`\n : `(${negate(delimiter, \"\")}+)`;\n hasSegmentCapture |= prevCaptureType = 1;\n }\n else {\n result +=\n hasSegmentCapture & 2 // Seen wildcard in segment.\n ? `(${negate(backtrack, \"\")}+)`\n : wildcardBacktrack // No capture in segment, seen wildcard in path.\n ? `(${negate(wildcardBacktrack, \"\")}+|${negate(delimiter, \"\")}+)`\n : `([^]+)`;\n wildcardBacktrack = \"\";\n hasSegmentCapture |= prevCaptureType = 2;\n }\n keys.push(token);\n backtrack = \"\";\n continue;\n }\n throw new TypeError(`Unknown token type: ${token.type}`);\n }\n return result;\n}\n/**\n * Block backtracking on previous text/delimiter.\n */\nfunction negate(a, b) {\n if (b.length > a.length)\n return negate(b, a); // Longest string first.\n if (a === b)\n b = \"\"; // Cleaner regex strings, no duplication.\n if (b.length > 1)\n return `(?:(?!${escape(a)}|${escape(b)})[^])`;\n if (a.length > 1)\n return `(?:(?!${escape(a)})[^${escape(b)}])`;\n return `[^${escape(a + b)}]`;\n}\n/**\n * Stringify an array of tokens into a path string.\n */\nfunction stringifyTokens(tokens, index) {\n let value = \"\";\n while (index < tokens.length) {\n const token = tokens[index++];\n if (token.type === \"text\") {\n value += escapeText(token.value);\n continue;\n }\n if (token.type === \"group\") {\n value += \"{\" + stringifyTokens(token.tokens, 0) + \"}\";\n continue;\n }\n if (token.type === \"param\") {\n value += \":\" + stringifyName(token.name, tokens[index]);\n continue;\n }\n if (token.type === \"wildcard\") {\n value += \"*\" + stringifyName(token.name, tokens[index]);\n continue;\n }\n throw new TypeError(`Unknown token type: ${token.type}`);\n }\n return value;\n}\n/**\n * Stringify token data into a path string.\n */\nfunction stringify(data) {\n return stringifyTokens(data.tokens, 0);\n}\n/**\n * Stringify a parameter name, escaping when it cannot be emitted directly.\n */\nfunction stringifyName(name, next) {\n if (!ID.test(name))\n return JSON.stringify(name);\n if ((next === null || next === void 0 ? void 0 : next.type) === \"text\" && ID_CONTINUE.test(next.value[0])) {\n return JSON.stringify(name);\n }\n return name;\n}\n//# sourceMappingURL=index.js.map","//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/typeof.js\nfunction _typeof(o) {\n\t\"@babel/helpers - typeof\";\n\treturn _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\treturn typeof o$1;\n\t} : function(o$1) {\n\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t}, _typeof(o);\n}\n\n//#endregion\n//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/toPrimitive.js\nfunction toPrimitive(t, r) {\n\tif (\"object\" != _typeof(t) || !t) return t;\n\tvar e = t[Symbol.toPrimitive];\n\tif (void 0 !== e) {\n\t\tvar i = e.call(t, r || \"default\");\n\t\tif (\"object\" != _typeof(i)) return i;\n\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t}\n\treturn (\"string\" === r ? String : Number)(t);\n}\n\n//#endregion\n//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/toPropertyKey.js\nfunction toPropertyKey(t) {\n\tvar i = toPrimitive(t, \"string\");\n\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n}\n\n//#endregion\n//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/defineProperty.js\nfunction _defineProperty(e, r, t) {\n\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\tvalue: t,\n\t\tenumerable: !0,\n\t\tconfigurable: !0,\n\t\twritable: !0\n\t}) : e[r] = t, e;\n}\n\n//#endregion\nexport { _defineProperty };","import { _defineProperty } from \"../defineProperty-CQ_RnIQg.js\";\nimport globalAxios from \"axios\";\n\n//#region v2/base.ts\nconst BASE_PATH = \"/api/v2\".replace(/\\/+$/, \"\");\nconst COLLECTION_FORMATS = {\n\tcsv: \",\",\n\tssv: \" \",\n\ttsv: \"\t\",\n\tpipes: \"|\"\n};\nvar BaseAPI = class {\n\tconstructor(configuration, basePath = BASE_PATH, axios = globalAxios) {\n\t\tthis.basePath = basePath;\n\t\tthis.axios = axios;\n\t\t_defineProperty(this, \"configuration\", void 0);\n\t\tif (configuration) {\n\t\t\tthis.configuration = configuration;\n\t\t\tthis.basePath = configuration.basePath ?? basePath;\n\t\t}\n\t}\n};\nvar RequiredError = class extends Error {\n\tconstructor(field, msg) {\n\t\tsuper(msg);\n\t\tthis.field = field;\n\t\tthis.name = \"RequiredError\";\n\t}\n};\nconst operationServerMap = {};\n\n//#endregion\n//#region v2/common.ts\nconst DUMMY_BASE_URL = \"https://example.com\";\n/**\n*\n* @throws {RequiredError}\n*/\nconst assertParamExists = function(functionName, paramName, paramValue) {\n\tif (paramValue === null || paramValue === void 0) throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n};\nconst setBearerAuthToObject = async function(object, configuration) {\n\tif (configuration && configuration.accessToken) object[\"Authorization\"] = \"Bearer \" + (typeof configuration.accessToken === \"function\" ? await configuration.accessToken() : await configuration.accessToken);\n};\nfunction setFlattenedQueryParams(urlSearchParams, parameter, key = \"\") {\n\tif (parameter == null) return;\n\tif (typeof parameter === \"object\") if (Array.isArray(parameter)) parameter.forEach((item) => setFlattenedQueryParams(urlSearchParams, item, key));\n\telse Object.keys(parameter).forEach((currentKey) => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== \"\" ? \".\" : \"\"}${currentKey}`));\n\telse if (urlSearchParams.has(key)) urlSearchParams.append(key, parameter);\n\telse urlSearchParams.set(key, parameter);\n}\nconst setSearchParams = function(url, ...objects) {\n\tconst searchParams = new URLSearchParams(url.search);\n\tsetFlattenedQueryParams(searchParams, objects);\n\turl.search = searchParams.toString();\n};\nconst serializeDataIfNeeded = function(value, requestOptions, configuration) {\n\tconst nonString = typeof value !== \"string\";\n\treturn (nonString && configuration && configuration.isJsonMime ? configuration.isJsonMime(requestOptions.headers[\"Content-Type\"]) : nonString) ? JSON.stringify(value !== void 0 ? value : {}) : value || \"\";\n};\nconst toPathString = function(url) {\n\treturn url.pathname + url.search + url.hash;\n};\nconst createRequestFunction = function(axiosArgs, globalAxios$1, BASE_PATH$1, configuration) {\n\treturn (axios = globalAxios$1, basePath = BASE_PATH$1) => {\n\t\tconst axiosRequestArgs = {\n\t\t\t...axiosArgs.options,\n\t\t\turl: (axios.defaults.baseURL ? \"\" : configuration?.basePath ?? basePath) + axiosArgs.url\n\t\t};\n\t\treturn axios.request(axiosRequestArgs);\n\t};\n};\n\n//#endregion\n//#region v2/api.ts\nconst AbbControllerKindEnum = { AbbController: \"AbbController\" };\n/**\n* ## BEHAVIOR_AUTOMATIC This is the default behavior. The motion groups of the controller take commanded joint configuration as actual joint state. Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the virtual robot will act like a physical one, e.g., with a cycle time of 8ms to respond to a new joint state command. ## BEHAVIOR_AUTOMATIC_NOT_COMPLY_WITH_CYCLETIME Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the robot will respond as fast as possible, limited only by software execution speed. Because of that, the execution of a movement requires less time than with BEHAVIOR_AUTOMATIC. ## BEHAVIOR_EXTERNAL_SOURCE The external client is the only source of actual joint state changes. This mode is used to enable third party software indicating the current joint state via [externalJointsStream](#/operations/externalJointsStream). \n*/\nconst Behavior = {\n\tBehaviorAutomatic: \"BEHAVIOR_AUTOMATIC\",\n\tBehaviorAutomaticNotComplyWithCycletime: \"BEHAVIOR_AUTOMATIC_NOT_COMPLY_WITH_CYCLETIME\",\n\tBehaviorExternalSource: \"BEHAVIOR_EXTERNAL_SOURCE\"\n};\nconst BlendingAutoBlendingNameEnum = { BlendingAuto: \"BlendingAuto\" };\nconst BlendingPositionBlendingNameEnum = { BlendingPosition: \"BlendingPosition\" };\n/**\n* Defines the space in which blending is performed. - `JOINT`: Zone blending is performed in joint space - `CARTESIAN`: Auto-blending is performed in cartesian space \n*/\nconst BlendingSpace = {\n\tJoint: \"JOINT\",\n\tCartesian: \"CARTESIAN\"\n};\nconst BooleanValueValueTypeEnum = { Boolean: \"boolean\" };\nconst BoxShapeTypeEnum = { Box: \"box\" };\nconst BoxBoxTypeEnum = {\n\tHollow: \"HOLLOW\",\n\tFull: \"FULL\"\n};\nconst BusIOModbusClientBusTypeEnum = { ModbusClient: \"modbus_client\" };\nconst BusIOModbusServerBusTypeEnum = { ModbusServer: \"modbus_server\" };\nconst BusIOModbusTCPClientNetworkTypeEnum = { Tcp: \"tcp\" };\nconst BusIOModbusTCPServerNetworkTypeEnum = { Tcp: \"tcp\" };\nconst BusIOModbusVirtualBusTypeEnum = { ModbusVirtual: \"modbus_virtual\" };\nconst BusIOProfinetBusTypeEnum = { Profinet: \"profinet\" };\nconst BusIOProfinetVirtualBusTypeEnum = { ProfinetVirtual: \"profinet_virtual\" };\n/**\n* Current state of the BUS input/output service. \n*/\nconst BusIOsStateEnum = {\n\tBusIosStateUnknown: \"BUS_IOS_STATE_UNKNOWN\",\n\tBusIosStateInitializing: \"BUS_IOS_STATE_INITIALIZING\",\n\tBusIosStateConnected: \"BUS_IOS_STATE_CONNECTED\",\n\tBusIosStateDisconnected: \"BUS_IOS_STATE_DISCONNECTED\"\n};\nconst CapsuleShapeTypeEnum = { Capsule: \"capsule\" };\nconst CloudConfigStatusConfiguredStatusEnum = { Configured: \"configured\" };\nconst CloudConfigStatusNotConfiguredStatusEnum = { NotConfigured: \"not_configured\" };\nconst CloudConnectionErrorInvalidTokenCodeEnum = { InvalidCloudToken: \"invalid_cloud_token\" };\nconst CloudConnectionErrorLeafnodeConnectionErrorCodeEnum = { LeafnodeConnectionError: \"leafnode_connection_error\" };\nconst CloudConnectionErrorLeafnodeConnectionTimeoutCodeEnum = { LeafnodeConnectionTimeout: \"leafnode_connection_timeout\" };\nconst CloudConnectionErrorLeafnodeRestartTimeoutCodeEnum = { LeafnodeRestartTimeout: \"leafnode_restart_timeout\" };\nconst CloudConnectionErrorNatsFailedCodeEnum = { NatsConnectionFailed: \"nats_connection_failed\" };\nconst CloudConnectionErrorUnexpectedResponseCodeEnum = { UnexpectedCloudResponse: \"unexpected_cloud_response\" };\nconst CloudDisconnectionStatusDisconnectedStatusEnum = { Disconnected: \"disconnected\" };\nconst CloudDisconnectionStatusDisconnectingStatusEnum = { Disconnecting: \"disconnecting\" };\nconst CollisionErrorKindEnum = { CollisionError: \"CollisionError\" };\n/**\n* Comparator for the comparison of two values. The comparator is used to compare two values and return a boolean result. The default comparator is unknown. \n*/\nconst Comparator = {\n\tComparatorEquals: \"COMPARATOR_EQUALS\",\n\tComparatorNotEquals: \"COMPARATOR_NOT_EQUALS\",\n\tComparatorGreater: \"COMPARATOR_GREATER\",\n\tComparatorGreaterEqual: \"COMPARATOR_GREATER_EQUAL\",\n\tComparatorLess: \"COMPARATOR_LESS\",\n\tComparatorLessEqual: \"COMPARATOR_LESS_EQUAL\"\n};\nconst ConfigurationArchiveStatusCreatingStatusEnum = { Creating: \"creating\" };\nconst ConfigurationArchiveStatusErrorStatusEnum = { Error: \"error\" };\nconst ConfigurationArchiveStatusSuccessStatusEnum = { Success: \"success\" };\nconst ConvexHullShapeTypeEnum = { ConvexHull: \"convex_hull\" };\nconst CylinderShapeTypeEnum = { Cylinder: \"cylinder\" };\n/**\n* The direction in which the trajectory is executed. Default: Forward. \n*/\nconst Direction = {\n\tDirectionForward: \"DIRECTION_FORWARD\",\n\tDirectionBackward: \"DIRECTION_BACKWARD\"\n};\nconst DirectionConstraintConstraintNameEnum = { DirectionConstraint: \"DirectionConstraint\" };\nconst ErrorDirectionConstraintNotMetErrorFeedbackNameEnum = { ErrorDirectionConstraintNotMet: \"ErrorDirectionConstraintNotMet\" };\nconst ErrorDirectionConstraintNotNormalizedErrorFeedbackNameEnum = { ErrorDirectionConstraintNotNormalized: \"ErrorDirectionConstraintNotNormalized\" };\nconst ErrorInvalidJointCountErrorFeedbackNameEnum = { ErrorInvalidJointCount: \"ErrorInvalidJointCount\" };\nconst ErrorJointLimitExceededErrorFeedbackNameEnum = { ErrorJointLimitExceeded: \"ErrorJointLimitExceeded\" };\nconst ErrorJointPositionCollisionErrorFeedbackNameEnum = { ErrorJointPositionCollision: \"ErrorJointPositionCollision\" };\nconst ErrorMaxIterationsExceededErrorFeedbackNameEnum = { ErrorMaxIterationsExceeded: \"ErrorMaxIterationsExceeded\" };\nconst ErrorUnsupportedOperationErrorFeedbackNameEnum = { ErrorUnsupportedOperation: \"ErrorUnsupportedOperation\" };\nconst FanucControllerKindEnum = { FanucController: \"FanucController\" };\nconst FeedbackCollisionErrorFeedbackNameEnum = { FeedbackCollision: \"FeedbackCollision\" };\nconst FeedbackCommandsMissingErrorFeedbackNameEnum = { FeedbackCommandsMissing: \"FeedbackCommandsMissing\" };\nconst FeedbackCubicSplineIsNotIncreasingErrorFeedbackNameEnum = { FeedbackCubicSplineIsNotIncreasing: \"FeedbackCubicSplineIsNotIncreasing\" };\nconst FeedbackCubicSplineNotAtStartPoseErrorFeedbackNameEnum = { FeedbackCubicSplineNotAtStartPose: \"FeedbackCubicSplineNotAtStartPose\" };\nconst FeedbackDirectionConstraintNoSolutionExistsErrorFeedbackNameEnum = { FeedbackDirectionConstraintNoSolutionExists: \"FeedbackDirectionConstraintNoSolutionExists\" };\nconst FeedbackDirectionConstraintNotMetErrorFeedbackNameEnum = { FeedbackDirectionConstraintNotMet: \"FeedbackDirectionConstraintNotMet\" };\nconst FeedbackDirectionConstraintNotNormalizedErrorFeedbackNameEnum = { FeedbackDirectionConstraintNotNormalized: \"FeedbackDirectionConstraintNotNormalized\" };\nconst FeedbackInvalidDofErrorFeedbackNameEnum = { FeedbackInvalidDof: \"FeedbackInvalidDof\" };\nconst FeedbackInvalidNanValueErrorFeedbackNameEnum = { FeedbackInvalidNanValue: \"FeedbackInvalidNanValue\" };\nconst FeedbackInvalidSamplingTimeErrorFeedbackNameEnum = { FeedbackInvalidSamplingTime: \"FeedbackInvalidSamplingTime\" };\nconst FeedbackJointLimitExceededErrorFeedbackNameEnum = { FeedbackJointLimitExceeded: \"FeedbackJointLimitExceeded\" };\nconst FeedbackNoSolutionInCurrentConfigurationErrorFeedbackNameEnum = { FeedbackNoSolutionInCurrentConfiguration: \"FeedbackNoSolutionInCurrentConfiguration\" };\nconst FeedbackOutOfWorkspaceErrorFeedbackNameEnum = { FeedbackOutOfWorkspace: \"FeedbackOutOfWorkspace\" };\nconst FeedbackSingularityErrorFeedbackNameEnum = { FeedbackSingularity: \"FeedbackSingularity\" };\nconst FeedbackStartJointsMissingErrorFeedbackNameEnum = { FeedbackStartJointsMissing: \"FeedbackStartJointsMissing\" };\nconst FeedbackTorqueExceededErrorFeedbackNameEnum = { FeedbackTorqueExceeded: \"FeedbackTorqueExceeded\" };\nconst FloatValueValueTypeEnum = { Float: \"float\" };\nconst IOBooleanValueValueTypeEnum = { Boolean: \"boolean\" };\n/**\n* Identifies the input/output type.\n*/\nconst IODirection = {\n\tIoTypeInput: \"IO_TYPE_INPUT\",\n\tIoTypeOutput: \"IO_TYPE_OUTPUT\"\n};\nconst IOFloatValueValueTypeEnum = { Float: \"float\" };\nconst IOIntegerValueValueTypeEnum = { Integer: \"integer\" };\n/**\n* States the source of the input/output signal. \n*/\nconst IOOrigin = {\n\tController: \"CONTROLLER\",\n\tBusIo: \"BUS_IO\"\n};\n/**\n* Data type of the input/output.\n*/\nconst IOValueType = {\n\tIoValueBoolean: \"IO_VALUE_BOOLEAN\",\n\tIoValueAnalogFloat: \"IO_VALUE_ANALOG_FLOAT\",\n\tIoValueAnalogInteger: \"IO_VALUE_ANALOG_INTEGER\"\n};\nconst InconsistentTrajectorySizeErrorKindEnum = { InconsistentTrajectorySizeError: \"InconsistentTrajectorySizeError\" };\nconst InitializeJoggingRequestMessageTypeEnum = { InitializeJoggingRequest: \"InitializeJoggingRequest\" };\nconst InitializeJoggingResponseKindEnum = { InitializeReceived: \"INITIALIZE_RECEIVED\" };\nconst InitializeMovementRequestMessageTypeEnum = { InitializeMovementRequest: \"InitializeMovementRequest\" };\nconst InitializeMovementResponseKindEnum = { InitializeReceived: \"INITIALIZE_RECEIVED\" };\nconst IntegerValueValueTypeEnum = { Integer: \"integer\" };\nconst InvalidDofErrorKindEnum = { InvalidDofError: \"InvalidDofError\" };\nconst JoggingDetailsKindEnum = { Jogging: \"JOGGING\" };\nconst JoggingPausedByUserKindEnum = { PausedByUser: \"PAUSED_BY_USER\" };\nconst JoggingPausedNearCollisionKindEnum = { PausedNearCollision: \"PAUSED_NEAR_COLLISION\" };\nconst JoggingPausedNearJointLimitKindEnum = { PausedNearJointLimit: \"PAUSED_NEAR_JOINT_LIMIT\" };\nconst JoggingPausedNearSingularityKindEnum = { PausedNearSingularity: \"PAUSED_NEAR_SINGULARITY\" };\nconst JoggingPausedOnIOKindEnum = { PausedOnIo: \"PAUSED_ON_IO\" };\nconst JoggingRunningKindEnum = { Running: \"RUNNING\" };\nconst JointLimitExceededErrorKindEnum = { JointLimitExceededError: \"JointLimitExceededError\" };\nconst JointTypeEnum = {\n\tRevoluteJoint: \"REVOLUTE_JOINT\",\n\tPrismaticJoint: \"PRISMATIC_JOINT\"\n};\nconst JointVelocityRequestMessageTypeEnum = { JointVelocityRequest: \"JointVelocityRequest\" };\nconst JointVelocityResponseKindEnum = { JointVelocityReceived: \"JOINT_VELOCITY_RECEIVED\" };\nconst KukaControllerKindEnum = { KukaController: \"KukaController\" };\nconst LicenseStatusEnum = {\n\tOk: \"OK\",\n\tExpired: \"EXPIRED\",\n\tSuspended: \"SUSPENDED\",\n\tGracePeriodOver: \"GRACE_PERIOD_OVER\",\n\tNotFound: \"NOT_FOUND\"\n};\nconst Manufacturer = {\n\tAbb: \"abb\",\n\tFanuc: \"fanuc\",\n\tKuka: \"kuka\",\n\tUniversalrobots: \"universalrobots\",\n\tYaskawa: \"yaskawa\"\n};\nconst MidpointInsertionAlgorithmAlgorithmNameEnum = { MidpointInsertionAlgorithm: \"MidpointInsertionAlgorithm\" };\n/**\n* Area of the MODBUS input/output variable. Is used to interpret the corresponding bits correctly. \n*/\nconst ModbusIOArea = {\n\tModbusIoAreaUnknown: \"MODBUS_IO_AREA_UNKNOWN\",\n\tModbusIoAreaCoils: \"MODBUS_IO_AREA_COILS\",\n\tModbusIoAreaDiscreteInputs: \"MODBUS_IO_AREA_DISCRETE_INPUTS\",\n\tModbusIoAreaHoldingRegisters: \"MODBUS_IO_AREA_HOLDING_REGISTERS\",\n\tModbusIoAreaInputRegisters: \"MODBUS_IO_AREA_INPUT_REGISTERS\"\n};\n/**\n* Byte order of the MODBUS input/output variable. Used to interpret the corresponding bits correctly. \n*/\nconst ModbusIOByteOrder = {\n\tModbusIoByteOrderUnknown: \"MODBUS_IO_BYTE_ORDER_UNKNOWN\",\n\tModbusIoByteOrderAbcd: \"MODBUS_IO_BYTE_ORDER_ABCD\",\n\tModbusIoByteOrderBadc: \"MODBUS_IO_BYTE_ORDER_BADC\",\n\tModbusIoByteOrderCdab: \"MODBUS_IO_BYTE_ORDER_CDAB\",\n\tModbusIoByteOrderDcba: \"MODBUS_IO_BYTE_ORDER_DCBA\"\n};\n/**\n* Value type of the MODBUS input/output variable. Used to interpret the corresponding bits correctly. \n*/\nconst ModbusIOTypeEnum = {\n\tModbusIoTypeUnknown: \"MODBUS_IO_TYPE_UNKNOWN\",\n\tModbusIoTypeBool: \"MODBUS_IO_TYPE_BOOL\",\n\tModbusIoTypeUint16: \"MODBUS_IO_TYPE_UINT16\",\n\tModbusIoTypeFloat32: \"MODBUS_IO_TYPE_FLOAT32\"\n};\nconst MovementErrorResponseKindEnum = { MotionError: \"MOTION_ERROR\" };\nconst NanValueErrorKindEnum = { NanValueError: \"NanValueError\" };\nconst NetworkStateConnectionTypeEnum = {\n\tEthernet: \"ethernet\",\n\tWifi: \"wifi\",\n\tCellular: \"cellular\",\n\tVpn: \"vpn\",\n\tUnknown: \"unknown\"\n};\n/**\n* The operating state.\n*/\nconst OperatingState = {\n\tActive: \"ACTIVE\",\n\tInactive: \"INACTIVE\"\n};\n/**\n* Current operation mode of the configured robot controller. Operation modes in which the attached motion groups can be moved are: - OPERATION_MODE_MANUAL (if enabling switch is pressed) - OPERATION_MODE_MANUAL_T1 (if enabling switch is pressed) - OPERATION_MODE_MANUAL_T2 (if enabling switch is pressed) - OPERATION_MODE_AUTO (without needing to press enabling switch) All other modes are considered as non-operational. \n*/\nconst OperationMode = {\n\tOperationModeUnknown: \"OPERATION_MODE_UNKNOWN\",\n\tOperationModeNoController: \"OPERATION_MODE_NO_CONTROLLER\",\n\tOperationModeDisconnected: \"OPERATION_MODE_DISCONNECTED\",\n\tOperationModePowerOn: \"OPERATION_MODE_POWER_ON\",\n\tOperationModePending: \"OPERATION_MODE_PENDING\",\n\tOperationModeManual: \"OPERATION_MODE_MANUAL\",\n\tOperationModeManualT1: \"OPERATION_MODE_MANUAL_T1\",\n\tOperationModeManualT2: \"OPERATION_MODE_MANUAL_T2\",\n\tOperationModeAuto: \"OPERATION_MODE_AUTO\",\n\tOperationModeRecovery: \"OPERATION_MODE_RECOVERY\"\n};\n/**\n* The type of rotation description that is used to specify the orientation. **Rotation Vector notation** * The rotation is represented using an axis-angle representation: > axis = Vector[0:2] > angle = |axis| in [rad] > axis.normalized * angle **Quaternion notation** * The rotation is represented using a unit quaternion: [x, y, z, w]. * The vector part [x, y, z] is the imaginary part of the quaternion, and the scalar part [w] is the real part. **Euler notation** * *extrinsic* fixed external reference system * *intrinsic* reference system fixed to rotation body > angles = Vector[0:2] in [rad]. * ZYX, ZXZ,... - mapping of the given angles values to the (either intrinsic or extrinsic) axes in the stated order. > Example ZYX: Z = Vector[0], Y = Vector[1], X = Vector[2]. \n*/\nconst OrientationType = {\n\tRotationVector: \"ROTATION_VECTOR\",\n\tQuaternion: \"QUATERNION\",\n\tEulerAnglesIntrinsicZxz: \"EULER_ANGLES_INTRINSIC_ZXZ\",\n\tEulerAnglesIntrinsicXyx: \"EULER_ANGLES_INTRINSIC_XYX\",\n\tEulerAnglesIntrinsicYzy: \"EULER_ANGLES_INTRINSIC_YZY\",\n\tEulerAnglesIntrinsicZyz: \"EULER_ANGLES_INTRINSIC_ZYZ\",\n\tEulerAnglesIntrinsicXzx: \"EULER_ANGLES_INTRINSIC_XZX\",\n\tEulerAnglesIntrinsicYxy: \"EULER_ANGLES_INTRINSIC_YXY\",\n\tEulerAnglesIntrinsicXyz: \"EULER_ANGLES_INTRINSIC_XYZ\",\n\tEulerAnglesIntrinsicYzx: \"EULER_ANGLES_INTRINSIC_YZX\",\n\tEulerAnglesIntrinsicZxy: \"EULER_ANGLES_INTRINSIC_ZXY\",\n\tEulerAnglesIntrinsicXzy: \"EULER_ANGLES_INTRINSIC_XZY\",\n\tEulerAnglesIntrinsicZyx: \"EULER_ANGLES_INTRINSIC_ZYX\",\n\tEulerAnglesIntrinsicYxz: \"EULER_ANGLES_INTRINSIC_YXZ\",\n\tEulerAnglesExtrinsicZxz: \"EULER_ANGLES_EXTRINSIC_ZXZ\",\n\tEulerAnglesExtrinsicXyx: \"EULER_ANGLES_EXTRINSIC_XYX\",\n\tEulerAnglesExtrinsicYzy: \"EULER_ANGLES_EXTRINSIC_YZY\",\n\tEulerAnglesExtrinsicZyz: \"EULER_ANGLES_EXTRINSIC_ZYZ\",\n\tEulerAnglesExtrinsicXzx: \"EULER_ANGLES_EXTRINSIC_XZX\",\n\tEulerAnglesExtrinsicYxy: \"EULER_ANGLES_EXTRINSIC_YXY\",\n\tEulerAnglesExtrinsicZyx: \"EULER_ANGLES_EXTRINSIC_ZYX\",\n\tEulerAnglesExtrinsicXzy: \"EULER_ANGLES_EXTRINSIC_XZY\",\n\tEulerAnglesExtrinsicYxz: \"EULER_ANGLES_EXTRINSIC_YXZ\",\n\tEulerAnglesExtrinsicYzx: \"EULER_ANGLES_EXTRINSIC_YZX\",\n\tEulerAnglesExtrinsicXyz: \"EULER_ANGLES_EXTRINSIC_XYZ\",\n\tEulerAnglesExtrinsicZxy: \"EULER_ANGLES_EXTRINSIC_ZXY\"\n};\nconst PathCartesianPTPPathDefinitionNameEnum = { PathCartesianPtp: \"PathCartesianPTP\" };\nconst PathCirclePathDefinitionNameEnum = { PathCircle: \"PathCircle\" };\nconst PathCubicSplinePathDefinitionNameEnum = { PathCubicSpline: \"PathCubicSpline\" };\nconst PathDirectionConstrainedCartesianPTPPathDefinitionNameEnum = { DirectionConstrainedCartesianPtp: \"DirectionConstrainedCartesianPTP\" };\nconst PathDirectionConstrainedJointPTPPathDefinitionNameEnum = { DirectionConstrainedJointPtp: \"DirectionConstrainedJointPTP\" };\nconst PathJointPTPPathDefinitionNameEnum = { PathJointPtp: \"PathJointPTP\" };\nconst PathLinePathDefinitionNameEnum = { PathLine: \"PathLine\" };\nconst PauseJoggingRequestMessageTypeEnum = { PauseJoggingRequest: \"PauseJoggingRequest\" };\nconst PauseJoggingResponseKindEnum = { PauseReceived: \"PAUSE_RECEIVED\" };\nconst PauseMovementRequestMessageTypeEnum = { PauseMovementRequest: \"PauseMovementRequest\" };\nconst PauseMovementResponseKindEnum = { PauseReceived: \"PAUSE_RECEIVED\" };\nconst PlaneShapeTypeEnum = { Plane: \"plane\" };\nconst PlaybackSpeedRequestMessageTypeEnum = { PlaybackSpeedRequest: \"PlaybackSpeedRequest\" };\nconst PlaybackSpeedResponseKindEnum = { PlaybackSpeedReceived: \"PLAYBACK_SPEED_RECEIVED\" };\n/**\n* The direction of the input/output variable, indicating whether it is an input or output for the PROFINET device, e.g., NOVA\\'s PROFINET service.\n*/\nconst ProfinetIODirection = {\n\tProfinetIoDirectionInput: \"PROFINET_IO_DIRECTION_INPUT\",\n\tProfinetIoDirectionOutput: \"PROFINET_IO_DIRECTION_OUTPUT\",\n\tProfinetIoDirectionInout: \"PROFINET_IO_DIRECTION_INOUT\"\n};\n/**\n* Value type of the PROFINET input/output variable. Is used to interpret the corresponding bits correctly. \n*/\nconst ProfinetIOTypeEnum = {\n\tProfinetIoTypeUnknown: \"PROFINET_IO_TYPE_UNKNOWN\",\n\tProfinetIoTypeBool: \"PROFINET_IO_TYPE_BOOL\",\n\tProfinetIoTypeUsint: \"PROFINET_IO_TYPE_USINT\",\n\tProfinetIoTypeSint: \"PROFINET_IO_TYPE_SINT\",\n\tProfinetIoTypeUint: \"PROFINET_IO_TYPE_UINT\",\n\tProfinetIoTypeInt: \"PROFINET_IO_TYPE_INT\",\n\tProfinetIoTypeUdint: \"PROFINET_IO_TYPE_UDINT\",\n\tProfinetIoTypeDint: \"PROFINET_IO_TYPE_DINT\",\n\tProfinetIoTypeReal: \"PROFINET_IO_TYPE_REAL\",\n\tProfinetIoTypeLreal: \"PROFINET_IO_TYPE_LREAL\"\n};\n/**\n* The state of a program run.\n*/\nconst ProgramRunState = {\n\tPreparing: \"PREPARING\",\n\tRunning: \"RUNNING\",\n\tCompleted: \"COMPLETED\",\n\tFailed: \"FAILED\",\n\tStopped: \"STOPPED\"\n};\nconst RRTConnectAlgorithmAlgorithmNameEnum = { RrtConnectAlgorithm: \"RRTConnectAlgorithm\" };\nconst RectangleShapeTypeEnum = { Rectangle: \"rectangle\" };\nconst RectangularCapsuleShapeTypeEnum = { RectangularCapsule: \"rectangular_capsule\" };\n/**\n* The channel that defines what a new Wandelbots NOVA version is. * `next` the latest version * `stable` newest patch of the current version \n*/\nconst ReleaseChannel = {\n\tStable: \"stable\",\n\tNext: \"next\"\n};\n/**\n* Defines the current system mode of the robot system, including NOVA communicating with the robot controller. ### MODE_CONTROLLER_NOT_CONFIGURED No controller with the specified identifier is configured. Call [addRobotController](#/operations/addRobotController) to register a controller. ### MODE_INITIALIZING Indicates that a connection to the robot controller is established or reestablished in case of a disconnect. On success, the controller is set to MODE_MONITOR. On failure, the initialization process is retried until successful or cancelled by the user. ### MODE_MONITOR Read-only mode with an active controller connection. - Receives robot state and I/O signals - Move requests are rejected - No commands are sent to the controller ### MODE_CONTROL Active control mode. **Movement is possible in this mode** The robot is cyclically commanded to hold its current position. The robot state is received in sync with the controller cycle. Motion and jogging requests are accepted and executed. Input/Output interaction is enabled. ### MODE_FREE_DRIVE Read-only mode with servo motors enabled for manual movement (Free Drive). Move requests are rejected. Not supported by all robots: Use [getSupportedModes](#/operations/getSupportedModes) to check Free Drive availability. \n*/\nconst RobotSystemMode = {\n\tModeControllerNotConfigured: \"MODE_CONTROLLER_NOT_CONFIGURED\",\n\tModeInitializing: \"MODE_INITIALIZING\",\n\tModeMonitor: \"MODE_MONITOR\",\n\tModeControl: \"MODE_CONTROL\",\n\tModeFreeDrive: \"MODE_FREE_DRIVE\"\n};\n/**\n* Current safety state of the configured robot controller. Operation modes in which the attached motion groups can be moved are: - SAFETY_STATE_NORMAL - SAFETY_STATE_REDUCED All other modes are considered as non-operational. \n*/\nconst SafetyStateType = {\n\tSafetyStateUnknown: \"SAFETY_STATE_UNKNOWN\",\n\tSafetyStateFault: \"SAFETY_STATE_FAULT\",\n\tSafetyStateNormal: \"SAFETY_STATE_NORMAL\",\n\tSafetyStateMastering: \"SAFETY_STATE_MASTERING\",\n\tSafetyStateConfirmSafety: \"SAFETY_STATE_CONFIRM_SAFETY\",\n\tSafetyStateOperatorSafety: \"SAFETY_STATE_OPERATOR_SAFETY\",\n\tSafetyStateProtectiveStop: \"SAFETY_STATE_PROTECTIVE_STOP\",\n\tSafetyStateReduced: \"SAFETY_STATE_REDUCED\",\n\tSafetyStateStop: \"SAFETY_STATE_STOP\",\n\tSafetyStateStop0: \"SAFETY_STATE_STOP_0\",\n\tSafetyStateStop1: \"SAFETY_STATE_STOP_1\",\n\tSafetyStateStop2: \"SAFETY_STATE_STOP_2\",\n\tSafetyStateRecovery: \"SAFETY_STATE_RECOVERY\",\n\tSafetyStateDeviceEmergencyStop: \"SAFETY_STATE_DEVICE_EMERGENCY_STOP\",\n\tSafetyStateRobotEmergencyStop: \"SAFETY_STATE_ROBOT_EMERGENCY_STOP\",\n\tSafetyStateViolation: \"SAFETY_STATE_VIOLATION\"\n};\nconst ServiceGroup = {\n\tSystemService: \"SystemService\",\n\tCellService: \"CellService\",\n\tRobotController: \"RobotController\",\n\tApp: \"App\"\n};\nconst ServiceStatusPhase = {\n\tTerminating: \"Terminating\",\n\tInitialized: \"Initialized\",\n\tRunning: \"Running\",\n\tNoReady: \"NoReady\",\n\tCompleted: \"Completed\",\n\tContainerCreating: \"ContainerCreating\",\n\tPodInitializing: \"PodInitializing\",\n\tUnknown: \"Unknown\",\n\tCrashLoopBackOff: \"CrashLoopBackOff\",\n\tError: \"Error\",\n\tImagePullBackOff: \"ImagePullBackOff\",\n\tOomKilled: \"OOMKilled\",\n\tPending: \"Pending\",\n\tEvicted: \"Evicted\"\n};\nconst ServiceStatusSeverity = {\n\tInfo: \"INFO\",\n\tWarning: \"WARNING\",\n\tError: \"ERROR\"\n};\n/**\n* Defines available system modes of the robot system. Short versions (no \\\"ROBOT_SYSTEM_\\\" prefix) are provided, reusing strings from [getMode](#/operations/getMode) responses. \n*/\nconst SettableRobotSystemMode = {\n\tRobotSystemModeMonitor: \"ROBOT_SYSTEM_MODE_MONITOR\",\n\tModeMonitor: \"MODE_MONITOR\",\n\tRobotSystemModeControl: \"ROBOT_SYSTEM_MODE_CONTROL\",\n\tModeControl: \"MODE_CONTROL\"\n};\nconst SingularityTypeEnum = {\n\tWrist: \"WRIST\",\n\tElbow: \"ELBOW\",\n\tShoulder: \"SHOULDER\"\n};\nconst SphereShapeTypeEnum = { Sphere: \"sphere\" };\nconst StartMovementRequestMessageTypeEnum = { StartMovementRequest: \"StartMovementRequest\" };\nconst StartMovementResponseKindEnum = { StartReceived: \"START_RECEIVED\" };\nconst TcpRequiredErrorKindEnum = { TcpRequiredError: \"TcpRequiredError\" };\nconst TcpVelocityRequestMessageTypeEnum = { TcpVelocityRequest: \"TcpVelocityRequest\" };\nconst TcpVelocityResponseKindEnum = { TcpVelocityReceived: \"TCP_VELOCITY_RECEIVED\" };\nconst TorqueExceededErrorKindEnum = { TorqueExceededError: \"TorqueExceededError\" };\nconst TrajectoryDataMessageTypeEnum = { TrajectoryData: \"TrajectoryData\" };\nconst TrajectoryDetailsKindEnum = { Trajectory: \"TRAJECTORY\" };\nconst TrajectoryEndedKindEnum = { EndOfTrajectory: \"END_OF_TRAJECTORY\" };\nconst TrajectoryIdMessageTypeEnum = { TrajectoryId: \"TrajectoryId\" };\nconst TrajectoryPausedByUserKindEnum = { PausedByUser: \"PAUSED_BY_USER\" };\nconst TrajectoryPausedOnIOKindEnum = { PausedOnIo: \"PAUSED_ON_IO\" };\nconst TrajectoryRunningKindEnum = { Running: \"RUNNING\" };\nconst TrajectoryWaitForIOKindEnum = { WaitForIo: \"WAIT_FOR_IO\" };\n/**\n* The unit of input/output value.\n*/\nconst UnitType = {\n\tUnitNone: \"UNIT_NONE\",\n\tUnitKilogram: \"UNIT_KILOGRAM\",\n\tUnitAmpere: \"UNIT_AMPERE\",\n\tUnitKelvin: \"UNIT_KELVIN\",\n\tUnitHertz: \"UNIT_HERTZ\",\n\tUnitNewton: \"UNIT_NEWTON\",\n\tUnitVolt: \"UNIT_VOLT\",\n\tUnitCelsius: \"UNIT_CELSIUS\",\n\tUnitNewtonMeter: \"UNIT_NEWTON_METER\",\n\tUnitMeter: \"UNIT_METER\"\n};\nconst UniversalrobotsControllerKindEnum = { UniversalrobotsController: \"UniversalrobotsController\" };\nconst VirtualControllerKindEnum = { VirtualController: \"VirtualController\" };\nconst YaskawaControllerKindEnum = { YaskawaController: \"YaskawaController\" };\nconst ZodValidationErrorErrorCodeEnum = { ValidationError: \"validation_error\" };\n/**\n* ApplicationApi - axios parameter creator\n*/\nconst ApplicationApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddApp: async (cell, app, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"addApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"addApp\", \"app\", app);\n\t\t\tconst localVarPath = `/cells/{cell}/apps`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(app, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearApps: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"clearApps\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/apps`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteApp: async (cell, app, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deleteApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteApp\", \"app\", app);\n\t\t\tconst localVarPath = `/cells/{cell}/apps/{app}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{app}`, encodeURIComponent(String(app)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetApp: async (cell, app, options = {}) => {\n\t\t\tassertParamExists(\"getApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"getApp\", \"app\", app);\n\t\t\tconst localVarPath = `/cells/{cell}/apps/{app}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{app}`, encodeURIComponent(String(app)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistApps: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listApps\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/apps`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateApp: async (cell, app, app2, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"updateApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"updateApp\", \"app\", app);\n\t\t\tassertParamExists(\"updateApp\", \"app2\", app2);\n\t\t\tconst localVarPath = `/cells/{cell}/apps/{app}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{app}`, encodeURIComponent(String(app)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(app2, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ApplicationApi - functional programming interface\n*/\nconst ApplicationApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ApplicationApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addApp(cell, app, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addApp(cell, app, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.addApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearApps(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearApps(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.clearApps\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteApp(cell, app, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteApp(cell, app, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.deleteApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getApp(cell, app, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getApp(cell, app, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.getApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listApps(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listApps(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.listApps\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateApp(cell, app, app2, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateApp(cell, app, app2, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.updateApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ApplicationApi - factory interface\n*/\nconst ApplicationApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ApplicationApiFp(configuration);\n\treturn {\n\t\taddApp(cell, app, completionTimeout, options) {\n\t\t\treturn localVarFp.addApp(cell, app, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearApps(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.clearApps(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteApp(cell, app, completionTimeout, options) {\n\t\t\treturn localVarFp.deleteApp(cell, app, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetApp(cell, app, options) {\n\t\t\treturn localVarFp.getApp(cell, app, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistApps(cell, options) {\n\t\t\treturn localVarFp.listApps(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateApp(cell, app, app2, completionTimeout, options) {\n\t\t\treturn localVarFp.updateApp(cell, app, app2, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ApplicationApi - object-oriented interface\n*/\nvar ApplicationApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_manage_apps` - Install, update, or remove applications ___ Install a basic, containerized web application to the cell to control robots with a customized frontend. #### Prerequisites - A Docker hub account or similar container registry account, with valid credentials. #### Workflow After adding the application to the cell, open the application on the Wandelbots NOVA home screen. Read [build your application](https://docs.wandelbots.io/latest/developing-introduction) for more information. #### Predefined environment variables <!-- theme: NOTE --> > **NOTE** > - `NOVA_API`: The API endpoint accessible from within the application container. > - `NATS_BROKER`: The NATS broker endpoint accessible from within the application container. > - `BASE_PATH`: The application\\'s root path, accessible at http://$host/$BASE_PATH > - `CELL_NAME`: The name of the cell hosting the deployed application. \n\t* @summary Add Application\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {App} app \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddApp(cell, app, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).addApp(cell, app, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_apps` - Install, update, or remove applications ___ Delete all GUI applications from the cell.\n\t* @summary Clear Applications\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearApps(cell, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).clearApps(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_apps` - Install, update, or remove applications ___ Delete a GUI application from the cell.\n\t* @summary Delete Application\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} app \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteApp(cell, app, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).deleteApp(cell, app, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_apps` - View application configurations ___ Get the configuration for an active GUI application in the cell. To update the configuration of a GUI application in the cell, use this configuration with [updateApp](#/operations/updateApp). \n\t* @summary Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} app \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetApp(cell, app, options) {\n\t\treturn ApplicationApiFp(this.configuration).getApp(cell, app, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_apps` - View application configurations ___ List all GUI applications that have been added to a cell with [addApp](#/operations/addApp). If the cell does not contain GUI applications, the list is returned empty. \n\t* @summary List Applications\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistApps(cell, options) {\n\t\treturn ApplicationApiFp(this.configuration).listApps(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_apps` - Install, update, or remove applications ___ Update the configuration of a GUI application in the cell.\n\t* @summary Update Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} app \n\t* @param {App} app2 \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateApp(cell, app, app2, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).updateApp(cell, app, app2, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* BUSInputsOutputsApi - axios parameter creator\n*/\nconst BUSInputsOutputsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddBusIOService: async (cell, busIOType, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"addBusIOService\", \"cell\", cell);\n\t\t\tassertParamExists(\"addBusIOService\", \"busIOType\", busIOType);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(busIOType, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddModbusIO: async (cell, io, modbusIOData, options = {}) => {\n\t\t\tassertParamExists(\"addModbusIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"addModbusIO\", \"io\", io);\n\t\t\tassertParamExists(\"addModbusIO\", \"modbusIOData\", modbusIOData);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(modbusIOData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddProfinetIO: async (cell, io, profinetIOData, options = {}) => {\n\t\t\tassertParamExists(\"addProfinetIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"addProfinetIO\", \"io\", io);\n\t\t\tassertParamExists(\"addProfinetIO\", \"profinetIOData\", profinetIOData);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(profinetIOData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearBusIOService: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"clearBusIOService\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteAllModbusIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"deleteAllModbusIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteAllProfinetIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"deleteAllProfinetIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteModbusIO: async (cell, io, options = {}) => {\n\t\t\tassertParamExists(\"deleteModbusIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteModbusIO\", \"io\", io);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteProfinetIO: async (cell, io, options = {}) => {\n\t\t\tassertParamExists(\"deleteProfinetIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteProfinetIO\", \"io\", io);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetBusIOService: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getBusIOService\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetBusIOState: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getBusIOState\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/state`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetBusIOValues: async (cell, ios, options = {}) => {\n\t\t\tassertParamExists(\"getBusIOValues\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetProfinetDescription: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getProfinetDescription\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/description`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetProfinetGSDML: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getProfinetGSDML\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/gsdml`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetProfinetIOsFromFile: async (cell, inputOffset, outputOffset, options = {}) => {\n\t\t\tassertParamExists(\"getProfinetIOsFromFile\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/iofile`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (inputOffset !== void 0) localVarQueryParameter[\"input_offset\"] = inputOffset;\n\t\t\tif (outputOffset !== void 0) localVarQueryParameter[\"output_offset\"] = outputOffset;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistBusIODescriptions: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listBusIODescriptions\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/ios/description`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistModbusIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listModbusIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistProfinetIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listProfinetIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetBusIOValues: async (cell, iOValue, options = {}) => {\n\t\t\tassertParamExists(\"setBusIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"setBusIOValues\", \"iOValue\", iOValue);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(iOValue, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetProfinetIOsFromFile: async (cell, profinetInputOutputConfig, options = {}) => {\n\t\t\tassertParamExists(\"setProfinetIOsFromFile\", \"cell\", cell);\n\t\t\tassertParamExists(\"setProfinetIOsFromFile\", \"profinetInputOutputConfig\", profinetInputOutputConfig);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/iofile`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(profinetInputOutputConfig, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* BUSInputsOutputsApi - functional programming interface\n*/\nconst BUSInputsOutputsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = BUSInputsOutputsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addBusIOService(cell, busIOType, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addBusIOService(cell, busIOType, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.addBusIOService\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addModbusIO(cell, io, modbusIOData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addModbusIO(cell, io, modbusIOData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.addModbusIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addProfinetIO(cell, io, profinetIOData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addProfinetIO(cell, io, profinetIOData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.addProfinetIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearBusIOService(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearBusIOService(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.clearBusIOService\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteAllModbusIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteAllModbusIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteAllModbusIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteAllProfinetIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteAllProfinetIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteAllProfinetIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteModbusIO(cell, io, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteModbusIO(cell, io, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteModbusIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteProfinetIO(cell, io, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteProfinetIO(cell, io, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteProfinetIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getBusIOService(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getBusIOService(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getBusIOService\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getBusIOState(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getBusIOState(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getBusIOState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getBusIOValues(cell, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getBusIOValues(cell, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getBusIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getProfinetDescription(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getProfinetDescription(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getProfinetDescription\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getProfinetGSDML(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getProfinetGSDML(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getProfinetGSDML\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getProfinetIOsFromFile(cell, inputOffset, outputOffset, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getProfinetIOsFromFile(cell, inputOffset, outputOffset, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getProfinetIOsFromFile\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listBusIODescriptions(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listBusIODescriptions(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.listBusIODescriptions\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listModbusIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listModbusIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.listModbusIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listProfinetIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listProfinetIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.listProfinetIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setBusIOValues(cell, iOValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setBusIOValues(cell, iOValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.setBusIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setProfinetIOsFromFile(cell, profinetInputOutputConfig, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setProfinetIOsFromFile(cell, profinetInputOutputConfig, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.setProfinetIOsFromFile\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* BUSInputsOutputsApi - factory interface\n*/\nconst BUSInputsOutputsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = BUSInputsOutputsApiFp(configuration);\n\treturn {\n\t\taddBusIOService(cell, busIOType, completionTimeout, options) {\n\t\t\treturn localVarFp.addBusIOService(cell, busIOType, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddModbusIO(cell, io, modbusIOData, options) {\n\t\t\treturn localVarFp.addModbusIO(cell, io, modbusIOData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddProfinetIO(cell, io, profinetIOData, options) {\n\t\t\treturn localVarFp.addProfinetIO(cell, io, profinetIOData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearBusIOService(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.clearBusIOService(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteAllModbusIOs(cell, options) {\n\t\t\treturn localVarFp.deleteAllModbusIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteAllProfinetIOs(cell, options) {\n\t\t\treturn localVarFp.deleteAllProfinetIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteModbusIO(cell, io, options) {\n\t\t\treturn localVarFp.deleteModbusIO(cell, io, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteProfinetIO(cell, io, options) {\n\t\t\treturn localVarFp.deleteProfinetIO(cell, io, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetBusIOService(cell, options) {\n\t\t\treturn localVarFp.getBusIOService(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetBusIOState(cell, options) {\n\t\t\treturn localVarFp.getBusIOState(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetBusIOValues(cell, ios, options) {\n\t\t\treturn localVarFp.getBusIOValues(cell, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetProfinetDescription(cell, options) {\n\t\t\treturn localVarFp.getProfinetDescription(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetProfinetGSDML(cell, options) {\n\t\t\treturn localVarFp.getProfinetGSDML(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetProfinetIOsFromFile(cell, inputOffset, outputOffset, options) {\n\t\t\treturn localVarFp.getProfinetIOsFromFile(cell, inputOffset, outputOffset, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistBusIODescriptions(cell, options) {\n\t\t\treturn localVarFp.listBusIODescriptions(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistModbusIOs(cell, options) {\n\t\t\treturn localVarFp.listModbusIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistProfinetIOs(cell, options) {\n\t\t\treturn localVarFp.listProfinetIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetBusIOValues(cell, iOValue, options) {\n\t\t\treturn localVarFp.setBusIOValues(cell, iOValue, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetProfinetIOsFromFile(cell, profinetInputOutputConfig, options) {\n\t\t\treturn localVarFp.setProfinetIOsFromFile(cell, profinetInputOutputConfig, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* BUSInputsOutputsApi - object-oriented interface\n*/\nvar BUSInputsOutputsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Add the BUS inputs/outputs service to the cell. Starts a containerized service that enables BUS connections via the specified ethernet port. \n\t* @summary Add Service\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {BusIOType} busIOType \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddBusIOService(cell, busIOType, completionTimeout, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).addBusIOService(cell, busIOType, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Adds an input/output variable to or updates an input/output variable on the MODBUS device, e.g., NOVA\\'s MODBUS service. The inputs/outputs map variables to specific memory addresses in the process image. The NOVA\\'s MODBUS service\\'s configuration can be viewed via [listModbusIOs](#/operations/listModbusIOs). \n\t* @summary Add MODBUS Input/Output\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {ModbusIOData} modbusIOData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddModbusIO(cell, io, modbusIOData, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).addModbusIO(cell, io, modbusIOData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Adds an input/output variable to or updates an input/output variable on the PROFINET device, e.g., NOVA\\'s PROFINET service. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. - The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](#/operations/addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller as well as NOVA\\'s PROFINET service use an input/output variable configuration to interpret the bits of the input/output process image. - The NOVA\\'s PROFINET service\\'s configuration can be viewed via [listProfinetIOs](#/operations/listProfinetIOs). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding third party software, e.g., TIA portal). \n\t* @summary Add PROFINET Input/Output\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {ProfinetIOData} profinetIOData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddProfinetIO(cell, io, profinetIOData, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).addProfinetIO(cell, io, profinetIOData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Remove the BUS inputs/outputs service from the cell. \n\t* @summary Clear Service\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearBusIOService(cell, completionTimeout, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).clearBusIOService(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Removes all input/output variable configurations from the MODBUS device, e.g., NOVA\\'s MODBUS service. \n\t* @summary Remove all MODBUS Input/Outputs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteAllModbusIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteAllModbusIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Removes all input/output variable configurations from the PROFINET device, e.g., NOVA\\'s PROFINET service. \n\t* @summary Remove all PROFINET Input/Outputs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteAllProfinetIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteAllProfinetIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Removes an input/output variable configuration from the MODBUS device, e.g., NOVA\\'s MODBUS service. \n\t* @summary Remove MODBUS Input/Output\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteModbusIO(cell, io, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteModbusIO(cell, io, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Removes an input/output variable configuration from the PROFINET device, e.g., NOVA\\'s PROFINET service. \n\t* @summary Remove PROFINET Input/Ouptut\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteProfinetIO(cell, io, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteProfinetIO(cell, io, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ Get deployed BUS inputs/outputs service.\n\t* @summary Get Service\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetBusIOService(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getBusIOService(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ Get the current state of the BUS Inputs/Outputs service. \n\t* @summary State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetBusIOState(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getBusIOState(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ Retrieves the current values of inputs/outputs. The identifiers of the inputs/outputs must be provided in the request. Request all available input/output identifiers via [listBusIODescriptions](#/operations/listBusIODescriptions). \n\t* @summary Get Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {Array<string>} [ios] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetBusIOValues(cell, ios, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getBusIOValues(cell, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ Get description of NOVA as a PROFINET device. \n\t* @summary Get PROFINET Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetProfinetDescription(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getProfinetDescription(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ Returns the Generic Station Description Markup Language (GSDML) file for the PROFINET device. The GSDML file describes the PROFINET device configuration and capabilities, and can be imported into PROFINET engineering tools, e.g., TIA Portal, or other PLC programming environments. The returned GSDML file matches the current slot configuration of the PROFINET device. \n\t* @summary Get PROFINET GSDML File\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetProfinetGSDML(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getProfinetGSDML(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ Get input/output variable configuration of the PROFINET device, e.g., NOVA\\'s PROFINET service as file. You can specify byte offsets for the input and output variable addresses to get an XML tagmap that is ready to paste to the third party software, e.g., TIA portal. \n\t* @summary PROFINET Inputs/Outputs to File\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [inputOffset] \n\t* @param {number} [outputOffset] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetProfinetIOsFromFile(cell, inputOffset, outputOffset, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getProfinetIOsFromFile(cell, inputOffset, outputOffset, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ List all input/output descriptions for configured BUS services. The input/output descriptions contain information like name, type and unit. The input/output direction is given in perspective of the BUS service. \n\t* @summary List Descriptions\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistBusIODescriptions(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).listBusIODescriptions(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ List descriptions for all configured input/output variables of the MODBUS service. The input/output descriptions contain information like name, type, and address. The input/output direction is given in perspective of the active MODBUS type (service or client). - The byte and bit addresses are the locations in the MODBUS input/output process image the variable points to. - The MODBUS controller, as well as NOVA\\'s MODBUS service, use an input/output variable configuration to interpret the bits of the input and output process image. - The NOVA MODBUS service\\'s configuration is modified via [addModbusIO](#/operations/addModbusIO). \n\t* @summary List MODBUS Input/Output Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistModbusIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).listModbusIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ List descriptions for all configured input/output variables of the PROFINET service. The input/output descriptions contain information like name, type, and unit. The input/output direction is given in perspective of the PROFINET device, e.g., the configured PROFINET service. - The byte and bit addresses are the locations in the PROFINET input/output process image the variable points to. - The PROFINET controller, as well as NOVA\\'s PROFINET service, use an input/output variable configuration to interpret the bits of the input and output process image. - The NOVA PROFINET service\\'s configuration is modified via [addProfinetIO](#/operations/addProfinetIO) and [setProfinetIOsFromFile](#/operations/setProfinetIOsFromFile). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding third party software, e.g., TIA portal. \n\t* @summary List PROFINET Input/Output Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistProfinetIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).listProfinetIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_bus_ios` - Read and write BUS IO values ___ Set values of outputs. In case of virtual Bus Input/Outputs, also inputs can be set. All available output identifiers can be requested via [listBusIODescriptions](#/operations/listBusIODescriptions). The call will return once the values have been set and accepted by the service. \n\t* @summary Set Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {Array<IOValue>} iOValue \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetBusIOValues(cell, iOValue, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).setBusIOValues(cell, iOValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_bus_ios` - Manage BUS IO configuration ___ Sets input/output variable configuration on the PROFINET device (i.e. NOVA\\'s PROFINET service) from XML file. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. - The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](#/operations/addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller, as well as NOVA\\'s PROFINET service, use an input/output variable configuration to interpret the bits of the input/output process image. - The NOVA\\'s PROFINET service\\'s configuration can be viewed via [listProfinetIOs](#/operations/listProfinetIOs). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding engineering system, e.g., TIA portal. #### Export variables You can export the variable configuration of the PROFINET controller as an XML file from your engineering system, e.g., TIA portal. - The endpoint is built so that the perspective of input and output (PROFINET Device\\'s input is PROFINET Controller\\'s output) is internally handled (PROFINET device input is PROFINET controller output), meaning that you can paste the exported XML file here without modifying. \n\t* @summary Set PROFINET Inputs/Outputs from File\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {ProfinetInputOutputConfig} profinetInputOutputConfig \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetProfinetIOsFromFile(cell, profinetInputOutputConfig, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).setProfinetIOsFromFile(cell, profinetInputOutputConfig, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* CellApi - axios parameter creator\n*/\nconst CellApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tcheckCellVersionUpdate: async (cell, channel, options = {}) => {\n\t\t\tassertParamExists(\"checkCellVersionUpdate\", \"cell\", cell);\n\t\t\tassertParamExists(\"checkCellVersionUpdate\", \"channel\", channel);\n\t\t\tconst localVarPath = `/cells/{cell}/update`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (channel !== void 0) localVarQueryParameter[\"channel\"] = channel;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteCell: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deleteCell\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeployCell: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deployCell\", \"cell\", cell);\n\t\t\tconst localVarUrlObj = new URL(`/cells`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(cell, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCell: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getCell\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCellStatus: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getCellStatus\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/status`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCells: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/cells`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetCellStatus: async (cell, operatingState, options = {}) => {\n\t\t\tassertParamExists(\"setCellStatus\", \"cell\", cell);\n\t\t\tassertParamExists(\"setCellStatus\", \"operatingState\", operatingState);\n\t\t\tconst localVarPath = `/cells/{cell}/status`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (operatingState !== void 0) localVarQueryParameter[\"operating_state\"] = operatingState;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateCell: async (cell, cell2, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"updateCell\", \"cell\", cell);\n\t\t\tassertParamExists(\"updateCell\", \"cell2\", cell2);\n\t\t\tconst localVarPath = `/cells/{cell}`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(cell2, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateCellVersion: async (cell, updateCellVersionRequest, options = {}) => {\n\t\t\tassertParamExists(\"updateCellVersion\", \"cell\", cell);\n\t\t\tassertParamExists(\"updateCellVersion\", \"updateCellVersionRequest\", updateCellVersionRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/update`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(updateCellVersionRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* CellApi - functional programming interface\n*/\nconst CellApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = CellApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync checkCellVersionUpdate(cell, channel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.checkCellVersionUpdate(cell, channel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.checkCellVersionUpdate\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteCell(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteCell(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.deleteCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deployCell(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deployCell(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.deployCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCell(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCell(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.getCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCellStatus(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCellStatus(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.getCellStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCells(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCells(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.listCells\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setCellStatus(cell, operatingState, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setCellStatus(cell, operatingState, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.setCellStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateCell(cell, cell2, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateCell(cell, cell2, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.updateCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateCellVersion(cell, updateCellVersionRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateCellVersion(cell, updateCellVersionRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.updateCellVersion\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* CellApi - factory interface\n*/\nconst CellApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = CellApiFp(configuration);\n\treturn {\n\t\tcheckCellVersionUpdate(cell, channel, options) {\n\t\t\treturn localVarFp.checkCellVersionUpdate(cell, channel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteCell(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.deleteCell(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeployCell(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.deployCell(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCell(cell, options) {\n\t\t\treturn localVarFp.getCell(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCellStatus(cell, options) {\n\t\t\treturn localVarFp.getCellStatus(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCells(options) {\n\t\t\treturn localVarFp.listCells(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetCellStatus(cell, operatingState, options) {\n\t\t\treturn localVarFp.setCellStatus(cell, operatingState, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateCell(cell, cell2, completionTimeout, options) {\n\t\t\treturn localVarFp.updateCell(cell, cell2, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateCellVersion(cell, updateCellVersionRequest, options) {\n\t\t\treturn localVarFp.updateCellVersion(cell, updateCellVersionRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* CellApi - object-oriented interface\n*/\nvar CellApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_manage_cells` - Create, update, or delete cells ___ Check if a more recent Wandelbots NOVA version is available for the cell. Updates greater than the system version are ignored. \n\t* @summary Check Cell Update\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {ReleaseChannel} channel \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tcheckCellVersionUpdate(cell, channel, options) {\n\t\treturn CellApiFp(this.configuration).checkCellVersionUpdate(cell, channel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_cells` - Create, update, or delete cells ___ Delete an entire cell.\n\t* @summary Delete Cell\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteCell(cell, completionTimeout, options) {\n\t\treturn CellApiFp(this.configuration).deleteCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_cells` - Create, update, or delete cells ___ Deploy an entire cell with all its resources. A cell can be used to deploy a robot controller, one or more robots, as well as custom applications. Refer to the [Wandelbots NOVA documentation](https://docs.wandelbots.io/latest/setup-cell) for more information.\n\t* @summary Add Cell\n\t* @param {Cell} cell \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeployCell(cell, completionTimeout, options) {\n\t\treturn CellApiFp(this.configuration).deployCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_cells` - View cell configurations and resources ___ List all cell resources. \n\t* @summary Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCell(cell, options) {\n\t\treturn CellApiFp(this.configuration).getCell(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ List the status of all cell resources.\n\t* @summary Service Status\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCellStatus(cell, options) {\n\t\treturn CellApiFp(this.configuration).getCellStatus(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_cells` - View cell configurations and resources ___ List all deployed cell names. If no cells are deployed, an empty list is returned.\n\t* @summary List Cells\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCells(options) {\n\t\treturn CellApiFp(this.configuration).listCells(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_cells` - Create, update, or delete cells ___ Deactivate or activate the services of a cell.\n\t* @summary Operating State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {OperatingState} operatingState Set state of the cell. Active or inactive.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetCellStatus(cell, operatingState, options) {\n\t\treturn CellApiFp(this.configuration).setCellStatus(cell, operatingState, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_cells` - Create, update, or delete cells ___ Update the definition of the entire cell. <!-- theme: info --> > **NOTE** > > This endpoint replaces the full cell configuration and is not a partial update. > To change only one field: > 1. Get the current configuration via [Cell > Configuration](#/operations/getCell). > 2. Send the full configuration with your intended changes via [Cell > Update Configuration](#/operations/updateCell). Omitting existing sections may reset or remove their current configuration. \n\t* @summary Update Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {Cell} cell2 \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateCell(cell, cell2, completionTimeout, options) {\n\t\treturn CellApiFp(this.configuration).updateCell(cell, cell2, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_cells` - Create, update, or delete cells ___ Update the Foundation chart version for a single cell based on a release channel. The resulting version is capped at the current system version. \n\t* @summary Update Cell Version\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {UpdateCellVersionRequest} updateCellVersionRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateCellVersion(cell, updateCellVersionRequest, options) {\n\t\treturn CellApiFp(this.configuration).updateCellVersion(cell, updateCellVersionRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* ControllerApi - axios parameter creator\n*/\nconst ControllerApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddRobotController: async (cell, robotController, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"addRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"addRobotController\", \"robotController\", robotController);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(robotController, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearRobotControllers: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"clearRobotControllers\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteRobotController: async (cell, controller, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deleteRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteRobotController\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetControllerDescription: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getControllerDescription\", \"cell\", cell);\n\t\t\tassertParamExists(\"getControllerDescription\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCoordinateSystem: async (cell, controller, coordinateSystem, orientationType, options = {}) => {\n\t\t\tassertParamExists(\"getCoordinateSystem\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCoordinateSystem\", \"controller\", controller);\n\t\t\tassertParamExists(\"getCoordinateSystem\", \"coordinateSystem\", coordinateSystem);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/coordinate-systems/{coordinate-system}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{coordinate-system}`, encodeURIComponent(String(coordinateSystem)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (orientationType !== void 0) localVarQueryParameter[\"orientation_type\"] = orientationType;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCurrentRobotControllerState: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getCurrentRobotControllerState\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCurrentRobotControllerState\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetRobotController: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"getRobotController\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetVirtualControllerConfiguration: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getVirtualControllerConfiguration\", \"cell\", cell);\n\t\t\tassertParamExists(\"getVirtualControllerConfiguration\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/virtual-robot-configuration`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCoordinateSystems: async (cell, controller, orientationType, options = {}) => {\n\t\t\tassertParamExists(\"listCoordinateSystems\", \"cell\", cell);\n\t\t\tassertParamExists(\"listCoordinateSystems\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/coordinate-systems`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (orientationType !== void 0) localVarQueryParameter[\"orientation_type\"] = orientationType;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistRobotControllers: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listRobotControllers\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetDefaultMode: async (cell, controller, mode, options = {}) => {\n\t\t\tassertParamExists(\"setDefaultMode\", \"cell\", cell);\n\t\t\tassertParamExists(\"setDefaultMode\", \"controller\", controller);\n\t\t\tassertParamExists(\"setDefaultMode\", \"mode\", mode);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/mode`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (mode !== void 0) localVarQueryParameter[\"mode\"] = mode;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamFreeDrive: async (cell, controller, responseRate, options = {}) => {\n\t\t\tassertParamExists(\"streamFreeDrive\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamFreeDrive\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/free-drive-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseRate !== void 0) localVarQueryParameter[\"response_rate\"] = responseRate;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamRobotControllerState: async (cell, controller, responseRate, addControllerTimeout, options = {}) => {\n\t\t\tassertParamExists(\"streamRobotControllerState\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamRobotControllerState\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/state-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseRate !== void 0) localVarQueryParameter[\"response_rate\"] = responseRate;\n\t\t\tif (addControllerTimeout !== void 0) localVarQueryParameter[\"add_controller_timeout\"] = addControllerTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateRobotController: async (cell, controller, robotController, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"updateRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"updateRobotController\", \"controller\", controller);\n\t\t\tassertParamExists(\"updateRobotController\", \"robotController\", robotController);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(robotController, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ControllerApi - functional programming interface\n*/\nconst ControllerApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ControllerApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addRobotController(cell, robotController, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addRobotController(cell, robotController, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.addRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearRobotControllers(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearRobotControllers(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.clearRobotControllers\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteRobotController(cell, controller, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteRobotController(cell, controller, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.deleteRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getControllerDescription(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getControllerDescription(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getControllerDescription\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getCoordinateSystem\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCurrentRobotControllerState(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentRobotControllerState(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getCurrentRobotControllerState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getRobotController(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getRobotController(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getVirtualControllerConfiguration(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getVirtualControllerConfiguration(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getVirtualControllerConfiguration\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCoordinateSystems(cell, controller, orientationType, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCoordinateSystems(cell, controller, orientationType, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.listCoordinateSystems\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listRobotControllers(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listRobotControllers(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.listRobotControllers\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setDefaultMode(cell, controller, mode, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setDefaultMode(cell, controller, mode, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.setDefaultMode\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamFreeDrive(cell, controller, responseRate, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamFreeDrive(cell, controller, responseRate, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.streamFreeDrive\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.streamRobotControllerState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateRobotController(cell, controller, robotController, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateRobotController(cell, controller, robotController, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.updateRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ControllerApi - factory interface\n*/\nconst ControllerApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ControllerApiFp(configuration);\n\treturn {\n\t\taddRobotController(cell, robotController, completionTimeout, options) {\n\t\t\treturn localVarFp.addRobotController(cell, robotController, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearRobotControllers(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.clearRobotControllers(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteRobotController(cell, controller, completionTimeout, options) {\n\t\t\treturn localVarFp.deleteRobotController(cell, controller, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetControllerDescription(cell, controller, options) {\n\t\t\treturn localVarFp.getControllerDescription(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {\n\t\t\treturn localVarFp.getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCurrentRobotControllerState(cell, controller, options) {\n\t\t\treturn localVarFp.getCurrentRobotControllerState(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetRobotController(cell, controller, options) {\n\t\t\treturn localVarFp.getRobotController(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetVirtualControllerConfiguration(cell, controller, options) {\n\t\t\treturn localVarFp.getVirtualControllerConfiguration(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCoordinateSystems(cell, controller, orientationType, options) {\n\t\t\treturn localVarFp.listCoordinateSystems(cell, controller, orientationType, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistRobotControllers(cell, options) {\n\t\t\treturn localVarFp.listRobotControllers(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetDefaultMode(cell, controller, mode, options) {\n\t\t\treturn localVarFp.setDefaultMode(cell, controller, mode, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamFreeDrive(cell, controller, responseRate, options) {\n\t\t\treturn localVarFp.streamFreeDrive(cell, controller, responseRate, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options) {\n\t\t\treturn localVarFp.streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateRobotController(cell, controller, robotController, completionTimeout, options) {\n\t\t\treturn localVarFp.updateRobotController(cell, controller, robotController, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ControllerApi - object-oriented interface\n*/\nvar ControllerApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Add a robot controller to the cell. \n\t* @summary Add Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {RobotController} robotController \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddRobotController(cell, robotController, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).addRobotController(cell, robotController, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with [addRobotController](#/operations/addRobotController). \n\t* @summary Clear Robot Controllers\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearRobotControllers(cell, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).clearRobotControllers(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete a robot controller from the cell. \n\t* @summary Delete Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteRobotController(cell, controller, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).deleteRobotController(cell, controller, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get description of a configured robot controller including a list of connected motion group identifiers. Use [getMotionGroupDescription](#/operations/getMotionGroupDescription) to get more information about the motion group. \n\t* @summary Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetControllerDescription(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getControllerDescription(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Request a coordinate system specification for a given identifier. Use parameter `orientation_type` to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter `orientation_type` is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with `On` + the unique identifier of the robot controller. \n\t* @summary Coordinate System\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} coordinateSystem Unique identifier addressing a coordinate system.\n\t* @param {OrientationType} [orientationType] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {\n\t\treturn ControllerApiFp(this.configuration).getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the current state of a robot controller.\n\t* @summary State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCurrentRobotControllerState(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getCurrentRobotControllerState(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the configuration for a robot controller. \n\t* @summary Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetRobotController(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getRobotController(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Receive data to configure a virtual robot controller based on another controller. This can be used to create a virtual clone of a specific physical robot. When adding a virtual controller, use the Virtual configuration variant of [addRobotController](#/operations/addRobotController) and pass the content string from this endpoint as the `json` field. Omit the `type` field that selects a preset configuration, which is not required when providing a complete configuration. \n\t* @summary Virtual Controller Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetVirtualControllerConfiguration(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getVirtualControllerConfiguration(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists all specifications of coordinate systems from robot controllers. Use parameter `orientation_type` to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter `orientation_type` is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with `On` + the unique identifier of the robot controller. \n\t* @summary List Coordinate Systems\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {OrientationType} [orientationType] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCoordinateSystems(cell, controller, orientationType, options) {\n\t\treturn ControllerApiFp(this.configuration).listCoordinateSystems(cell, controller, orientationType, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ List the names of all deployed robot controllers.\n\t* @summary List Robot Controllers\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistRobotControllers(cell, options) {\n\t\treturn ControllerApiFp(this.configuration).listRobotControllers(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network, monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state `normal` or `reduced`. If the robot controller is in `manual` operating mode, you have to manually confirm the control usage activation on the robot control panel. This manual confirmation can\\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > `setDefaultMode` enables the robot controller to stay in control mode to keep the motors activated. > This allows for faster execution of sequential movements as no mode switches are required. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](#/operations/getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change. \n\t* @summary Set Default Mode\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {SettableRobotSystemMode} mode \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetDefaultMode(cell, controller, mode, options) {\n\t\treturn ControllerApiFp(this.configuration).setDefaultMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: success --> > Websocket endpoint Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\\'s complex movement sequences. Before opening the websocket, ensure that > > - The robot is in a safe state, > - The right payload is set, > - No humans or object are within the robot\\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified `response_rate`. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular cobots. Use [listRobotControllers](#/operations/listRobotControllers) to check if the robot controller supports free drive mode. \n\t* @summary Stream Free Drive\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {number} [responseRate] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamFreeDrive(cell, controller, responseRate, options) {\n\t\treturn ControllerApiFp(this.configuration).streamFreeDrive(cell, controller, responseRate, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: success --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](#/operations/addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates. \n\t* @summary Stream State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {number} [responseRate] \n\t* @param {number} [addControllerTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. To update a virtual controller, the previous controller will be deleted and a new one created. Changes to the configuration, e.g., TCPs, coordinate systems, mounting, are **not** transferred to the new robot. <!-- theme: info --> > **NOTE** > > An update is not a reset. To do a reset: > 1. Get the current configuration via [getRobotController](#/operations/getRobotController). > 2. Delete the existing virtual robot controller via [deleteRobotController](#/operations/deleteRobotController). > 3. Add a virtual robot controller with [addRobotController](#/operations/addRobotController). \n\t* @summary Update Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {RobotController} robotController \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateRobotController(cell, controller, robotController, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).updateRobotController(cell, controller, robotController, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* ControllerInputsOutputsApi - axios parameter creator\n*/\nconst ControllerInputsOutputsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tlistIODescriptions: async (cell, controller, ios, direction, valueType, group, options = {}) => {\n\t\t\tassertParamExists(\"listIODescriptions\", \"cell\", cell);\n\t\t\tassertParamExists(\"listIODescriptions\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tif (direction !== void 0) localVarQueryParameter[\"direction\"] = direction;\n\t\t\tif (valueType !== void 0) localVarQueryParameter[\"value_type\"] = valueType;\n\t\t\tif (group !== void 0) localVarQueryParameter[\"group\"] = group;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistIOValues: async (cell, controller, ios, options = {}) => {\n\t\t\tassertParamExists(\"listIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"listIOValues\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetOutputValues: async (cell, controller, iOValue, options = {}) => {\n\t\t\tassertParamExists(\"setOutputValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"setOutputValues\", \"controller\", controller);\n\t\t\tassertParamExists(\"setOutputValues\", \"iOValue\", iOValue);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(iOValue, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamIOValues: async (cell, controller, ios, options = {}) => {\n\t\t\tassertParamExists(\"streamIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamIOValues\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\twaitForIOEvent: async (cell, controller, waitForIOEventRequest, options = {}) => {\n\t\t\tassertParamExists(\"waitForIOEvent\", \"cell\", cell);\n\t\t\tassertParamExists(\"waitForIOEvent\", \"controller\", controller);\n\t\t\tassertParamExists(\"waitForIOEvent\", \"waitForIOEventRequest\", waitForIOEventRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/wait-for`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(waitForIOEventRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ControllerInputsOutputsApi - functional programming interface\n*/\nconst ControllerInputsOutputsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ControllerInputsOutputsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync listIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listIODescriptions(cell, controller, ios, direction, valueType, group, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.listIODescriptions\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listIOValues(cell, controller, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listIOValues(cell, controller, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.listIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setOutputValues(cell, controller, iOValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setOutputValues(cell, controller, iOValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.setOutputValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamIOValues(cell, controller, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamIOValues(cell, controller, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.streamIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync waitForIOEvent(cell, controller, waitForIOEventRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.waitForIOEvent(cell, controller, waitForIOEventRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.waitForIOEvent\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ControllerInputsOutputsApi - factory interface\n*/\nconst ControllerInputsOutputsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ControllerInputsOutputsApiFp(configuration);\n\treturn {\n\t\tlistIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\treturn localVarFp.listIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistIOValues(cell, controller, ios, options) {\n\t\t\treturn localVarFp.listIOValues(cell, controller, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetOutputValues(cell, controller, iOValue, options) {\n\t\t\treturn localVarFp.setOutputValues(cell, controller, iOValue, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamIOValues(cell, controller, ios, options) {\n\t\t\treturn localVarFp.streamIOValues(cell, controller, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\twaitForIOEvent(cell, controller, waitForIOEventRequest, options) {\n\t\t\treturn localVarFp.waitForIOEvent(cell, controller, waitForIOEventRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ControllerInputsOutputsApi - object-oriented interface\n*/\nvar ControllerInputsOutputsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists the input/output descriptions of the robot controller. The input/output descriptions contain information like name, type and unit.\\\\ Available inputs/outputs are defined by the robot controller\\\\ Each input/output has a unique identifier. - If no identifiers and no filters are specified in the request, all available inputs/outputs are retrieved by this endpoint. - If a filter, e.g., `direction`, `value_type`, `group` is applied, only matching inputs/outputs are returned. \n\t* @summary List Descriptions\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {IODirection} [direction] Return only inputs/outputs with the specified direction. \n\t* @param {IOValueType} [valueType] Return only inputs/outputs with the specified value type. \n\t* @param {string} [group] Return only inputs/outputs from the specified group. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).listIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Retrieves the current values of inputs/outputs. The identifiers of the inputs/outputs must be provided in the request. Request all available input/output identifiers via [listIODescriptions](#/operations/listIODescriptions). \n\t* @summary Get Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistIOValues(cell, controller, ios, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).listIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Set the values of outputs. All available output identifiers and possible value ranges can be requested via [listIODescriptions](#/operations/listIODescriptions). The call will return once the values have been set on and accepted by the robot. This can take up to 200 milliseconds. > **NOTE** > > Do not call this endpoint while another request is still in progress. The second call will fail. \n\t* @summary Set Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<IOValue>} iOValue \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetOutputValues(cell, controller, iOValue, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).setOutputValues(cell, controller, iOValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: success --> > Websocket endpoint Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > If you request many values simultaneously, the request is likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. This can lead to a high amount of data transmitted. \n\t* @summary Stream Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamIOValues(cell, controller, ios, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).streamIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Wait until an input/output reaches a certain value. This call returns as soon as the condition is met or the request fails. The `comparison_type` value is used to define how the current value of the input/output is compared with given value. Only set the value that corresponds to the `value_type` of the input/output. See [listIODescriptions](#/operations/listIODescriptions) for more information. **Examples** 1. Wait until analog input `AI_1` < 10: ``` io: \\\"AI_1\\\" comparison_type: \\\"COMPARISON_LESS\\\" value: 10 ``` 2. Wait until analog input `AI_2` > 5.0: ``` io: \\\"AI_2\\\" comparison_type: \\\"COMPARISON_GREATER\\\" value: 5.0 ``` 3. Wait until digital input `DI_3` is true: ``` io: \\\"DI_3\\\" comparison_type: \\\"COMPARISON_EQUAL\\\" value: true ``` \n\t* @summary Wait For\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {WaitForIOEventRequest} waitForIOEventRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\twaitForIOEvent(cell, controller, waitForIOEventRequest, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).waitForIOEvent(cell, controller, waitForIOEventRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* JoggingApi - axios parameter creator\n*/\nconst JoggingApiAxiosParamCreator = function(configuration) {\n\treturn { executeJogging: async (cell, controller, executeJoggingRequest, options = {}) => {\n\t\tassertParamExists(\"executeJogging\", \"cell\", cell);\n\t\tassertParamExists(\"executeJogging\", \"controller\", controller);\n\t\tassertParamExists(\"executeJogging\", \"executeJoggingRequest\", executeJoggingRequest);\n\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/execution/jogging`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\tlet baseOptions;\n\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\tconst localVarRequestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...baseOptions,\n\t\t\t...options\n\t\t};\n\t\tconst localVarHeaderParameter = {};\n\t\tconst localVarQueryParameter = {};\n\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\tlocalVarRequestOptions.headers = {\n\t\t\t...localVarHeaderParameter,\n\t\t\t...headersFromBaseOptions,\n\t\t\t...options.headers\n\t\t};\n\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(executeJoggingRequest, localVarRequestOptions, configuration);\n\t\treturn {\n\t\t\turl: toPathString(localVarUrlObj),\n\t\t\toptions: localVarRequestOptions\n\t\t};\n\t} };\n};\n/**\n* JoggingApi - functional programming interface\n*/\nconst JoggingApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = JoggingApiAxiosParamCreator(configuration);\n\treturn { async executeJogging(cell, controller, executeJoggingRequest, options) {\n\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.executeJogging(cell, controller, executeJoggingRequest, options);\n\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\tconst localVarOperationServerBasePath = operationServerMap[\"JoggingApi.executeJogging\"]?.[localVarOperationServerIndex]?.url;\n\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t} };\n};\n/**\n* JoggingApi - factory interface\n*/\nconst JoggingApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = JoggingApiFp(configuration);\n\treturn { executeJogging(cell, controller, executeJoggingRequest, options) {\n\t\treturn localVarFp.executeJogging(cell, controller, executeJoggingRequest, options).then((request) => request(axios, basePath));\n\t} };\n};\n/**\n* JoggingApi - object-oriented interface\n*/\nvar JoggingApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: success --> > Websocket endpoint Provides execution control over a dynamically adaptable jogging motion for a motion group. Jogging describes controlling a motion group by sending real-time commands to move either its joints or the TCP. The commands contain target velocities that may change at any time during execution, so the resulting motion cannot be computed upfront. ### Preconditions The motion group is not moved by any other endpoint. ### Requests #### 1. Send `InitializeJoggingRequest` to configure the jogging. - Sets the robot controller mode to control mode. - Claims the motion group for jogging. For robotic arms, TCP is required to ensure that limits, including TCP limits, are respected. #### 2. Send `JointVelocityRequest` or `TcpVelocityRequest` to start the jogging motion. - Commands can only be processed in the cycle rate of the controller - Sending commands faster will not increase the responsiveness of the jogging motion, it will lead to dropped commands - It is recommended to couple sending commands with the [state stream](#/operations/streamMotionGroupState), which can be subscribed to via nats as well. #### 3. Change or stop the jogging motion - Change the jogging direction and/or velocity during the jogging motion with `JointVelocityRequest` or `TcpVelocityRequest`. - To stop the jogging motion, send zero velocities via either request or `PauseJoggingRequest`. ### Responses - Each request is acknowledged with a corresponding response: - `InitializeJoggingResponse` after `InitializeJoggingRequest` - `JointVelocityResponse` after `JointVelocityRequest` - `TcpVelocityResponse` after `TcpVelocityRequest` - `PauseJoggingResponse` after `PauseJoggingRequest` The responses confirm that the requests were received. They do not signal that the operation was successful; check the [motion group state](#/operations/streamMotionGroupState) for that. - `MovementErrorResponse` with error details is sent in case of an unexpected error, e.g., controller disconnects during jogging. ### Tips and Tricks - Ensure that the websocket connection remains open until the jogging motion is stopped to avoid unexpected stops. \n\t* @summary Execute Jogging\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {ExecuteJoggingRequest} executeJoggingRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\texecuteJogging(cell, controller, executeJoggingRequest, options) {\n\t\treturn JoggingApiFp(this.configuration).executeJogging(cell, controller, executeJoggingRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* KinematicsApi - axios parameter creator\n*/\nconst KinematicsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tforwardKinematics: async (cell, forwardKinematicsRequest, options = {}) => {\n\t\t\tassertParamExists(\"forwardKinematics\", \"cell\", cell);\n\t\t\tassertParamExists(\"forwardKinematics\", \"forwardKinematicsRequest\", forwardKinematicsRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/kinematic/forward`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(forwardKinematicsRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tinverseKinematics: async (cell, inverseKinematicsRequest, options = {}) => {\n\t\t\tassertParamExists(\"inverseKinematics\", \"cell\", cell);\n\t\t\tassertParamExists(\"inverseKinematics\", \"inverseKinematicsRequest\", inverseKinematicsRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/kinematic/inverse`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(inverseKinematicsRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tprojectJointPositionDirectionConstraint: async (cell, projectJointPositionDirectionConstraintRequest, options = {}) => {\n\t\t\tassertParamExists(\"projectJointPositionDirectionConstraint\", \"cell\", cell);\n\t\t\tassertParamExists(\"projectJointPositionDirectionConstraint\", \"projectJointPositionDirectionConstraintRequest\", projectJointPositionDirectionConstraintRequest);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/kinematic/project-joint-position-direction-constraint`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(projectJointPositionDirectionConstraintRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* KinematicsApi - functional programming interface\n*/\nconst KinematicsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = KinematicsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync forwardKinematics(cell, forwardKinematicsRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.forwardKinematics(cell, forwardKinematicsRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"KinematicsApi.forwardKinematics\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync inverseKinematics(cell, inverseKinematicsRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.inverseKinematics(cell, inverseKinematicsRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"KinematicsApi.inverseKinematics\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync projectJointPositionDirectionConstraint(cell, projectJointPositionDirectionConstraintRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.projectJointPositionDirectionConstraint(cell, projectJointPositionDirectionConstraintRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"KinematicsApi.projectJointPositionDirectionConstraint\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* KinematicsApi - factory interface\n*/\nconst KinematicsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = KinematicsApiFp(configuration);\n\treturn {\n\t\tforwardKinematics(cell, forwardKinematicsRequest, options) {\n\t\t\treturn localVarFp.forwardKinematics(cell, forwardKinematicsRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tinverseKinematics(cell, inverseKinematicsRequest, options) {\n\t\t\treturn localVarFp.inverseKinematics(cell, inverseKinematicsRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tprojectJointPositionDirectionConstraint(cell, projectJointPositionDirectionConstraintRequest, options) {\n\t\t\treturn localVarFp.projectJointPositionDirectionConstraint(cell, projectJointPositionDirectionConstraintRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* KinematicsApi - object-oriented interface\n*/\nvar KinematicsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_plan_motion` - Plan robot motions and trajectories ___ Returns the TCP poses for a list of given joint positions. \n\t* @summary Forward kinematics\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {ForwardKinematicsRequest} forwardKinematicsRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tforwardKinematics(cell, forwardKinematicsRequest, options) {\n\t\treturn KinematicsApiFp(this.configuration).forwardKinematics(cell, forwardKinematicsRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_plan_motion` - Plan robot motions and trajectories ___ Returns the reachable joint positions for a list of given poses. \n\t* @summary Inverse kinematics\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {InverseKinematicsRequest} inverseKinematicsRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tinverseKinematics(cell, inverseKinematicsRequest, options) {\n\t\treturn KinematicsApiFp(this.configuration).inverseKinematics(cell, inverseKinematicsRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_plan_motion` - Plan robot motions and trajectories ___ <!-- theme: danger --> > **Experimental** Returns the projected joint position that satisfies the direction constraint for a given target joint position. This may alter the TCP pose. To project the cartesian pose instead, use the following code snippet: ```python import numpy as np from scipy.spatial.transform import Rotation as R def project_cartesian_pose_direction_constraint(T_world_tcp: models.Pose, constraint: models.DirectionConstraint) -> models.Pose: constraint_tcp = np.array(constraint.tcp) target_constraint_world = np.array(constraint.world) R_world_tcp = R.from_rotvec(T_world_tcp.orientation.root) current_constraint_world = R_world_tcp.apply(constraint_tcp) R_corr, _ = R.align_vectors([target_constraint_world], [current_constraint_world]) R_world_tcp_new = R_corr * R_world_tcp return models.Pose(position=T_world_tcp.position, orientation=R_world_tcp_new.as_rotvec()) ``` \n\t* @summary Project joint position to direction constraint\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {ProjectJointPositionDirectionConstraintRequest} projectJointPositionDirectionConstraintRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tprojectJointPositionDirectionConstraint(cell, projectJointPositionDirectionConstraintRequest, options) {\n\t\treturn KinematicsApiFp(this.configuration).projectJointPositionDirectionConstraint(cell, projectJointPositionDirectionConstraintRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* LicenseApi - axios parameter creator\n*/\nconst LicenseApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tactivateLicense: async (activateLicenseRequest, options = {}) => {\n\t\t\tassertParamExists(\"activateLicense\", \"activateLicenseRequest\", activateLicenseRequest);\n\t\t\tconst localVarUrlObj = new URL(`/license`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(activateLicenseRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeactivateLicense: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/license`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetLicense: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/license`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetLicenseStatus: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/license/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* LicenseApi - functional programming interface\n*/\nconst LicenseApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = LicenseApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync activateLicense(activateLicenseRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.activateLicense(activateLicenseRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.activateLicense\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deactivateLicense(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deactivateLicense(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.deactivateLicense\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getLicense(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getLicense(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.getLicense\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getLicenseStatus(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getLicenseStatus(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.getLicenseStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* LicenseApi - factory interface\n*/\nconst LicenseApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = LicenseApiFp(configuration);\n\treturn {\n\t\tactivateLicense(activateLicenseRequest, options) {\n\t\t\treturn localVarFp.activateLicense(activateLicenseRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeactivateLicense(options) {\n\t\t\treturn localVarFp.deactivateLicense(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetLicense(options) {\n\t\t\treturn localVarFp.getLicense(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetLicenseStatus(options) {\n\t\t\treturn localVarFp.getLicenseStatus(options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* LicenseApi - object-oriented interface\n*/\nvar LicenseApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_manage_license` - Manage license configuration ___ Activates a license using the provided license owner authentication token. The refresh token is used to enable communication with the license provider without requiring user interaction. \n\t* @summary Activate license\n\t* @param {ActivateLicenseRequest} activateLicenseRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tactivateLicense(activateLicenseRequest, options) {\n\t\treturn LicenseApiFp(this.configuration).activateLicense(activateLicenseRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_license` - Manage license configuration ___ Deactivates active license.\n\t* @summary Deactivate license\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeactivateLicense(options) {\n\t\treturn LicenseApiFp(this.configuration).deactivateLicense(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_license` - Manage license configuration ___ Get information on the license used with the Wandelbots NOVA instance, e.g., licensed product, expiration date, license status.\n\t* @summary Get license\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetLicense(options) {\n\t\treturn LicenseApiFp(this.configuration).getLicense(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Get the license status. - If `valid`, Wandelbots NOVA can be used. - If `expired`, the license has to be renewed in order to use Wandelbots NOVA. \n\t* @summary Get license status\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetLicenseStatus(options) {\n\t\treturn LicenseApiFp(this.configuration).getLicenseStatus(options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* MotionGroupApi - axios parameter creator\n*/\nconst MotionGroupApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tgetCurrentMotionGroupState: async (cell, controller, motionGroup, responseCoordinateSystem, options = {}) => {\n\t\t\tassertParamExists(\"getCurrentMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCurrentMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"getCurrentMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/motion-groups/{motion-group}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseCoordinateSystem !== void 0) localVarQueryParameter[\"response_coordinate_system\"] = responseCoordinateSystem;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupDescription: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupDescription\", \"cell\", cell);\n\t\t\tassertParamExists(\"getMotionGroupDescription\", \"controller\", controller);\n\t\t\tassertParamExists(\"getMotionGroupDescription\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/motion-groups/{motion-group}/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamMotionGroupState: async (cell, controller, motionGroup, responseRate, responseCoordinateSystem, options = {}) => {\n\t\t\tassertParamExists(\"streamMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"streamMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/motion-groups/{motion-group}/state-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseRate !== void 0) localVarQueryParameter[\"response_rate\"] = responseRate;\n\t\t\tif (responseCoordinateSystem !== void 0) localVarQueryParameter[\"response_coordinate_system\"] = responseCoordinateSystem;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* MotionGroupApi - functional programming interface\n*/\nconst MotionGroupApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = MotionGroupApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupApi.getCurrentMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupDescription(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupDescription(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupApi.getMotionGroupDescription\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupApi.streamMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* MotionGroupApi - factory interface\n*/\nconst MotionGroupApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = MotionGroupApiFp(configuration);\n\treturn {\n\t\tgetCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options) {\n\t\t\treturn localVarFp.getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupDescription(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.getMotionGroupDescription(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options) {\n\t\t\treturn localVarFp.streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* MotionGroupApi - object-oriented interface\n*/\nvar MotionGroupApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Returns the current state of the selected motion group including the current joint position, velocity, pose, and more. \n\t* @summary State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options) {\n\t\treturn MotionGroupApiFp(this.configuration).getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the set of parameters that describe the motion group and its configuration including safety zones, limits, etc. This data can change upon connection to the robot. \n\t* @summary Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupDescription(cell, controller, motionGroup, options) {\n\t\treturn MotionGroupApiFp(this.configuration).getMotionGroupDescription(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: success --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected. \n\t* @summary Stream State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\\'s step rate as well. Minimal response rate is the step rate of controller.\n\t* @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options) {\n\t\treturn MotionGroupApiFp(this.configuration).streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* MotionGroupModelsApi - axios parameter creator\n*/\nconst MotionGroupModelsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tgetMotionGroupCollisionModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupCollisionModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/collision`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupGlbModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupGlbModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/glb`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupKinematicModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupKinematicModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/kinematic`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupModels: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/motion-group-models`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupUsdModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupUsdModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/usd`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* MotionGroupModelsApi - functional programming interface\n*/\nconst MotionGroupModelsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = MotionGroupModelsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync getMotionGroupCollisionModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupCollisionModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupCollisionModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupGlbModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupGlbModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupGlbModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupKinematicModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupKinematicModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupKinematicModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupModels(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupModels(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupModels\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupUsdModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupUsdModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupUsdModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* MotionGroupModelsApi - factory interface\n*/\nconst MotionGroupModelsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = MotionGroupModelsApiFp(configuration);\n\treturn {\n\t\tgetMotionGroupCollisionModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupCollisionModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupGlbModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupGlbModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupKinematicModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupKinematicModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupModels(options) {\n\t\t\treturn localVarFp.getMotionGroupModels(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupUsdModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupUsdModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* MotionGroupModelsApi - object-oriented interface\n*/\nvar MotionGroupModelsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Returns the default collision link chain for a given motion group model. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Attach additional shapes to the link reference frames by extending the link dictionaries before further use. Additional shapes may overlap each other per link and may also overlap the respective link\\'s default shape. \n\t* @summary Get Collision Model\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](#/operations/getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupCollisionModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupCollisionModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Returns the GLB asset for the specified motion group model. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported identifiers. \n\t* @summary Download GLB Model\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](#/operations/getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupGlbModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupGlbModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported motion group models. \n\t* @summary Get Kinematics\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](#/operations/getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupKinematicModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupKinematicModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Returns the list of supported motion group models. \n\t* @summary Motion Group Models\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupModels(options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupModels(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Returns the USD scene model for the specified motion group model. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported identifiers. \n\t* @summary Download USD Model\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](#/operations/getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupUsdModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupUsdModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* NOVACloudApi - axios parameter creator\n*/\nconst NOVACloudApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tconnectToNovaCloud: async (completionTimeout, cloudConnectionRequest, options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/cloud/connect`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(cloudConnectionRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdisconnectFromNovaCloud: async (completionTimeout, options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/cloud/config`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetNovaCloudConfig: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/cloud/config`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* NOVACloudApi - functional programming interface\n*/\nconst NOVACloudApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = NOVACloudApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync connectToNovaCloud(completionTimeout, cloudConnectionRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.connectToNovaCloud(completionTimeout, cloudConnectionRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"NOVACloudApi.connectToNovaCloud\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync disconnectFromNovaCloud(completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.disconnectFromNovaCloud(completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"NOVACloudApi.disconnectFromNovaCloud\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getNovaCloudConfig(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getNovaCloudConfig(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"NOVACloudApi.getNovaCloudConfig\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* NOVACloudApi - factory interface\n*/\nconst NOVACloudApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = NOVACloudApiFp(configuration);\n\treturn {\n\t\tconnectToNovaCloud(completionTimeout, cloudConnectionRequest, options) {\n\t\t\treturn localVarFp.connectToNovaCloud(completionTimeout, cloudConnectionRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdisconnectFromNovaCloud(completionTimeout, options) {\n\t\t\treturn localVarFp.disconnectFromNovaCloud(completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetNovaCloudConfig(options) {\n\t\t\treturn localVarFp.getNovaCloudConfig(options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* NOVACloudApi - object-oriented interface\n*/\nvar NOVACloudApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_manage_cloud_connection` - Manage NOVA Cloud connection ___ <!-- theme: danger --> > **Experimental** Register this instance with the NOVA Cloud fleet manager and configure the local NATS server to establish a leafnode connection. The fleet manager will then be able to receive event data from this instance, allowing it to monitor the connected robots. Establishing the connection can take some time (~30-60 seconds), as the NATS server pod in the cluster needs to restart to apply the new configuration.\n\t* @summary Connect to NOVA Cloud\n\t* @param {number} [completionTimeout] The maximum time (**in seconds**) spent waiting until the operation is complete. If the parameter is set, the request will wait for completion until the specified time is up. For POST and PUT requests completion means that all resources are running and usable. For DELETE completion means that the deletion process is completed.\n\t* @param {CloudConnectionRequest} [cloudConnectionRequest] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tconnectToNovaCloud(completionTimeout, cloudConnectionRequest, options) {\n\t\treturn NOVACloudApiFp(this.configuration).connectToNovaCloud(completionTimeout, cloudConnectionRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_manage_cloud_connection` - Manage NOVA Cloud connection ___ <!-- theme: danger --> > **Experimental** Disconnects this instance from NOVA Cloud and removes the local NATS leafnode configuration.\n\t* @summary Disconnect from NOVA Cloud\n\t* @param {number} [completionTimeout] The maximum time (**in seconds**) spent waiting until the operation is complete. If the parameter is set, the request will wait for completion until the specified time is up. For POST and PUT requests completion means that all resources are running and usable. For DELETE completion means that the deletion process is completed.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdisconnectFromNovaCloud(completionTimeout, options) {\n\t\treturn NOVACloudApiFp(this.configuration).disconnectFromNovaCloud(completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ <!-- theme: danger --> > **Experimental** Get the current NOVA Cloud connection config for this instance.\n\t* @summary Get Connection Config\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetNovaCloudConfig(options) {\n\t\treturn NOVACloudApiFp(this.configuration).getNovaCloudConfig(options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* ProgramApi - axios parameter creator\n*/\nconst ProgramApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tgetProgram: async (cell, program, options = {}) => {\n\t\t\tassertParamExists(\"getProgram\", \"cell\", cell);\n\t\t\tassertParamExists(\"getProgram\", \"program\", program);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs/{program}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{program}`, encodeURIComponent(String(program)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistPrograms: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listPrograms\", \"cell\", cell);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstartProgram: async (cell, program, programStartRequest, options = {}) => {\n\t\t\tassertParamExists(\"startProgram\", \"cell\", cell);\n\t\t\tassertParamExists(\"startProgram\", \"program\", program);\n\t\t\tassertParamExists(\"startProgram\", \"programStartRequest\", programStartRequest);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs/{program}/start`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{program}`, encodeURIComponent(String(program)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(programStartRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstopProgram: async (cell, program, options = {}) => {\n\t\t\tassertParamExists(\"stopProgram\", \"cell\", cell);\n\t\t\tassertParamExists(\"stopProgram\", \"program\", program);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs/{program}/stop`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{program}`, encodeURIComponent(String(program)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ProgramApi - functional programming interface\n*/\nconst ProgramApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ProgramApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync getProgram(cell, program, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getProgram(cell, program, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.getProgram\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listPrograms(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listPrograms(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.listPrograms\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync startProgram(cell, program, programStartRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.startProgram(cell, program, programStartRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.startProgram\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync stopProgram(cell, program, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.stopProgram(cell, program, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.stopProgram\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ProgramApi - factory interface\n*/\nconst ProgramApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ProgramApiFp(configuration);\n\treturn {\n\t\tgetProgram(cell, program, options) {\n\t\t\treturn localVarFp.getProgram(cell, program, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistPrograms(cell, options) {\n\t\t\treturn localVarFp.listPrograms(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstartProgram(cell, program, programStartRequest, options) {\n\t\t\treturn localVarFp.startProgram(cell, program, programStartRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstopProgram(cell, program, options) {\n\t\t\treturn localVarFp.stopProgram(cell, program, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ProgramApi - object-oriented interface\n*/\nvar ProgramApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_programs` - Execute and monitor programs ___ <!-- theme: danger --> > **Experimental** Get details of a program. \n\t* @summary Get program\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} program \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetProgram(cell, program, options) {\n\t\treturn ProgramApiFp(this.configuration).getProgram(cell, program, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_programs` - Execute and monitor programs ___ <!-- theme: danger --> > **Experimental** List details of all existing programs. \n\t* @summary List programs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistPrograms(cell, options) {\n\t\treturn ProgramApiFp(this.configuration).listPrograms(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_programs` - Execute and monitor programs ___ <!-- theme: danger --> > **Experimental** This endpoint starts a new program execution. The program will be executed asynchronously. \n\t* @summary Start the program\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} program \n\t* @param {ProgramStartRequest} programStartRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstartProgram(cell, program, programStartRequest, options) {\n\t\treturn ProgramApiFp(this.configuration).startProgram(cell, program, programStartRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_programs` - Execute and monitor programs ___ <!-- theme: danger --> > **Experimental** Stop a specific program run. \n\t* @summary Stop program run\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} program \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstopProgram(cell, program, options) {\n\t\treturn ProgramApiFp(this.configuration).stopProgram(cell, program, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* RobotConfigurationsApi - axios parameter creator\n*/\nconst RobotConfigurationsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tgetControllerConfigFromArpScan: async (robotControllerConfigurationRequest, options = {}) => {\n\t\t\tassertParamExists(\"getControllerConfigFromArpScan\", \"robotControllerConfigurationRequest\", robotControllerConfigurationRequest);\n\t\t\tconst localVarUrlObj = new URL(`/experimental/system/network/controllers`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(robotControllerConfigurationRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetRobotConfigurations: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/robot-configurations`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* RobotConfigurationsApi - functional programming interface\n*/\nconst RobotConfigurationsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = RobotConfigurationsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync getControllerConfigFromArpScan(robotControllerConfigurationRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getControllerConfigFromArpScan(robotControllerConfigurationRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"RobotConfigurationsApi.getControllerConfigFromArpScan\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getRobotConfigurations(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getRobotConfigurations(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"RobotConfigurationsApi.getRobotConfigurations\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* RobotConfigurationsApi - factory interface\n*/\nconst RobotConfigurationsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = RobotConfigurationsApiFp(configuration);\n\treturn {\n\t\tgetControllerConfigFromArpScan(robotControllerConfigurationRequest, options) {\n\t\t\treturn localVarFp.getControllerConfigFromArpScan(robotControllerConfigurationRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetRobotConfigurations(options) {\n\t\t\treturn localVarFp.getRobotConfigurations(options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* RobotConfigurationsApi - object-oriented interface\n*/\nvar RobotConfigurationsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan). \n\t* @summary Robot Controller Configurations\n\t* @param {RobotControllerConfigurationRequest} robotControllerConfigurationRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetControllerConfigFromArpScan(robotControllerConfigurationRequest, options) {\n\t\treturn RobotConfigurationsApiFp(this.configuration).getControllerConfigFromArpScan(robotControllerConfigurationRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Returns the identifiers of available robot configurations. A robot configuration represents a robot controller with one or more attached motion groups. \n\t* @summary List Robot Configurations\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetRobotConfigurations(options) {\n\t\treturn RobotConfigurationsApiFp(this.configuration).getRobotConfigurations(options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* StoreCollisionComponentsApi - axios parameter creator\n*/\nconst StoreCollisionComponentsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tdeleteStoredCollider: async (cell, collider, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollider\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollider\", \"collider\", collider);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders/{collider}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{collider}`, encodeURIComponent(String(collider)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteStoredCollisionLinkChain: async (cell, linkChain, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollisionLinkChain\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollisionLinkChain\", \"linkChain\", linkChain);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains/{link-chain}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{link-chain}`, encodeURIComponent(String(linkChain)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteStoredCollisionTool: async (cell, tool, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollisionTool\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollisionTool\", \"tool\", tool);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools/{tool}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{tool}`, encodeURIComponent(String(tool)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollider: async (cell, collider, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollider\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollider\", \"collider\", collider);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders/{collider}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{collider}`, encodeURIComponent(String(collider)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollisionLinkChain: async (cell, linkChain, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollisionLinkChain\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollisionLinkChain\", \"linkChain\", linkChain);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains/{link-chain}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{link-chain}`, encodeURIComponent(String(linkChain)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollisionTool: async (cell, tool, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollisionTool\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollisionTool\", \"tool\", tool);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools/{tool}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{tool}`, encodeURIComponent(String(tool)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCollisionLinkChains: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listCollisionLinkChains\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCollisionLinkChainsKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listCollisionLinkChainsKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredColliders: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredColliders\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollidersKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollidersKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionTools: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionTools\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionToolsKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionToolsKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollider: async (cell, collider, collider2, options = {}) => {\n\t\t\tassertParamExists(\"storeCollider\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollider\", \"collider\", collider);\n\t\t\tassertParamExists(\"storeCollider\", \"collider2\", collider2);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders/{collider}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{collider}`, encodeURIComponent(String(collider)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(collider2, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollisionLinkChain: async (cell, linkChain, collider, options = {}) => {\n\t\t\tassertParamExists(\"storeCollisionLinkChain\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollisionLinkChain\", \"linkChain\", linkChain);\n\t\t\tassertParamExists(\"storeCollisionLinkChain\", \"collider\", collider);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains/{link-chain}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{link-chain}`, encodeURIComponent(String(linkChain)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(collider, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollisionTool: async (cell, tool, requestBody, options = {}) => {\n\t\t\tassertParamExists(\"storeCollisionTool\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollisionTool\", \"tool\", tool);\n\t\t\tassertParamExists(\"storeCollisionTool\", \"requestBody\", requestBody);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools/{tool}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{tool}`, encodeURIComponent(String(tool)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* StoreCollisionComponentsApi - functional programming interface\n*/\nconst StoreCollisionComponentsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = StoreCollisionComponentsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync deleteStoredCollider(cell, collider, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollider(cell, collider, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.deleteStoredCollider\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollisionLinkChain(cell, linkChain, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.deleteStoredCollisionLinkChain\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteStoredCollisionTool(cell, tool, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollisionTool(cell, tool, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.deleteStoredCollisionTool\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollider(cell, collider, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollider(cell, collider, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.getStoredCollider\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollisionLinkChain(cell, linkChain, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.getStoredCollisionLinkChain\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollisionTool(cell, tool, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollisionTool(cell, tool, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.getStoredCollisionTool\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCollisionLinkChains(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCollisionLinkChains(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listCollisionLinkChains\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCollisionLinkChainsKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCollisionLinkChainsKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listCollisionLinkChainsKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredColliders(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredColliders(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredColliders\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollidersKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollidersKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredCollidersKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionTools(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionTools(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredCollisionTools\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionToolsKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionToolsKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredCollisionToolsKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollider(cell, collider, collider2, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollider(cell, collider, collider2, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.storeCollider\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollisionLinkChain(cell, linkChain, collider, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollisionLinkChain(cell, linkChain, collider, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.storeCollisionLinkChain\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollisionTool(cell, tool, requestBody, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollisionTool(cell, tool, requestBody, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.storeCollisionTool\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* StoreCollisionComponentsApi - factory interface\n*/\nconst StoreCollisionComponentsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = StoreCollisionComponentsApiFp(configuration);\n\treturn {\n\t\tdeleteStoredCollider(cell, collider, options) {\n\t\t\treturn localVarFp.deleteStoredCollider(cell, collider, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\treturn localVarFp.deleteStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteStoredCollisionTool(cell, tool, options) {\n\t\t\treturn localVarFp.deleteStoredCollisionTool(cell, tool, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollider(cell, collider, options) {\n\t\t\treturn localVarFp.getStoredCollider(cell, collider, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\treturn localVarFp.getStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollisionTool(cell, tool, options) {\n\t\t\treturn localVarFp.getStoredCollisionTool(cell, tool, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCollisionLinkChains(cell, options) {\n\t\t\treturn localVarFp.listCollisionLinkChains(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCollisionLinkChainsKeys(cell, options) {\n\t\t\treturn localVarFp.listCollisionLinkChainsKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredColliders(cell, options) {\n\t\t\treturn localVarFp.listStoredColliders(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollidersKeys(cell, options) {\n\t\t\treturn localVarFp.listStoredCollidersKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionTools(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionTools(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionToolsKeys(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionToolsKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollider(cell, collider, collider2, options) {\n\t\t\treturn localVarFp.storeCollider(cell, collider, collider2, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollisionLinkChain(cell, linkChain, collider, options) {\n\t\t\treturn localVarFp.storeCollisionLinkChain(cell, linkChain, collider, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollisionTool(cell, tool, requestBody, options) {\n\t\t\treturn localVarFp.storeCollisionTool(cell, tool, requestBody, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* StoreCollisionComponentsApi - object-oriented interface\n*/\nvar StoreCollisionComponentsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Deletes the stored collider. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Collider\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} collider Unique identifier addressing a collider.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollider(cell, collider, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).deleteStoredCollider(cell, collider, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Deletes the stored link chain. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Link Chain\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} linkChain Unique identifier addressing a collision link chain.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollisionLinkChain(cell, linkChain, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).deleteStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Deletes the stored tool. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Tool\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} tool Unique identifier addressing a collision tool.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollisionTool(cell, tool, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).deleteStoredCollisionTool(cell, tool, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns the collider. \n\t* @summary Get Collider\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} collider Unique identifier addressing a collider.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollider(cell, collider, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).getStoredCollider(cell, collider, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns the collision link chain. \n\t* @summary Get Link Chain\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} linkChain Unique identifier addressing a collision link chain.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollisionLinkChain(cell, linkChain, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).getStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns the stored tool. \n\t* @summary Get Tool\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} tool Unique identifier addressing a collision tool.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollisionTool(cell, tool, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).getStoredCollisionTool(cell, tool, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns the stored link chains. \n\t* @summary List Link Chains\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCollisionLinkChains(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listCollisionLinkChains(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns a list of keys for stored link chains. \n\t* @summary List Link Chain Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCollisionLinkChainsKeys(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listCollisionLinkChainsKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns all stored colliders. \n\t* @summary List Colliders\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredColliders(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredColliders(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns a list of keys for stored colliders. \n\t* @summary List Collider Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollidersKeys(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredCollidersKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns the list of stored tools. \n\t* @summary List Tools\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionTools(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredCollisionTools(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns a list of keys for stored tools. \n\t* @summary List Tool Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionToolsKeys(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredCollisionToolsKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Stores collider. - If the collider does not exist, it will be created. - If the collider exists, it will be updated. \n\t* @summary Store Collider\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} collider Unique identifier addressing a collider.\n\t* @param {Collider} collider2 \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollider(cell, collider, collider2, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).storeCollider(cell, collider, collider2, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Stores link chain. - If the link chain does not exist, it will be created. - If the link chain exists, it will be updated. \n\t* @summary Store Link Chain\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} linkChain Unique identifier addressing a collision link chain.\n\t* @param {Array<{ [key: string]: Collider; }>} collider \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollisionLinkChain(cell, linkChain, collider, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).storeCollisionLinkChain(cell, linkChain, collider, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Stores the tool. - If the tool does not exist, it will be created. - If the tool exists, it will be updated. \n\t* @summary Store Tool\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} tool Unique identifier addressing a collision tool.\n\t* @param {{ [key: string]: Collider; }} requestBody \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollisionTool(cell, tool, requestBody, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).storeCollisionTool(cell, tool, requestBody, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* StoreCollisionSetupsApi - axios parameter creator\n*/\nconst StoreCollisionSetupsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tdeleteStoredCollisionSetup: async (cell, setup, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollisionSetup\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollisionSetup\", \"setup\", setup);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups/{setup}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{setup}`, encodeURIComponent(String(setup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollisionSetup: async (cell, setup, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollisionSetup\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollisionSetup\", \"setup\", setup);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups/{setup}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{setup}`, encodeURIComponent(String(setup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionSetups: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionSetups\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionSetupsKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionSetupsKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollisionSetup: async (cell, setup, collisionSetup, options = {}) => {\n\t\t\tassertParamExists(\"storeCollisionSetup\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollisionSetup\", \"setup\", setup);\n\t\t\tassertParamExists(\"storeCollisionSetup\", \"collisionSetup\", collisionSetup);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups/{setup}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{setup}`, encodeURIComponent(String(setup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(collisionSetup, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* StoreCollisionSetupsApi - functional programming interface\n*/\nconst StoreCollisionSetupsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = StoreCollisionSetupsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync deleteStoredCollisionSetup(cell, setup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollisionSetup(cell, setup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.deleteStoredCollisionSetup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollisionSetup(cell, setup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollisionSetup(cell, setup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.getStoredCollisionSetup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionSetups(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionSetups(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.listStoredCollisionSetups\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionSetupsKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionSetupsKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.listStoredCollisionSetupsKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollisionSetup(cell, setup, collisionSetup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollisionSetup(cell, setup, collisionSetup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.storeCollisionSetup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* StoreCollisionSetupsApi - factory interface\n*/\nconst StoreCollisionSetupsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = StoreCollisionSetupsApiFp(configuration);\n\treturn {\n\t\tdeleteStoredCollisionSetup(cell, setup, options) {\n\t\t\treturn localVarFp.deleteStoredCollisionSetup(cell, setup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollisionSetup(cell, setup, options) {\n\t\t\treturn localVarFp.getStoredCollisionSetup(cell, setup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionSetups(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionSetups(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionSetupsKeys(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionSetupsKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollisionSetup(cell, setup, collisionSetup, options) {\n\t\t\treturn localVarFp.storeCollisionSetup(cell, setup, collisionSetup, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* StoreCollisionSetupsApi - object-oriented interface\n*/\nvar StoreCollisionSetupsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Deletes the stored collision setup. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Collision Setup\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} setup Identifier of the collision setup\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollisionSetup(cell, setup, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).deleteStoredCollisionSetup(cell, setup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns the stored collision setup. \n\t* @summary Get Collision Setup\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} setup Identifier of the collision setup\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollisionSetup(cell, setup, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).getStoredCollisionSetup(cell, setup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns a list of stored collision setups. \n\t* @summary List Collision Setups\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionSetups(cell, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).listStoredCollisionSetups(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_collision_world` - Read collision models and scenes ___ Returns a list of keys for stored collision setups. \n\t* @summary List Collision Setup Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionSetupsKeys(cell, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).listStoredCollisionSetupsKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_collision_world` - Write collision models and scenes ___ Stores collision setup. - If the collision setup does not exist, it will be created. - If the collision setup exists, it will be updated. \n\t* @summary Store Collision Setup\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} setup Identifier of the collision setup\n\t* @param {CollisionSetup} collisionSetup \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollisionSetup(cell, setup, collisionSetup, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).storeCollisionSetup(cell, setup, collisionSetup, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* StoreObjectApi - axios parameter creator\n*/\nconst StoreObjectApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tclearAllObjects: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"clearAllObjects\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteObject: async (cell, key, options = {}) => {\n\t\t\tassertParamExists(\"deleteObject\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteObject\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetObject: async (cell, key, options = {}) => {\n\t\t\tassertParamExists(\"getObject\", \"cell\", cell);\n\t\t\tassertParamExists(\"getObject\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetObjectMetadata: async (cell, key, options = {}) => {\n\t\t\tassertParamExists(\"getObjectMetadata\", \"cell\", cell);\n\t\t\tassertParamExists(\"getObjectMetadata\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"HEAD\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistAllObjectKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listAllObjectKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreObject: async (cell, key, xMetadata, anyValue, options = {}) => {\n\t\t\tassertParamExists(\"storeObject\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeObject\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tconst localVarFormParams = new (configuration && configuration.formDataCtor || FormData)();\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (anyValue !== void 0) localVarFormParams.append(\"any_value\", new Blob([JSON.stringify(anyValue)], { type: \"application/json\" }));\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"multipart/form-data\";\n\t\t\tif (xMetadata != null) localVarHeaderParameter[\"X-Metadata\"] = typeof xMetadata === \"string\" ? xMetadata : JSON.stringify(xMetadata);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = localVarFormParams;\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* StoreObjectApi - functional programming interface\n*/\nconst StoreObjectApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = StoreObjectApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync clearAllObjects(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearAllObjects(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.clearAllObjects\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteObject(cell, key, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteObject(cell, key, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.deleteObject\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getObject(cell, key, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getObject(cell, key, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.getObject\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getObjectMetadata(cell, key, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getObjectMetadata(cell, key, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.getObjectMetadata\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listAllObjectKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listAllObjectKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.listAllObjectKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeObject(cell, key, xMetadata, anyValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeObject(cell, key, xMetadata, anyValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.storeObject\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* StoreObjectApi - factory interface\n*/\nconst StoreObjectApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = StoreObjectApiFp(configuration);\n\treturn {\n\t\tclearAllObjects(cell, options) {\n\t\t\treturn localVarFp.clearAllObjects(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteObject(cell, key, options) {\n\t\t\treturn localVarFp.deleteObject(cell, key, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetObject(cell, key, options) {\n\t\t\treturn localVarFp.getObject(cell, key, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetObjectMetadata(cell, key, options) {\n\t\t\treturn localVarFp.getObjectMetadata(cell, key, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistAllObjectKeys(cell, options) {\n\t\t\treturn localVarFp.listAllObjectKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreObject(cell, key, xMetadata, anyValue, options) {\n\t\t\treturn localVarFp.storeObject(cell, key, xMetadata, anyValue, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* StoreObjectApi - object-oriented interface\n*/\nvar StoreObjectApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_write_objects` - Write stored objects ___ Delete all objects. <!-- theme: danger --> > This will delete ALL your persistently stored data. \n\t* @summary Clear all Objects\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearAllObjects(cell, options) {\n\t\treturn StoreObjectApiFp(this.configuration).clearAllObjects(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_objects` - Write stored objects ___ Delete an object <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Object\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteObject(cell, key, options) {\n\t\treturn StoreObjectApiFp(this.configuration).deleteObject(cell, key, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_objects` - Read stored objects ___ Returns content and metadata of a stored object. \n\t* @summary Get Object\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetObject(cell, key, options) {\n\t\treturn StoreObjectApiFp(this.configuration).getObject(cell, key, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_objects` - Read stored objects ___ Returns metadata. Object content is not returned. \n\t* @summary Get Object Metadata\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetObjectMetadata(cell, key, options) {\n\t\treturn StoreObjectApiFp(this.configuration).getObjectMetadata(cell, key, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_read_objects` - Read stored objects ___ List the keys for all objects. \n\t* @summary List all Object Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistAllObjectKeys(cell, options) {\n\t\treturn StoreObjectApiFp(this.configuration).listAllObjectKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_write_objects` - Write stored objects ___ Store any data as an object. Using a key which already contains an object will override the previously stored object. Use [getObjectMetadata](#/operations/getObjectMetadata) to verify that the key does not contain objects. #### Optional Specify metadata as a dictionary with names and values. \n\t* @summary Store Object\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {{ [key: string]: string; }} [xMetadata] \n\t* @param {any} [anyValue] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreObject(cell, key, xMetadata, anyValue, options) {\n\t\treturn StoreObjectApiFp(this.configuration).storeObject(cell, key, xMetadata, anyValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* SystemApi - axios parameter creator\n*/\nconst SystemApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tbackupConfiguration: async (resources, metadata, options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (resources) localVarQueryParameter[\"resources\"] = resources.join(COLLECTION_FORMATS.csv);\n\t\t\tif (metadata !== void 0) localVarQueryParameter[\"metadata\"] = metadata;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tcheckNovaVersionUpdate: async (channel, options = {}) => {\n\t\t\tassertParamExists(\"checkNovaVersionUpdate\", \"channel\", channel);\n\t\t\tconst localVarUrlObj = new URL(`/system/update`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (channel !== void 0) localVarQueryParameter[\"channel\"] = channel;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetArpScan: async (_interface, cidr, timeout, options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/system/network/arp-scan`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (_interface !== void 0) localVarQueryParameter[\"interface\"] = _interface;\n\t\t\tif (cidr !== void 0) localVarQueryParameter[\"cidr\"] = cidr;\n\t\t\tif (timeout !== void 0) localVarQueryParameter[\"timeout\"] = timeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetConfigurationBackupStatus: async (operationId, options = {}) => {\n\t\t\tassertParamExists(\"getConfigurationBackupStatus\", \"operationId\", operationId);\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (operationId !== void 0) localVarQueryParameter[\"operation_id\"] = operationId;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetDiagnosePackage: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/diagnosis-package/zip`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetNetworkInterfaces: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/system/network/interfaces`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetNetworkState: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/system/network/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetSystemStatus: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetSystemVersion: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/version`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistConfigurationResources: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration/resources`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\trestoreConfiguration: async (body, resources, options = {}) => {\n\t\t\tassertParamExists(\"restoreConfiguration\", \"body\", body);\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (resources) localVarQueryParameter[\"resources\"] = resources.join(COLLECTION_FORMATS.csv);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/gzip\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateNovaVersion: async (updateNovaVersionRequest, options = {}) => {\n\t\t\tassertParamExists(\"updateNovaVersion\", \"updateNovaVersionRequest\", updateNovaVersionRequest);\n\t\t\tconst localVarUrlObj = new URL(`/system/update`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(updateNovaVersionRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* SystemApi - functional programming interface\n*/\nconst SystemApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = SystemApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync backupConfiguration(resources, metadata, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.backupConfiguration(resources, metadata, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.backupConfiguration\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync checkNovaVersionUpdate(channel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.checkNovaVersionUpdate(channel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.checkNovaVersionUpdate\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getArpScan(_interface, cidr, timeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getArpScan(_interface, cidr, timeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getArpScan\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getConfigurationBackupStatus(operationId, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getConfigurationBackupStatus(operationId, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getConfigurationBackupStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getDiagnosePackage(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getDiagnosePackage(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getDiagnosePackage\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getNetworkInterfaces(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getNetworkInterfaces(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getNetworkInterfaces\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getNetworkState(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getNetworkState(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getNetworkState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getSystemStatus(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getSystemStatus(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getSystemStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getSystemVersion(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getSystemVersion(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getSystemVersion\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listConfigurationResources(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listConfigurationResources(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.listConfigurationResources\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync restoreConfiguration(body, resources, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.restoreConfiguration(body, resources, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.restoreConfiguration\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateNovaVersion(updateNovaVersionRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateNovaVersion(updateNovaVersionRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.updateNovaVersion\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* SystemApi - factory interface\n*/\nconst SystemApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = SystemApiFp(configuration);\n\treturn {\n\t\tbackupConfiguration(resources, metadata, options) {\n\t\t\treturn localVarFp.backupConfiguration(resources, metadata, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tcheckNovaVersionUpdate(channel, options) {\n\t\t\treturn localVarFp.checkNovaVersionUpdate(channel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetArpScan(_interface, cidr, timeout, options) {\n\t\t\treturn localVarFp.getArpScan(_interface, cidr, timeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetConfigurationBackupStatus(operationId, options) {\n\t\t\treturn localVarFp.getConfigurationBackupStatus(operationId, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetDiagnosePackage(options) {\n\t\t\treturn localVarFp.getDiagnosePackage(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetNetworkInterfaces(options) {\n\t\t\treturn localVarFp.getNetworkInterfaces(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetNetworkState(options) {\n\t\t\treturn localVarFp.getNetworkState(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetSystemStatus(options) {\n\t\t\treturn localVarFp.getSystemStatus(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetSystemVersion(options) {\n\t\t\treturn localVarFp.getSystemVersion(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistConfigurationResources(options) {\n\t\t\treturn localVarFp.listConfigurationResources(options).then((request) => request(axios, basePath));\n\t\t},\n\t\trestoreConfiguration(body, resources, options) {\n\t\t\treturn localVarFp.restoreConfiguration(body, resources, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateNovaVersion(updateNovaVersionRequest, options) {\n\t\t\treturn localVarFp.updateNovaVersion(updateNovaVersionRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* SystemApi - object-oriented interface\n*/\nvar SystemApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_backup_system` - Create system backups ___ Retrieves a configuration backup based on provided resource identifiers. If an empty array of resources is provided, a backup for all resources will be retrieved. \n\t* @summary Retrieve Configuration Backup\n\t* @param {Array<string>} [resources] List of resource identifiers to include in the retrieval.\n\t* @param {{ [key: string]: string; }} [metadata] Additional metadata to add to the backup\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tbackupConfiguration(resources, metadata, options) {\n\t\treturn SystemApiFp(this.configuration).backupConfiguration(resources, metadata, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_update_system` - Update system versions and services ___ Check if a more recent Wandelbots NOVA Version is available. \n\t* @summary Check update\n\t* @param {ReleaseChannel} channel \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tcheckNovaVersionUpdate(channel, options) {\n\t\treturn SystemApiFp(this.configuration).checkNovaVersionUpdate(channel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ <!-- theme: danger --> > **Experimental** Performs an address resolution protocol (ARP) scan on the specified interface/classless inter-domain routing (CIDR) and returns all discovered devices on the network by CIDR notation. \n\t* @summary Get ARP-Scan\n\t* @param {string} [_interface] \n\t* @param {string} [cidr] \n\t* @param {number} [timeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetArpScan(_interface, cidr, timeout, options) {\n\t\treturn SystemApiFp(this.configuration).getArpScan(_interface, cidr, timeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_backup_system` - Create system backups ___ Retrieves the status of a configuration backup. The status can only be requested for 5 minutes after backup creation. After 5 minutes, 404 is returned.\n\t* @summary Retrieve Backup Status\n\t* @param {string} operationId \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetConfigurationBackupStatus(operationId, options) {\n\t\treturn SystemApiFp(this.configuration).getConfigurationBackupStatus(operationId, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Collects information on the current status of all NOVA services and exports them as a .zip file. Includes information on all cells on the instance such as the service logs and virtual robot controllers. From each cell the logs of all services are included, as well as the configuration of each connected controller to start virtual robots. \n\t* @summary Download Diagnosis Package\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetDiagnosePackage(options) {\n\t\treturn SystemApiFp(this.configuration).getDiagnosePackage(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ <!-- theme: danger --> > **Experimental** Get the network interfaces of the system. \n\t* @summary Network Interfaces\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetNetworkInterfaces(options) {\n\t\treturn SystemApiFp(this.configuration).getNetworkInterfaces(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ <!-- theme: danger --> > **Experimental** Get the current state of the network. \n\t* @summary Network State\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetNetworkState(options) {\n\t\treturn SystemApiFp(this.configuration).getNetworkState(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Get the status of all system services. \n\t* @summary Wandelbots NOVA status\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetSystemStatus(options) {\n\t\treturn SystemApiFp(this.configuration).getSystemStatus(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Get the current Wandelbots NOVA version. \n\t* @summary Wandelbots NOVA Version\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetSystemVersion(options) {\n\t\treturn SystemApiFp(this.configuration).getSystemVersion(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_backup_system` - Create system backups ___ Retrieves a list of all available configuration resources for backup purposes. \n\t* @summary List Configuration Resources\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistConfigurationResources(options) {\n\t\treturn SystemApiFp(this.configuration).listConfigurationResources(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_restore_system` - Restore system backups ___ Restores a previously backed up configuration. If an empty array of resources is provided, all resources from the backup will be restored. \n\t* @summary Restore Configuration Backup\n\t* @param {File} body Backup file stream containing the configuration to restore.\n\t* @param {Array<string>} [resources] List of resource identifiers to restore. If empty, all resources from the backup will be restored.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\trestoreConfiguration(body, resources, options) {\n\t\treturn SystemApiFp(this.configuration).restoreConfiguration(body, resources, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_update_system` - Update system versions and services ___ Update the Wandelbots NOVA version and all attached services. Sending this API Request will trigger an update of all NOVA services that are part of a cell. Previous cells and cell configurations will remain on the instance. If the update fails, the previous Wandelbots NOVA version is restored. System updates only apply to cells without an explicit chart version. Pinned versions are always preserved; setting `update_cells=false` pins unversioned cells to the current system version before updating. \n\t* @summary Update Wandelbots NOVA version\n\t* @param {UpdateNovaVersionRequest} updateNovaVersionRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateNovaVersion(updateNovaVersionRequest, options) {\n\t\treturn SystemApiFp(this.configuration).updateNovaVersion(updateNovaVersionRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* TrajectoryCachingApi - axios parameter creator\n*/\nconst TrajectoryCachingApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddTrajectory: async (cell, controller, addTrajectoryRequest, options = {}) => {\n\t\t\tassertParamExists(\"addTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"addTrajectory\", \"controller\", controller);\n\t\t\tassertParamExists(\"addTrajectory\", \"addTrajectoryRequest\", addTrajectoryRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(addTrajectoryRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearTrajectories: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"clearTrajectories\", \"cell\", cell);\n\t\t\tassertParamExists(\"clearTrajectories\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteTrajectory: async (cell, controller, trajectory, options = {}) => {\n\t\t\tassertParamExists(\"deleteTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteTrajectory\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteTrajectory\", \"trajectory\", trajectory);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories/{trajectory}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{trajectory}`, encodeURIComponent(String(trajectory)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetTrajectory: async (cell, controller, trajectory, options = {}) => {\n\t\t\tassertParamExists(\"getTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"getTrajectory\", \"controller\", controller);\n\t\t\tassertParamExists(\"getTrajectory\", \"trajectory\", trajectory);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories/{trajectory}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{trajectory}`, encodeURIComponent(String(trajectory)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistTrajectories: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"listTrajectories\", \"cell\", cell);\n\t\t\tassertParamExists(\"listTrajectories\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* TrajectoryCachingApi - functional programming interface\n*/\nconst TrajectoryCachingApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = TrajectoryCachingApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addTrajectory(cell, controller, addTrajectoryRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addTrajectory(cell, controller, addTrajectoryRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.addTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearTrajectories(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearTrajectories(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.clearTrajectories\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteTrajectory(cell, controller, trajectory, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteTrajectory(cell, controller, trajectory, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.deleteTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getTrajectory(cell, controller, trajectory, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getTrajectory(cell, controller, trajectory, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.getTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listTrajectories(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listTrajectories(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.listTrajectories\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* TrajectoryCachingApi - factory interface\n*/\nconst TrajectoryCachingApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = TrajectoryCachingApiFp(configuration);\n\treturn {\n\t\taddTrajectory(cell, controller, addTrajectoryRequest, options) {\n\t\t\treturn localVarFp.addTrajectory(cell, controller, addTrajectoryRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearTrajectories(cell, controller, options) {\n\t\t\treturn localVarFp.clearTrajectories(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteTrajectory(cell, controller, trajectory, options) {\n\t\t\treturn localVarFp.deleteTrajectory(cell, controller, trajectory, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetTrajectory(cell, controller, trajectory, options) {\n\t\t\treturn localVarFp.getTrajectory(cell, controller, trajectory, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistTrajectories(cell, controller, options) {\n\t\t\treturn localVarFp.listTrajectories(cell, controller, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* TrajectoryCachingApi - object-oriented interface\n*/\nvar TrajectoryCachingApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. <!-- theme: info --> > #### NOTE > > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](#/operations/executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](#/operations/planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](#/operations/listTrajectories) endpoint, if it is at least partially executable. - Execute your trajectory using the [executeTrajectory](#/operations/executeTrajectory) endpoint. \n\t* @summary Add Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {AddTrajectoryRequest} addTrajectoryRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddTrajectory(cell, controller, addTrajectoryRequest, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).addTrajectory(cell, controller, addTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Clear the trajectory cache.\n\t* @summary Clear Trajectories\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearTrajectories(cell, controller, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).clearTrajectories(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Delete a previously created trajectory from cache. Use [listTrajectories](#/operations/listTrajectories) to list all cached trajectories. Trajectories are removed automatically if the motion group or the corresponding controller is disconnected. \n\t* @summary Delete Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteTrajectory(cell, controller, trajectory, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).deleteTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get a previously created trajectory from cache. Use [listTrajectories](#/operations/listTrajectories) to list all cached trajectories. \n\t* @summary Get Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetTrajectory(cell, controller, trajectory, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).getTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ List currently cached trajectories. Use [addTrajectory](#/operations/addTrajectory) to add a new trajectory. Adding trajectories is necessary to execute them. Trajectories are removed if the corresponding motion group or controller disconnects. \n\t* @summary List Trajectories\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistTrajectories(cell, controller, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).listTrajectories(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* TrajectoryExecutionApi - axios parameter creator\n*/\nconst TrajectoryExecutionApiAxiosParamCreator = function(configuration) {\n\treturn { executeTrajectory: async (cell, controller, executeTrajectoryRequest, options = {}) => {\n\t\tassertParamExists(\"executeTrajectory\", \"cell\", cell);\n\t\tassertParamExists(\"executeTrajectory\", \"controller\", controller);\n\t\tassertParamExists(\"executeTrajectory\", \"executeTrajectoryRequest\", executeTrajectoryRequest);\n\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/execution/trajectory`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\tlet baseOptions;\n\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\tconst localVarRequestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...baseOptions,\n\t\t\t...options\n\t\t};\n\t\tconst localVarHeaderParameter = {};\n\t\tconst localVarQueryParameter = {};\n\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\tlocalVarRequestOptions.headers = {\n\t\t\t...localVarHeaderParameter,\n\t\t\t...headersFromBaseOptions,\n\t\t\t...options.headers\n\t\t};\n\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(executeTrajectoryRequest, localVarRequestOptions, configuration);\n\t\treturn {\n\t\t\turl: toPathString(localVarUrlObj),\n\t\t\toptions: localVarRequestOptions\n\t\t};\n\t} };\n};\n/**\n* TrajectoryExecutionApi - functional programming interface\n*/\nconst TrajectoryExecutionApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = TrajectoryExecutionApiAxiosParamCreator(configuration);\n\treturn { async executeTrajectory(cell, controller, executeTrajectoryRequest, options) {\n\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.executeTrajectory(cell, controller, executeTrajectoryRequest, options);\n\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryExecutionApi.executeTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t} };\n};\n/**\n* TrajectoryExecutionApi - factory interface\n*/\nconst TrajectoryExecutionApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = TrajectoryExecutionApiFp(configuration);\n\treturn { executeTrajectory(cell, controller, executeTrajectoryRequest, options) {\n\t\treturn localVarFp.executeTrajectory(cell, controller, executeTrajectoryRequest, options).then((request) => request(axios, basePath));\n\t} };\n};\n/**\n* TrajectoryExecutionApi - object-oriented interface\n*/\nvar TrajectoryExecutionApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](#/operations/planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](#/operations/planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group\\'s control mode is not claimed by any other endpoint. - The motion group\\'s joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](#/operations/executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time. Pausing the current movement enables you to send another `InitializeMovementRequest` to execute another trajectory on the same connection. #### 2. Send `StartMovementRequest` to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send `PauseMovementRequest` before the movement has reached its end location. - Change the movement\\'s velocity with `PlaybackSpeedRequest` after initializing the movement with `InitializeMovementRequest`. ### Responses To monitor the state of the movement, listen to the [state stream](#/operations/streamMotionGroupState). The state is published via nats as well. Field `execute` in the `MotionGroupState` indicates whether a movement is ongoing and carries execution details. Each request has a corresponding acknowledgment response. They signal success or failure of the request. Especially for `PauseMovementResponse`, it does not signal the end of the movement. Additionally, `MovementError` messages can be sent in case of unexpected errors during the execution, e.g., controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending `PauseMovementRequest` and `StartMovementRequest`. - Send `PlaybackSpeedRequest` before `StartMovementRequest` to reduce the velocity of the movement before it starts. - Send `PlaybackSpeedRequest` repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send `PlaybackSpeedRequest` with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending `StartMovementRequest` after the movement has finished. \n\t* @summary Execute Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {ExecuteTrajectoryRequest} executeTrajectoryRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\texecuteTrajectory(cell, controller, executeTrajectoryRequest, options) {\n\t\treturn TrajectoryExecutionApiFp(this.configuration).executeTrajectory(cell, controller, executeTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* TrajectoryPlanningApi - axios parameter creator\n*/\nconst TrajectoryPlanningApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tmergeTrajectories: async (cell, mergeTrajectoriesRequest, options = {}) => {\n\t\t\tassertParamExists(\"mergeTrajectories\", \"cell\", cell);\n\t\t\tassertParamExists(\"mergeTrajectories\", \"mergeTrajectoriesRequest\", mergeTrajectoriesRequest);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/trajectory-planning/merge-trajectories`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(mergeTrajectoriesRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tplanCollisionFree: async (cell, planCollisionFreeRequest, options = {}) => {\n\t\t\tassertParamExists(\"planCollisionFree\", \"cell\", cell);\n\t\t\tassertParamExists(\"planCollisionFree\", \"planCollisionFreeRequest\", planCollisionFreeRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/trajectory-planning/plan-collision-free`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(planCollisionFreeRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tplanTrajectory: async (cell, planTrajectoryRequest, options = {}) => {\n\t\t\tassertParamExists(\"planTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"planTrajectory\", \"planTrajectoryRequest\", planTrajectoryRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/trajectory-planning/plan-trajectory`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(planTrajectoryRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsearchCollisionFreeMultiMotionGroup: async (cell, multiSearchCollisionFreeRequest, options = {}) => {\n\t\t\tassertParamExists(\"searchCollisionFreeMultiMotionGroup\", \"cell\", cell);\n\t\t\tassertParamExists(\"searchCollisionFreeMultiMotionGroup\", \"multiSearchCollisionFreeRequest\", multiSearchCollisionFreeRequest);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/trajectory-planning/search-collision-free-multi-motion-group`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(multiSearchCollisionFreeRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* TrajectoryPlanningApi - functional programming interface\n*/\nconst TrajectoryPlanningApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = TrajectoryPlanningApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync mergeTrajectories(cell, mergeTrajectoriesRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.mergeTrajectories(cell, mergeTrajectoriesRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryPlanningApi.mergeTrajectories\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync planCollisionFree(cell, planCollisionFreeRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.planCollisionFree(cell, planCollisionFreeRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryPlanningApi.planCollisionFree\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync planTrajectory(cell, planTrajectoryRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.planTrajectory(cell, planTrajectoryRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryPlanningApi.planTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync searchCollisionFreeMultiMotionGroup(cell, multiSearchCollisionFreeRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.searchCollisionFreeMultiMotionGroup(cell, multiSearchCollisionFreeRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryPlanningApi.searchCollisionFreeMultiMotionGroup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* TrajectoryPlanningApi - factory interface\n*/\nconst TrajectoryPlanningApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = TrajectoryPlanningApiFp(configuration);\n\treturn {\n\t\tmergeTrajectories(cell, mergeTrajectoriesRequest, options) {\n\t\t\treturn localVarFp.mergeTrajectories(cell, mergeTrajectoriesRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tplanCollisionFree(cell, planCollisionFreeRequest, options) {\n\t\t\treturn localVarFp.planCollisionFree(cell, planCollisionFreeRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tplanTrajectory(cell, planTrajectoryRequest, options) {\n\t\t\treturn localVarFp.planTrajectory(cell, planTrajectoryRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsearchCollisionFreeMultiMotionGroup(cell, multiSearchCollisionFreeRequest, options) {\n\t\t\treturn localVarFp.searchCollisionFreeMultiMotionGroup(cell, multiSearchCollisionFreeRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* TrajectoryPlanningApi - object-oriented interface\n*/\nvar TrajectoryPlanningApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_plan_motion` - Plan robot motions and trajectories ___ <!-- theme: danger --> > **Experimental** Merges a list of joint trajectories into a single trajectory with collision-aware blending. This endpoint merges a list of separate trajectories by connecting them via blending. The blending is performed with collision checking to ensure the merged trajectory is safe to execute. Timescaling will be applied to the blended area to ensure all limits are respected. \n\t* @summary Merge Trajectories\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {MergeTrajectoriesRequest} mergeTrajectoriesRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tmergeTrajectories(cell, mergeTrajectoriesRequest, options) {\n\t\treturn TrajectoryPlanningApiFp(this.configuration).mergeTrajectories(cell, mergeTrajectoriesRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_plan_motion` - Plan robot motions and trajectories ___ Plans a collision-free trajectory for a single motion group using point-to-point (PTP) motions. This endpoint is specifically designed for collision-free path planning algorithms that find a trajectory from a start joint position to a target position while avoiding obstacles. Use the following workflow to execute a planned collision-free trajectory: 1. Plan a collision-free trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](#/operations/addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](#/operations/executeTrajectory) endpoint. If the trajectory planning fails due to collision or algorithm constraints, the response will contain error information about the failure. \n\t* @summary Plan Collision-Free Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {PlanCollisionFreeRequest} planCollisionFreeRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tplanCollisionFree(cell, planCollisionFreeRequest, options) {\n\t\treturn TrajectoryPlanningApiFp(this.configuration).planCollisionFree(cell, planCollisionFreeRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_plan_motion` - Plan robot motions and trajectories ___ Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](#/operations/addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](#/operations/executeTrajectory) endpoint. If the trajectory is not executable, the response will contain the joint trajectory up until the error, e.g., all samples until a collision occurs. <!-- theme: info --> > #### Exception > > If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion. \n\t* @summary Plan Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {PlanTrajectoryRequest} planTrajectoryRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tplanTrajectory(cell, planTrajectoryRequest, options) {\n\t\treturn TrajectoryPlanningApiFp(this.configuration).planTrajectory(cell, planTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_plan_motion` - Plan robot motions and trajectories ___ <!-- theme: danger --> > **Experimental** Searches collision-free trajectories for multiple motion groups simultaneously within a cell. This is the multi-robot variant of collision-free path search — it coordinates paths so that several motion groups, e.g., multiple robot arms, can move from start to target positions without colliding with each other or with the environment. The caller provides per-motion-group setups (robot model, cycle time, mounting, TCP offset, limits, payload, collision geometry), per-motion-group point-to-point path definitions (start and target joint positions), optional cross-group collision setups defining which link-chain/tool colliders to consider between groups plus static environment colliders, and optional RRT-Connect algorithm settings (max iterations, step size, smoothing, blending). On success the response contains a time-synchronized trajectory with joint positions per motion group at shared timestamps so their motions are temporally coordinated. On failure it returns feedback indicating why planning failed, e.g., max iterations exceeded. \n\t* @summary Search Collision-Free Trajectories for Multiple Motion Groups\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {MultiSearchCollisionFreeRequest} multiSearchCollisionFreeRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsearchCollisionFreeMultiMotionGroup(cell, multiSearchCollisionFreeRequest, options) {\n\t\treturn TrajectoryPlanningApiFp(this.configuration).searchCollisionFreeMultiMotionGroup(cell, multiSearchCollisionFreeRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VersionApi - axios parameter creator\n*/\nconst VersionApiAxiosParamCreator = function(configuration) {\n\treturn { getApiVersion: async (options = {}) => {\n\t\tconst localVarUrlObj = new URL(`/version`, DUMMY_BASE_URL);\n\t\tlet baseOptions;\n\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\tconst localVarRequestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...baseOptions,\n\t\t\t...options\n\t\t};\n\t\tconst localVarHeaderParameter = {};\n\t\tconst localVarQueryParameter = {};\n\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\tlocalVarRequestOptions.headers = {\n\t\t\t...localVarHeaderParameter,\n\t\t\t...headersFromBaseOptions,\n\t\t\t...options.headers\n\t\t};\n\t\treturn {\n\t\t\turl: toPathString(localVarUrlObj),\n\t\t\toptions: localVarRequestOptions\n\t\t};\n\t} };\n};\n/**\n* VersionApi - functional programming interface\n*/\nconst VersionApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VersionApiAxiosParamCreator(configuration);\n\treturn { async getApiVersion(options) {\n\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getApiVersion(options);\n\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\tconst localVarOperationServerBasePath = operationServerMap[\"VersionApi.getApiVersion\"]?.[localVarOperationServerIndex]?.url;\n\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t} };\n};\n/**\n* VersionApi - factory interface\n*/\nconst VersionApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VersionApiFp(configuration);\n\treturn { getApiVersion(options) {\n\t\treturn localVarFp.getApiVersion(options).then((request) => request(axios, basePath));\n\t} };\n};\n/**\n* VersionApi - object-oriented interface\n*/\nvar VersionApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_access_system` - View system status and metadata ___ Retrieves the version of the NOVA API.\n\t* @summary API Version\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetApiVersion(options) {\n\t\treturn VersionApiFp(this.configuration).getApiVersion(options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VirtualControllerApi - axios parameter creator\n*/\nconst VirtualControllerApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddVirtualControllerCoordinateSystem: async (cell, controller, coordinateSystem, coordinateSystemData, options = {}) => {\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"cell\", cell);\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"controller\", controller);\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"coordinateSystem\", coordinateSystem);\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"coordinateSystemData\", coordinateSystemData);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{coordinate-system}`, encodeURIComponent(String(coordinateSystem)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(coordinateSystemData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddVirtualControllerMotionGroup: async (cell, controller, addVirtualControllerMotionGroupRequest, options = {}) => {\n\t\t\tassertParamExists(\"addVirtualControllerMotionGroup\", \"cell\", cell);\n\t\t\tassertParamExists(\"addVirtualControllerMotionGroup\", \"controller\", controller);\n\t\t\tassertParamExists(\"addVirtualControllerMotionGroup\", \"addVirtualControllerMotionGroupRequest\", addVirtualControllerMotionGroupRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(addVirtualControllerMotionGroupRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddVirtualControllerSafetyZone: async (cell, controller, safetyZone, options = {}) => {\n\t\t\tassertParamExists(\"addVirtualControllerSafetyZone\", \"cell\", cell);\n\t\t\tassertParamExists(\"addVirtualControllerSafetyZone\", \"controller\", controller);\n\t\t\tassertParamExists(\"addVirtualControllerSafetyZone\", \"safetyZone\", safetyZone);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/safety-zones`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(safetyZone, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddVirtualControllerTcp: async (cell, controller, motionGroup, tcp, robotTcpData, options = {}) => {\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"cell\", cell);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"controller\", controller);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"tcp\", tcp);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"robotTcpData\", robotTcpData);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup))).replace(`{tcp}`, encodeURIComponent(String(tcp)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(robotTcpData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteVirtualControllerCoordinateSystem: async (cell, controller, coordinateSystem, deleteDependent, options = {}) => {\n\t\t\tassertParamExists(\"deleteVirtualControllerCoordinateSystem\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteVirtualControllerCoordinateSystem\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteVirtualControllerCoordinateSystem\", \"coordinateSystem\", coordinateSystem);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{coordinate-system}`, encodeURIComponent(String(coordinateSystem)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (deleteDependent !== void 0) localVarQueryParameter[\"delete_dependent\"] = deleteDependent;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteVirtualControllerMotionGroup: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"deleteVirtualControllerMotionGroup\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteVirtualControllerMotionGroup\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteVirtualControllerMotionGroup\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteVirtualControllerSafetyZone: async (cell, controller, id, options = {}) => {\n\t\t\tassertParamExists(\"deleteVirtualControllerSafetyZone\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteVirtualControllerSafetyZone\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteVirtualControllerSafetyZone\", \"id\", id);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/safety-zones/{id}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{id}`, encodeURIComponent(String(id)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteVirtualControllerTcp: async (cell, controller, motionGroup, tcp, options = {}) => {\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"tcp\", tcp);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup))).replace(`{tcp}`, encodeURIComponent(String(tcp)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetEmergencyStop: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getEmergencyStop\", \"cell\", cell);\n\t\t\tassertParamExists(\"getEmergencyStop\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/emergency-stop`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupState: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"getMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"getMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroups: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroups\", \"cell\", cell);\n\t\t\tassertParamExists(\"getMotionGroups\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetOperationMode: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getOperationMode\", \"cell\", cell);\n\t\t\tassertParamExists(\"getOperationMode\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/operationmode`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetVirtualControllerMounting: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"getVirtualControllerMounting\", \"cell\", cell);\n\t\t\tassertParamExists(\"getVirtualControllerMounting\", \"controller\", controller);\n\t\t\tassertParamExists(\"getVirtualControllerMounting\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetVirtualControllerSafetyZones: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getVirtualControllerSafetyZones\", \"cell\", cell);\n\t\t\tassertParamExists(\"getVirtualControllerSafetyZones\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/safety-zones`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistVirtualControllerCoordinateSystems: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"listVirtualControllerCoordinateSystems\", \"cell\", cell);\n\t\t\tassertParamExists(\"listVirtualControllerCoordinateSystems\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/coordinate-systems`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistVirtualControllerTcps: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"listVirtualControllerTcps\", \"cell\", cell);\n\t\t\tassertParamExists(\"listVirtualControllerTcps\", \"controller\", controller);\n\t\t\tassertParamExists(\"listVirtualControllerTcps\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetEmergencyStop: async (cell, controller, active, options = {}) => {\n\t\t\tassertParamExists(\"setEmergencyStop\", \"cell\", cell);\n\t\t\tassertParamExists(\"setEmergencyStop\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/emergency-stop`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (active !== void 0) localVarQueryParameter[\"active\"] = active;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetMotionGroupState: async (cell, controller, motionGroup, motionGroupJoints, options = {}) => {\n\t\t\tassertParamExists(\"setMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"setMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"setMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"setMotionGroupState\", \"motionGroupJoints\", motionGroupJoints);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(motionGroupJoints, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetOperationMode: async (cell, controller, mode, options = {}) => {\n\t\t\tassertParamExists(\"setOperationMode\", \"cell\", cell);\n\t\t\tassertParamExists(\"setOperationMode\", \"controller\", controller);\n\t\t\tassertParamExists(\"setOperationMode\", \"mode\", mode);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/operationmode`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (mode !== void 0) localVarQueryParameter[\"mode\"] = mode;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetVirtualControllerMounting: async (cell, controller, motionGroup, coordinateSystem, options = {}) => {\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"cell\", cell);\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"controller\", controller);\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"coordinateSystem\", coordinateSystem);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(coordinateSystem, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* VirtualControllerApi - functional programming interface\n*/\nconst VirtualControllerApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VirtualControllerApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.addVirtualControllerCoordinateSystem\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addVirtualControllerMotionGroup(cell, controller, addVirtualControllerMotionGroupRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addVirtualControllerMotionGroup(cell, controller, addVirtualControllerMotionGroupRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.addVirtualControllerMotionGroup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addVirtualControllerSafetyZone(cell, controller, safetyZone, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addVirtualControllerSafetyZone(cell, controller, safetyZone, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.addVirtualControllerSafetyZone\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.addVirtualControllerTcp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.deleteVirtualControllerCoordinateSystem\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteVirtualControllerMotionGroup(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteVirtualControllerMotionGroup(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.deleteVirtualControllerMotionGroup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteVirtualControllerSafetyZone(cell, controller, id, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteVirtualControllerSafetyZone(cell, controller, id, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.deleteVirtualControllerSafetyZone\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.deleteVirtualControllerTcp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getEmergencyStop(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getEmergencyStop(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getEmergencyStop\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupState(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupState(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroups(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroups(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getMotionGroups\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getOperationMode(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getOperationMode(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getOperationMode\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getVirtualControllerMounting(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getVirtualControllerMounting(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getVirtualControllerMounting\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getVirtualControllerSafetyZones(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getVirtualControllerSafetyZones(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getVirtualControllerSafetyZones\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listVirtualControllerCoordinateSystems(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listVirtualControllerCoordinateSystems(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.listVirtualControllerCoordinateSystems\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listVirtualControllerTcps(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listVirtualControllerTcps(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.listVirtualControllerTcps\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setEmergencyStop(cell, controller, active, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setEmergencyStop(cell, controller, active, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setEmergencyStop\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setOperationMode(cell, controller, mode, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setOperationMode(cell, controller, mode, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setOperationMode\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setVirtualControllerMounting\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* VirtualControllerApi - factory interface\n*/\nconst VirtualControllerApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VirtualControllerApiFp(configuration);\n\treturn {\n\t\taddVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options) {\n\t\t\treturn localVarFp.addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddVirtualControllerMotionGroup(cell, controller, addVirtualControllerMotionGroupRequest, options) {\n\t\t\treturn localVarFp.addVirtualControllerMotionGroup(cell, controller, addVirtualControllerMotionGroupRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddVirtualControllerSafetyZone(cell, controller, safetyZone, options) {\n\t\t\treturn localVarFp.addVirtualControllerSafetyZone(cell, controller, safetyZone, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options) {\n\t\t\treturn localVarFp.addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options) {\n\t\t\treturn localVarFp.deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteVirtualControllerMotionGroup(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.deleteVirtualControllerMotionGroup(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteVirtualControllerSafetyZone(cell, controller, id, options) {\n\t\t\treturn localVarFp.deleteVirtualControllerSafetyZone(cell, controller, id, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options) {\n\t\t\treturn localVarFp.deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetEmergencyStop(cell, controller, options) {\n\t\t\treturn localVarFp.getEmergencyStop(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupState(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.getMotionGroupState(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroups(cell, controller, options) {\n\t\t\treturn localVarFp.getMotionGroups(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetOperationMode(cell, controller, options) {\n\t\t\treturn localVarFp.getOperationMode(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetVirtualControllerMounting(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.getVirtualControllerMounting(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetVirtualControllerSafetyZones(cell, controller, options) {\n\t\t\treturn localVarFp.getVirtualControllerSafetyZones(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistVirtualControllerCoordinateSystems(cell, controller, options) {\n\t\t\treturn localVarFp.listVirtualControllerCoordinateSystems(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistVirtualControllerTcps(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.listVirtualControllerTcps(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetEmergencyStop(cell, controller, active, options) {\n\t\t\treturn localVarFp.setEmergencyStop(cell, controller, active, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options) {\n\t\t\treturn localVarFp.setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetOperationMode(cell, controller, mode, options) {\n\t\t\treturn localVarFp.setOperationMode(cell, controller, mode, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options) {\n\t\t\treturn localVarFp.setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* VirtualControllerApi - object-oriented interface\n*/\nvar VirtualControllerApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution. \n\t* @summary Add Coordinate Systems\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} coordinateSystem Unique identifier addressing a coordinate system.\n\t* @param {CoordinateSystemData} coordinateSystemData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller\\'s configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use. \n\t* @summary Add Motion Group\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {AddVirtualControllerMotionGroupRequest} addVirtualControllerMotionGroupRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddVirtualControllerMotionGroup(cell, controller, addVirtualControllerMotionGroupRequest, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).addVirtualControllerMotionGroup(cell, controller, addVirtualControllerMotionGroupRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new safety zone to the virtual robot controller. Safety zones define geometric boundaries that restrict or permit robot motion in 3D space. Each zone has a `geometry` that defines its shape, and two flags that control its behavior: - **`restricted: true`** the robot is not allowed to enter this zone. - **`inverted: true`** the zone applies to the **outside** of the shape, meaning the shape defines the *allowed* region; everything outside is the zone. Combined with `restricted: true`, the robot must stay **inside** the shape. Common combinations: | `restricted` | `inverted` | Effect | |---|---|---| | `true` | `false` | Keep-out zone, the robot cannot enter the shape, e.g., obstacle, table, wall | | `true` | `true` | Keep-in zone, the robot must stay inside the shape, e.g., workspace envelope / cell boundary | The `mg_uid` field specifies which motion group the safety zone is enforced for and must match an existing motion group UID on the controller. The `uid_ref_cs` field defines the coordinate system in which the geometry coordinates are expressed. The coordinate system must be defined on the controller beforehand. If empty (`\\\"\\\"`), the World coordinate system is used. Using an incorrect coordinate system places the safety zone in a different physical location. --- ## Geometry Shape Reference All coordinates are in **millimetres (mm)**. Choose the shape that best fits the physical boundary. --- ### Box A rectangular cuboid (box) defined by its **center point** and **three face centers** (`neighbour`). Each face center is the center of one of the three principal faces of the box and encodes both the size and orientation of the box. The distance from the center to each face center equals half the edge length along that axis. This format is used directly by robot controllers (FANUC, KUKA, etc.) and supports arbitrary orientations, including left-handed coordinate systems that parametric (size + quaternion) formats cannot represent. **When to use:** Cell workspace envelope, machine enclosure, table, rectangular obstacle, pallet zone. **How to define:** ``` center → geometric center of the box [x, y, z] neighbour = [ x1, y1, z1, ← center of the face along the first axis x2, y2, z2, ← center of the face along the second axis x3, y3, z3 ← center of the face along the third axis ] edge_length_i = 2 × ||neighbour_i − center|| ``` For an axis-aligned box with `center = [cx, cy, cz]` and half-sizes `[hx, hy, hz]`: ``` neighbour = [cx+hx, cy, cz, cx, cy+hy, cz, cx, cy, cz+hz] ``` --- ### Prism An extruded polygon is a 2D closed polygon (defined in the XY plane) extruded vertically between `bottom` and `top` Z coordinates. The polygon can be convex or concave. **When to use:** Irregular floor-plan areas (aisles, loading bays, L-shaped zones), conveyor corridors, or any zone with a non-rectangular footprint. **How to define:** ``` point = [x1, y1, x2, y2, x3, y3, ...] ← 2D vertices (XY), flattened, ≥ 3 points top = upper Z bound [mm] bottom = lower Z bound [mm] ``` Points must form a closed polygon; the last point implicitly connects to the first. --- ### Sphere A perfect sphere defined by its **center point** and **radius**. **When to use:** Protection zones around sensors, cameras, workpieces, point-like obstacles, singularity avoidance zones around the robot base. **How to define:** ``` center = [x, y, z] ← center of the sphere [mm] radius ← radius [mm] ``` --- ### Capsule A cylinder with hemispherical caps at each end, defined by two axis endpoints (`top`, `bottom`) and a **radius**. The axis can have any orientation. **When to use:** Pipes, cable trays, vertical columns, horizontal beams, or tube-shaped obstacles. **How to define:** ``` top = [x, y, z] ← center of the top hemisphere [mm] bottom = [x, y, z] ← center of the bottom hemisphere [mm] radius ← cylinder + hemisphere radius [mm] ``` The total length of the capsule is `||top − bottom|| + 2 × radius`. --- ### Lozenge A rounded rectangle (stadium/discorectangle shape) in a plane, defined by a **center pose**, two **dimensions**, and a **corner radius**. The plane orientation is defined by the quaternion in `center`. **When to use:** Conveyor belt surfaces, worktables with rounded edges, or flat rectangular zones in arbitrary orientations. **How to define:** ``` center.x/y/z ← position of the center [mm] center.qx/qy/qz/qw ← orientation as unit quaternion (identity = XY plane) x_dimension ← total length along local X axis [mm] y_dimension ← total width along local Y axis [mm] radius ← corner rounding radius [mm] ``` For a horizontal lozenge, use identity quaternion `(qx=0, qy=0, qz=0, qw=1)`. --- ### Plane A mathematical half-space plane defined by its **3D vertices**. All vertices must be coplanar. The plane is unbounded (infinite extent in all directions parallel to the surface). The points define the plane\\'s orientation and position only. **When to use:** Floor boundaries, virtual walls, tilted surfaces, e.g., ramps, inclined conveyors, or flat custom barriers. **How to define:** ``` point = [x1, y1, z1, x2, y2, z2, x3, y3, z3, ...] ← 3D vertices, flattened, ≥ 3 points ``` Points must be coplanar and form a closed polygon. --- <!-- theme: info --> > #### NOTE > > When a safety zone is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - All connections to the virtual robot are closed and re-established, introducing a short delay before the system is fully operational again. > - The safety checksum is automatically updated to reflect the configuration change. > > The API call **does not wait until the restart and re-synchronization are complete**. \n\t* @summary Add Safety Zone\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {SafetyZone} safetyZone \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddVirtualControllerSafetyZone(cell, controller, safetyZone, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).addVirtualControllerSafetyZone(cell, controller, safetyZone, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange\\'s coordinate system. > **NOTE** > > Ensure the TCP\\'s position is within the robot\\'s reach. Refer to the robot\\'s documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable. \n\t* @summary Add TCP\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {string} tcp The unique identifier of a TCP.\n\t* @param {RobotTcpData} robotTcpData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution. \n\t* @summary Delete Coordinate System\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} coordinateSystem Unique identifier addressing a coordinate system.\n\t* @param {boolean} [deleteDependent] If true, all dependent coordinate systems will be deleted as well.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes a motion group configuration from the virtual controller. <!-- theme: info --> > #### NOTE > > When a motion group is removed, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. \n\t* @summary Delete Motion Group\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteVirtualControllerMotionGroup(cell, controller, motionGroup, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).deleteVirtualControllerMotionGroup(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes a safety zone from the virtual robot controller. <!-- theme: info --> > #### NOTE > > When a safety zone is removed, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - All connections to the virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > - The safety checksum is automatically updated to reflect the configuration change. > > The API call itself **does not wait until the restart and re-synchronization are complete**. \n\t* @summary Delete Safety Zone\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {number} id The unique identifier of the safety zone to delete.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteVirtualControllerSafetyZone(cell, controller, id, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).deleteVirtualControllerSafetyZone(cell, controller, id, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable. \n\t* @summary Remove TCP\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {string} tcp The unique identifier of a TCP.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers. \n\t* @summary Get Emergency Stop State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetEmergencyStop(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getEmergencyStop(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Get the current motion group state which provides values for the joints\\' position, velocity and acceleration. \n\t* @summary Get Motion Group State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupState(cell, controller, motionGroup, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getMotionGroupState(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets information on the motion group. \n\t* @summary Motion Group Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroups(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getMotionGroups(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers. \n\t* @summary Get Operation Mode\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetOperationMode(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getOperationMode(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets motion group mounting. The motion group is based on the origin of the returned coordinate system. \n\t* @summary Get Mounting\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetVirtualControllerMounting(cell, controller, motionGroup, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getVirtualControllerMounting(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets all safety zones configured in the virtual robot controller. Safety zones define geometric boundaries that restrict robot motion or define protected areas in the workspace. \n\t* @summary List Safety Zones\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetVirtualControllerSafetyZones(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getVirtualControllerSafetyZones(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists all coordinate systems on the robot controller. \n\t* @summary List Coordinate Systems\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistVirtualControllerCoordinateSystems(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).listVirtualControllerCoordinateSystems(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes. \n\t* @summary List TCPs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistVirtualControllerTcps(cell, controller, motionGroup, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).listVirtualControllerTcps(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers. \n\t* @summary Push or Release Emergency Stop\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {boolean} [active] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetEmergencyStop(cell, controller, active, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setEmergencyStop(cell, controller, active, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur. \n\t* @summary Set Motion Group State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {MotionGroupJoints} motionGroupJoints \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers. \n\t* @summary Set Operation Mode\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {OperationMode} mode \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetOperationMode(cell, controller, mode, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setOperationMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system\\'s origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible. \n\t* @summary Set Mounting\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {CoordinateSystem} coordinateSystem \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VirtualControllerBehaviorApi - axios parameter creator\n*/\nconst VirtualControllerBehaviorApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\texternalJointsStream: async (cell, controller, externalJointStreamRequest, options = {}) => {\n\t\t\tassertParamExists(\"externalJointsStream\", \"cell\", cell);\n\t\t\tassertParamExists(\"externalJointsStream\", \"controller\", controller);\n\t\t\tassertParamExists(\"externalJointsStream\", \"externalJointStreamRequest\", externalJointStreamRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/external-joints-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(externalJointStreamRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCycleTime: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getCycleTime\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCycleTime\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/cycle-time`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetVirtualControllerBehavior: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getVirtualControllerBehavior\", \"cell\", cell);\n\t\t\tassertParamExists(\"getVirtualControllerBehavior\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/behavior`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetVirtualControllerBehavior: async (cell, controller, behavior, options = {}) => {\n\t\t\tassertParamExists(\"setVirtualControllerBehavior\", \"cell\", cell);\n\t\t\tassertParamExists(\"setVirtualControllerBehavior\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/behavior`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (behavior !== void 0) localVarQueryParameter[\"behavior\"] = behavior;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* VirtualControllerBehaviorApi - functional programming interface\n*/\nconst VirtualControllerBehaviorApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VirtualControllerBehaviorApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync externalJointsStream(cell, controller, externalJointStreamRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.externalJointsStream(cell, controller, externalJointStreamRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.externalJointsStream\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCycleTime(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCycleTime(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.getCycleTime\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getVirtualControllerBehavior(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getVirtualControllerBehavior(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.getVirtualControllerBehavior\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setVirtualControllerBehavior(cell, controller, behavior, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setVirtualControllerBehavior(cell, controller, behavior, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.setVirtualControllerBehavior\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* VirtualControllerBehaviorApi - factory interface\n*/\nconst VirtualControllerBehaviorApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VirtualControllerBehaviorApiFp(configuration);\n\treturn {\n\t\texternalJointsStream(cell, controller, externalJointStreamRequest, options) {\n\t\t\treturn localVarFp.externalJointsStream(cell, controller, externalJointStreamRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCycleTime(cell, controller, options) {\n\t\t\treturn localVarFp.getCycleTime(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetVirtualControllerBehavior(cell, controller, options) {\n\t\t\treturn localVarFp.getVirtualControllerBehavior(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetVirtualControllerBehavior(cell, controller, behavior, options) {\n\t\t\treturn localVarFp.setVirtualControllerBehavior(cell, controller, behavior, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* VirtualControllerBehaviorApi - object-oriented interface\n*/\nvar VirtualControllerBehaviorApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ <!-- theme: success --> > Websocket endpoint Sends the **commanded** state, e.g., joint positions, velocities, accelerations, torques, for each motion group of the virtual controller and sets the joint configuration. Use [planTrajectory](#/operations/planTrajectory) and [executeTrajectory](#/operations/executeTrajectory) to move motion groups on virtual controllers. Learn more about the [movement behavior of virtual controllers in comparison to physical controllers](#/operations/executeTrajectory#movement-behavior). > **NOTE** > > Incoming joint configurations are not visualized and their velocity limits are not checked. #### Use cases 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion groups.\\\\ The stream only sends data to the robot controller if a motion is executed.\\\\ If the robot controller\\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits. \n\t* @summary Stream Joint Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {ExternalJointStreamRequest} externalJointStreamRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\texternalJointsStream(cell, controller, externalJointStreamRequest, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).externalJointsStream(cell, controller, externalJointStreamRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Get the cycle time of controller communication in [ms]. \n\t* @summary Get Cycle Time\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCycleTime(cell, controller, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).getCycleTime(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Get the current virtual controller behavior. See [setVirtualControllerBehavior](#/operations/setVirtualControllerBehavior) and the body for details. \n\t* @summary Get Behavior\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetVirtualControllerBehavior(cell, controller, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).getVirtualControllerBehavior(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Set virtual controller behavior. See query parameters for details. \n\t* @summary Set Behavior\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Behavior} [behavior] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetVirtualControllerBehavior(cell, controller, behavior, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).setVirtualControllerBehavior(cell, controller, behavior, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VirtualControllerInputsOutputsApi - axios parameter creator\n*/\nconst VirtualControllerInputsOutputsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tlistIOs: async (cell, controller, ios, options = {}) => {\n\t\t\tassertParamExists(\"listIOs\", \"cell\", cell);\n\t\t\tassertParamExists(\"listIOs\", \"controller\", controller);\n\t\t\tassertParamExists(\"listIOs\", \"ios\", ios);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistVirtualControllerIODescriptions: async (cell, controller, ios, direction, valueType, group, options = {}) => {\n\t\t\tassertParamExists(\"listVirtualControllerIODescriptions\", \"cell\", cell);\n\t\t\tassertParamExists(\"listVirtualControllerIODescriptions\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/ios/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tif (direction !== void 0) localVarQueryParameter[\"direction\"] = direction;\n\t\t\tif (valueType !== void 0) localVarQueryParameter[\"value_type\"] = valueType;\n\t\t\tif (group !== void 0) localVarQueryParameter[\"group\"] = group;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetIOValues: async (cell, controller, iOValue, options = {}) => {\n\t\t\tassertParamExists(\"setIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"setIOValues\", \"controller\", controller);\n\t\t\tassertParamExists(\"setIOValues\", \"iOValue\", iOValue);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(iOValue, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* VirtualControllerInputsOutputsApi - functional programming interface\n*/\nconst VirtualControllerInputsOutputsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VirtualControllerInputsOutputsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync listIOs(cell, controller, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listIOs(cell, controller, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerInputsOutputsApi.listIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerInputsOutputsApi.listVirtualControllerIODescriptions\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setIOValues(cell, controller, iOValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setIOValues(cell, controller, iOValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerInputsOutputsApi.setIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* VirtualControllerInputsOutputsApi - factory interface\n*/\nconst VirtualControllerInputsOutputsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VirtualControllerInputsOutputsApiFp(configuration);\n\treturn {\n\t\tlistIOs(cell, controller, ios, options) {\n\t\t\treturn localVarFp.listIOs(cell, controller, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\treturn localVarFp.listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetIOValues(cell, controller, iOValue, options) {\n\t\t\treturn localVarFp.setIOValues(cell, controller, iOValue, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* VirtualControllerInputsOutputsApi - object-oriented interface\n*/\nvar VirtualControllerInputsOutputsApi = class extends BaseAPI {\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Retrieves the current values of inputs/outputs of the virtual controller. The identifiers of inputs/outputs must be provided in the request. Request all available input/output identifiers via [listVirtualControllerIODescriptions](#/operations/listVirtualControllerIODescriptions). \n\t* @summary Get Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} ios \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistIOs(cell, controller, ios, options) {\n\t\treturn VirtualControllerInputsOutputsApiFp(this.configuration).listIOs(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists the input/output descriptions of the virtual robot controller. The input/output descriptions contain information like name, type and unit.\\\\ Available inputs/outputs are defined by the virtual robot controller.\\\\ Each input/output has a unique identifier. - If no identifiers and no filters are specified in the request, all available inputs/outputs are retrieved by this endpoint. - If a filter, e.g., `direction`, `value_type`, `group` is applied, only matching inputs/outputs are returned. \n\t* @summary List Descriptions\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {IODirection} [direction] Return only inputs/outputs with the specified direction. \n\t* @param {IOValueType} [valueType] Return only inputs/outputs with the specified value type. \n\t* @param {string} [group] Return only inputs/outputs from the specified group. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\treturn VirtualControllerInputsOutputsApiFp(this.configuration).listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets a list of values of a virtual controller inputs/outputs. \n\t* @summary Set Input/Ouput Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<IOValue>} iOValue \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetIOValues(cell, controller, iOValue, options) {\n\t\treturn VirtualControllerInputsOutputsApiFp(this.configuration).setIOValues(cell, controller, iOValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n\n//#endregion\n//#region v2/configuration.ts\nvar Configuration = class {\n\tconstructor(param = {}) {\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for apiKey security\n\t\t\t* @param name security name\n\t\t\t*/\n\t\t\t\"apiKey\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for basic security\n\t\t\t*/\n\t\t\t\"username\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for basic security\n\t\t\t*/\n\t\t\t\"password\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for oauth2 security\n\t\t\t* @param name security name\n\t\t\t* @param scopes oauth2 scope\n\t\t\t*/\n\t\t\t\"accessToken\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for aws4 signature security\n\t\t\t* @param {Object} AWS4Signature - AWS4 Signature security\n\t\t\t* @param {string} options.region - aws region\n\t\t\t* @param {string} options.service - name of the service.\n\t\t\t* @param {string} credentials.accessKeyId - aws access key id\n\t\t\t* @param {string} credentials.secretAccessKey - aws access key\n\t\t\t* @param {string} credentials.sessionToken - aws session token\n\t\t\t* @memberof Configuration\n\t\t\t*/\n\t\t\t\"awsv4\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* override base path\n\t\t\t*/\n\t\t\t\"basePath\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* override server index\n\t\t\t*/\n\t\t\t\"serverIndex\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* base options for axios calls\n\t\t\t*/\n\t\t\t\"baseOptions\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* The FormData constructor that will be used to create multipart form data\n\t\t\t* requests. You can inject this here so that execution environments that\n\t\t\t* do not support the FormData class can still run the generated client.\n\t\t\t*\n\t\t\t* @type {new () => FormData}\n\t\t\t*/\n\t\t\t\"formDataCtor\",\n\t\t\tvoid 0\n\t\t);\n\t\tthis.apiKey = param.apiKey;\n\t\tthis.username = param.username;\n\t\tthis.password = param.password;\n\t\tthis.accessToken = param.accessToken;\n\t\tthis.awsv4 = param.awsv4;\n\t\tthis.basePath = param.basePath;\n\t\tthis.serverIndex = param.serverIndex;\n\t\tthis.baseOptions = {\n\t\t\t...param.baseOptions,\n\t\t\theaders: { ...param.baseOptions?.headers }\n\t\t};\n\t\tthis.formDataCtor = param.formDataCtor;\n\t}\n\t/**\n\t* Check if the given MIME is a JSON MIME.\n\t* JSON MIME examples:\n\t* application/json\n\t* application/json; charset=UTF8\n\t* APPLICATION/JSON\n\t* application/vnd.company+json\n\t* @param mime - MIME (Multipurpose Internet Mail Extensions)\n\t* @return True if the given MIME is JSON, false otherwise.\n\t*/\n\tisJsonMime(mime) {\n\t\treturn mime !== null && (new RegExp(\"^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$\", \"i\").test(mime) || mime.toLowerCase() === \"application/json-patch+json\");\n\t}\n};\n\n//#endregion\nexport { AbbControllerKindEnum, ApplicationApi, ApplicationApiAxiosParamCreator, ApplicationApiFactory, ApplicationApiFp, BASE_PATH, BUSInputsOutputsApi, BUSInputsOutputsApiAxiosParamCreator, BUSInputsOutputsApiFactory, BUSInputsOutputsApiFp, BaseAPI, Behavior, BlendingAutoBlendingNameEnum, BlendingPositionBlendingNameEnum, BlendingSpace, BooleanValueValueTypeEnum, BoxBoxTypeEnum, BoxShapeTypeEnum, BusIOModbusClientBusTypeEnum, BusIOModbusServerBusTypeEnum, BusIOModbusTCPClientNetworkTypeEnum, BusIOModbusTCPServerNetworkTypeEnum, BusIOModbusVirtualBusTypeEnum, BusIOProfinetBusTypeEnum, BusIOProfinetVirtualBusTypeEnum, BusIOsStateEnum, COLLECTION_FORMATS, CapsuleShapeTypeEnum, CellApi, CellApiAxiosParamCreator, CellApiFactory, CellApiFp, CloudConfigStatusConfiguredStatusEnum, CloudConfigStatusNotConfiguredStatusEnum, CloudConnectionErrorInvalidTokenCodeEnum, CloudConnectionErrorLeafnodeConnectionErrorCodeEnum, CloudConnectionErrorLeafnodeConnectionTimeoutCodeEnum, CloudConnectionErrorLeafnodeRestartTimeoutCodeEnum, CloudConnectionErrorNatsFailedCodeEnum, CloudConnectionErrorUnexpectedResponseCodeEnum, CloudDisconnectionStatusDisconnectedStatusEnum, CloudDisconnectionStatusDisconnectingStatusEnum, CollisionErrorKindEnum, Comparator, Configuration, ConfigurationArchiveStatusCreatingStatusEnum, ConfigurationArchiveStatusErrorStatusEnum, ConfigurationArchiveStatusSuccessStatusEnum, ControllerApi, ControllerApiAxiosParamCreator, ControllerApiFactory, ControllerApiFp, ControllerInputsOutputsApi, ControllerInputsOutputsApiAxiosParamCreator, ControllerInputsOutputsApiFactory, ControllerInputsOutputsApiFp, ConvexHullShapeTypeEnum, CylinderShapeTypeEnum, Direction, DirectionConstraintConstraintNameEnum, ErrorDirectionConstraintNotMetErrorFeedbackNameEnum, ErrorDirectionConstraintNotNormalizedErrorFeedbackNameEnum, ErrorInvalidJointCountErrorFeedbackNameEnum, ErrorJointLimitExceededErrorFeedbackNameEnum, ErrorJointPositionCollisionErrorFeedbackNameEnum, ErrorMaxIterationsExceededErrorFeedbackNameEnum, ErrorUnsupportedOperationErrorFeedbackNameEnum, FanucControllerKindEnum, FeedbackCollisionErrorFeedbackNameEnum, FeedbackCommandsMissingErrorFeedbackNameEnum, FeedbackCubicSplineIsNotIncreasingErrorFeedbackNameEnum, FeedbackCubicSplineNotAtStartPoseErrorFeedbackNameEnum, FeedbackDirectionConstraintNoSolutionExistsErrorFeedbackNameEnum, FeedbackDirectionConstraintNotMetErrorFeedbackNameEnum, FeedbackDirectionConstraintNotNormalizedErrorFeedbackNameEnum, FeedbackInvalidDofErrorFeedbackNameEnum, FeedbackInvalidNanValueErrorFeedbackNameEnum, FeedbackInvalidSamplingTimeErrorFeedbackNameEnum, FeedbackJointLimitExceededErrorFeedbackNameEnum, FeedbackNoSolutionInCurrentConfigurationErrorFeedbackNameEnum, FeedbackOutOfWorkspaceErrorFeedbackNameEnum, FeedbackSingularityErrorFeedbackNameEnum, FeedbackStartJointsMissingErrorFeedbackNameEnum, FeedbackTorqueExceededErrorFeedbackNameEnum, FloatValueValueTypeEnum, IOBooleanValueValueTypeEnum, IODirection, IOFloatValueValueTypeEnum, IOIntegerValueValueTypeEnum, IOOrigin, IOValueType, InconsistentTrajectorySizeErrorKindEnum, InitializeJoggingRequestMessageTypeEnum, InitializeJoggingResponseKindEnum, InitializeMovementRequestMessageTypeEnum, InitializeMovementResponseKindEnum, IntegerValueValueTypeEnum, InvalidDofErrorKindEnum, JoggingApi, JoggingApiAxiosParamCreator, JoggingApiFactory, JoggingApiFp, JoggingDetailsKindEnum, JoggingPausedByUserKindEnum, JoggingPausedNearCollisionKindEnum, JoggingPausedNearJointLimitKindEnum, JoggingPausedNearSingularityKindEnum, JoggingPausedOnIOKindEnum, JoggingRunningKindEnum, JointLimitExceededErrorKindEnum, JointTypeEnum, JointVelocityRequestMessageTypeEnum, JointVelocityResponseKindEnum, KinematicsApi, KinematicsApiAxiosParamCreator, KinematicsApiFactory, KinematicsApiFp, KukaControllerKindEnum, LicenseApi, LicenseApiAxiosParamCreator, LicenseApiFactory, LicenseApiFp, LicenseStatusEnum, Manufacturer, MidpointInsertionAlgorithmAlgorithmNameEnum, ModbusIOArea, ModbusIOByteOrder, ModbusIOTypeEnum, MotionGroupApi, MotionGroupApiAxiosParamCreator, MotionGroupApiFactory, MotionGroupApiFp, MotionGroupModelsApi, MotionGroupModelsApiAxiosParamCreator, MotionGroupModelsApiFactory, MotionGroupModelsApiFp, MovementErrorResponseKindEnum, NOVACloudApi, NOVACloudApiAxiosParamCreator, NOVACloudApiFactory, NOVACloudApiFp, NanValueErrorKindEnum, NetworkStateConnectionTypeEnum, OperatingState, OperationMode, OrientationType, PathCartesianPTPPathDefinitionNameEnum, PathCirclePathDefinitionNameEnum, PathCubicSplinePathDefinitionNameEnum, PathDirectionConstrainedCartesianPTPPathDefinitionNameEnum, PathDirectionConstrainedJointPTPPathDefinitionNameEnum, PathJointPTPPathDefinitionNameEnum, PathLinePathDefinitionNameEnum, PauseJoggingRequestMessageTypeEnum, PauseJoggingResponseKindEnum, PauseMovementRequestMessageTypeEnum, PauseMovementResponseKindEnum, PlaneShapeTypeEnum, PlaybackSpeedRequestMessageTypeEnum, PlaybackSpeedResponseKindEnum, ProfinetIODirection, ProfinetIOTypeEnum, ProgramApi, ProgramApiAxiosParamCreator, ProgramApiFactory, ProgramApiFp, ProgramRunState, RRTConnectAlgorithmAlgorithmNameEnum, RectangleShapeTypeEnum, RectangularCapsuleShapeTypeEnum, ReleaseChannel, RequiredError, RobotConfigurationsApi, RobotConfigurationsApiAxiosParamCreator, RobotConfigurationsApiFactory, RobotConfigurationsApiFp, RobotSystemMode, SafetyStateType, ServiceGroup, ServiceStatusPhase, ServiceStatusSeverity, SettableRobotSystemMode, SingularityTypeEnum, SphereShapeTypeEnum, StartMovementRequestMessageTypeEnum, StartMovementResponseKindEnum, StoreCollisionComponentsApi, StoreCollisionComponentsApiAxiosParamCreator, StoreCollisionComponentsApiFactory, StoreCollisionComponentsApiFp, StoreCollisionSetupsApi, StoreCollisionSetupsApiAxiosParamCreator, StoreCollisionSetupsApiFactory, StoreCollisionSetupsApiFp, StoreObjectApi, StoreObjectApiAxiosParamCreator, StoreObjectApiFactory, StoreObjectApiFp, SystemApi, SystemApiAxiosParamCreator, SystemApiFactory, SystemApiFp, TcpRequiredErrorKindEnum, TcpVelocityRequestMessageTypeEnum, TcpVelocityResponseKindEnum, TorqueExceededErrorKindEnum, TrajectoryCachingApi, TrajectoryCachingApiAxiosParamCreator, TrajectoryCachingApiFactory, TrajectoryCachingApiFp, TrajectoryDataMessageTypeEnum, TrajectoryDetailsKindEnum, TrajectoryEndedKindEnum, TrajectoryExecutionApi, TrajectoryExecutionApiAxiosParamCreator, TrajectoryExecutionApiFactory, TrajectoryExecutionApiFp, TrajectoryIdMessageTypeEnum, TrajectoryPausedByUserKindEnum, TrajectoryPausedOnIOKindEnum, TrajectoryPlanningApi, TrajectoryPlanningApiAxiosParamCreator, TrajectoryPlanningApiFactory, TrajectoryPlanningApiFp, TrajectoryRunningKindEnum, TrajectoryWaitForIOKindEnum, UnitType, UniversalrobotsControllerKindEnum, VersionApi, VersionApiAxiosParamCreator, VersionApiFactory, VersionApiFp, VirtualControllerApi, VirtualControllerApiAxiosParamCreator, VirtualControllerApiFactory, VirtualControllerApiFp, VirtualControllerBehaviorApi, VirtualControllerBehaviorApiAxiosParamCreator, VirtualControllerBehaviorApiFactory, VirtualControllerBehaviorApiFp, VirtualControllerInputsOutputsApi, VirtualControllerInputsOutputsApiAxiosParamCreator, VirtualControllerInputsOutputsApiFactory, VirtualControllerInputsOutputsApiFp, VirtualControllerKindEnum, YaskawaControllerKindEnum, ZodValidationErrorErrorCodeEnum, operationServerMap };","import { m as AutoReconnectingWebsocket, n as loginWithAuth0, p as availableStorage, s as parseNovaInstanceUrl } from \"../../LoginWithAuth0-CEUVGw1-.mjs\";\nimport axios, { AxiosError, isAxiosError } from \"axios\";\nimport urlJoin from \"url-join\";\nimport * as pathToRegexp from \"path-to-regexp\";\nimport { ApplicationApi, BUSInputsOutputsApi, CellApi, ControllerApi, ControllerInputsOutputsApi, JoggingApi, KinematicsApi, MotionGroupApi, MotionGroupModelsApi, StoreCollisionComponentsApi, StoreCollisionSetupsApi, StoreObjectApi, SystemApi, TrajectoryCachingApi, TrajectoryExecutionApi, TrajectoryPlanningApi, VirtualControllerApi, VirtualControllerBehaviorApi, VirtualControllerInputsOutputsApi } from \"@wandelbots/nova-api/v2\";\nexport * from \"@wandelbots/nova-api/v2\";\n//#region src/lib/v2/NovaCellAPIClient.ts\n/**\n* API client providing type-safe access to all the Nova API REST endpoints\n* associated with a specific cell id.\n*/\nvar NovaCellAPIClient = class {\n\tconstructor(cellId, opts) {\n\t\tthis.cellId = cellId;\n\t\tthis.opts = opts;\n\t\tthis.system = this.withUnwrappedResponsesOnly(SystemApi);\n\t\tthis.cell = this.withUnwrappedResponsesOnly(CellApi);\n\t\tthis.motionGroup = this.withCellId(MotionGroupApi);\n\t\tthis.motionGroupModels = this.withUnwrappedResponsesOnly(MotionGroupModelsApi);\n\t\tthis.controller = this.withCellId(ControllerApi);\n\t\tthis.controllerIOs = this.withCellId(ControllerInputsOutputsApi);\n\t\tthis.trajectoryPlanning = this.withCellId(TrajectoryPlanningApi);\n\t\tthis.trajectoryExecution = this.withCellId(TrajectoryExecutionApi);\n\t\tthis.trajectoryCaching = this.withCellId(TrajectoryCachingApi);\n\t\tthis.application = this.withCellId(ApplicationApi);\n\t\tthis.applicationGlobal = this.withUnwrappedResponsesOnly(ApplicationApi);\n\t\tthis.jogging = this.withCellId(JoggingApi);\n\t\tthis.kinematics = this.withCellId(KinematicsApi);\n\t\tthis.busInputsOutputs = this.withCellId(BUSInputsOutputsApi);\n\t\tthis.virtualController = this.withCellId(VirtualControllerApi);\n\t\tthis.virtualControllerBehavior = this.withCellId(VirtualControllerBehaviorApi);\n\t\tthis.virtualControllerIOs = this.withCellId(VirtualControllerInputsOutputsApi);\n\t\tthis.storeObject = this.withCellId(StoreObjectApi);\n\t\tthis.storeCollisionComponents = this.withCellId(StoreCollisionComponentsApi);\n\t\tthis.storeCollisionSetups = this.withCellId(StoreCollisionSetupsApi);\n\t}\n\t/**\n\t* Some TypeScript sorcery which alters the API class methods so you don't\n\t* have to pass the cell id to every single one, and de-encapsulates the\n\t* response data\n\t*/\n\twithCellId(ApiConstructor) {\n\t\tconst apiClient = new ApiConstructor({\n\t\t\t...this.opts,\n\t\t\tisJsonMime: (mime) => {\n\t\t\t\treturn mime === \"application/json\";\n\t\t\t}\n\t\t}, this.opts.basePath ?? \"\", this.opts.axiosInstance ?? axios.create());\n\t\tfor (const key of Reflect.ownKeys(Reflect.getPrototypeOf(apiClient))) if (key !== \"constructor\" && typeof apiClient[key] === \"function\") {\n\t\t\tconst originalFunction = apiClient[key];\n\t\t\tapiClient[key] = (...args) => {\n\t\t\t\treturn originalFunction.apply(apiClient, [this.cellId, ...args]).then((res) => res.data);\n\t\t\t};\n\t\t}\n\t\treturn apiClient;\n\t}\n\t/**\n\t* As withCellId, but only does the response unwrapping\n\t*/\n\twithUnwrappedResponsesOnly(ApiConstructor) {\n\t\tconst apiClient = new ApiConstructor({\n\t\t\t...this.opts,\n\t\t\tisJsonMime: (mime) => {\n\t\t\t\treturn mime === \"application/json\";\n\t\t\t}\n\t\t}, this.opts.basePath ?? \"\", this.opts.axiosInstance ?? axios.create());\n\t\tfor (const key of Reflect.ownKeys(Reflect.getPrototypeOf(apiClient))) if (key !== \"constructor\" && typeof apiClient[key] === \"function\") {\n\t\t\tconst originalFunction = apiClient[key];\n\t\t\tapiClient[key] = (...args) => {\n\t\t\t\treturn originalFunction.apply(apiClient, args).then((res) => res.data);\n\t\t\t};\n\t\t}\n\t\treturn apiClient;\n\t}\n};\n//#endregion\n//#region src/lib/v2/mock/getCurrentRobotControllerState.ts\nconst getCurrentRobotControllerState = {\n\tmethod: \"GET\",\n\tpath: \"/cells/:cellId/controllers/:controllerId/state\",\n\thandle() {\n\t\treturn {\n\t\t\tmode: \"MODE_CONTROL\",\n\t\t\tlast_error: [],\n\t\t\ttimestamp: \"2025-10-16T09:19:26.634534092Z\",\n\t\t\tsequence_number: 1054764,\n\t\t\tcontroller: \"mock-ur5e\",\n\t\t\toperation_mode: \"OPERATION_MODE_AUTO\",\n\t\t\tsafety_state: \"SAFETY_STATE_NORMAL\",\n\t\t\tvelocity_override: 100,\n\t\t\tmotion_groups: [{\n\t\t\t\ttimestamp: \"2025-10-16T09:19:26.634534092Z\",\n\t\t\t\tsequence_number: 1054764,\n\t\t\t\tmotion_group: \"0@mock-ur5e\",\n\t\t\t\tcontroller: \"mock-ur5e\",\n\t\t\t\tjoint_position: [\n\t\t\t\t\t1.487959623336792,\n\t\t\t\t\t-1.8501918315887451,\n\t\t\t\t\t1.8003005981445312,\n\t\t\t\t\t6.034560203552246,\n\t\t\t\t\t1.4921919107437134,\n\t\t\t\t\t1.593459963798523\n\t\t\t\t],\n\t\t\t\tjoint_limit_reached: { limit_reached: [\n\t\t\t\t\tfalse,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfalse\n\t\t\t\t] },\n\t\t\t\tjoint_torque: [],\n\t\t\t\tjoint_current: [\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0\n\t\t\t\t],\n\t\t\t\tflange_pose: {\n\t\t\t\t\tposition: [\n\t\t\t\t\t\t107.6452433732927,\n\t\t\t\t\t\t-409.0402987746852,\n\t\t\t\t\t\t524.2402132330305\n\t\t\t\t\t],\n\t\t\t\t\torientation: [\n\t\t\t\t\t\t.9874434028353319,\n\t\t\t\t\t\t-.986571714997442,\n\t\t\t\t\t\t1.3336589451098142\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\ttcp: \"Flange\",\n\t\t\t\ttcp_pose: {\n\t\t\t\t\tposition: [\n\t\t\t\t\t\t107.6452433732927,\n\t\t\t\t\t\t-409.0402987746852,\n\t\t\t\t\t\t524.2402132330305\n\t\t\t\t\t],\n\t\t\t\t\torientation: [\n\t\t\t\t\t\t.9874434028353319,\n\t\t\t\t\t\t-.986571714997442,\n\t\t\t\t\t\t1.3336589451098142\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tpayload: \"\",\n\t\t\t\tcoordinate_system: \"\",\n\t\t\t\tstandstill: true\n\t\t\t}]\n\t\t};\n\t}\n};\n//#endregion\n//#region src/lib/v2/mock/getMotionGroupDescription.ts\nconst getMotionGroupDescription = {\n\tmethod: \"GET\",\n\tpath: \"/cells/:cellId/controllers/:controllerId/motion-groups/:motionGroupId/description\",\n\thandle() {\n\t\treturn {\n\t\t\tmotion_group_model: \"UniversalRobots_UR5e\",\n\t\t\tmounting: {\n\t\t\t\tposition: [\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0\n\t\t\t\t],\n\t\t\t\torientation: [\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0\n\t\t\t\t]\n\t\t\t},\n\t\t\ttcps: { Flange: {\n\t\t\t\tname: \"Default-Flange\",\n\t\t\t\tpose: {\n\t\t\t\t\tposition: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t0\n\t\t\t\t\t],\n\t\t\t\t\torientation: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t0\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t} },\n\t\t\tpayloads: { \"FPay-0\": {\n\t\t\t\tname: \"FPay-0\",\n\t\t\t\tpayload: 0,\n\t\t\t\tcenter_of_mass: [\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0\n\t\t\t\t],\n\t\t\t\tmoment_of_inertia: [\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\t0\n\t\t\t\t]\n\t\t\t} },\n\t\t\tcycle_time: 8,\n\t\t\tdh_parameters: [\n\t\t\t\t{\n\t\t\t\t\talpha: 1.5707963267948966,\n\t\t\t\t\td: 162.25\n\t\t\t\t},\n\t\t\t\t{ a: -425 },\n\t\t\t\t{ a: -392.2 },\n\t\t\t\t{\n\t\t\t\t\talpha: 1.5707963267948966,\n\t\t\t\t\td: 133.3\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talpha: -1.5707963267948966,\n\t\t\t\t\td: 99.7\n\t\t\t\t},\n\t\t\t\t{ d: 99.6 }\n\t\t\t],\n\t\t\toperation_limits: {\n\t\t\t\tauto_limits: {\n\t\t\t\t\tjoints: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\ttcp: { velocity: 5e3 },\n\t\t\t\t\telbow: { velocity: 5e3 },\n\t\t\t\t\tflange: { velocity: 5e3 }\n\t\t\t\t},\n\t\t\t\tmanual_limits: {\n\t\t\t\t\tjoints: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\ttcp: { velocity: 5e3 }\n\t\t\t\t},\n\t\t\t\tmanual_t1_limits: {\n\t\t\t\t\tjoints: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\ttcp: { velocity: 5e3 }\n\t\t\t\t},\n\t\t\t\tmanual_t2_limits: {\n\t\t\t\t\tjoints: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\ttcp: { velocity: 5e3 }\n\t\t\t\t}\n\t\t\t},\n\t\t\tserial_number: \"WBVirtualRobot\"\n\t\t};\n\t}\n};\n//#endregion\n//#region src/lib/v2/mock/getMotionGroupKinematicModel.ts\nconst getMotionGroupKinematicModel = {\n\tmethod: \"GET\",\n\tpath: \"/motion-group-models/:motionGroupModel/kinematic\",\n\thandle() {\n\t\treturn {\n\t\t\tdh_parameters: [\n\t\t\t\t{\n\t\t\t\t\talpha: 1.5707963267948966,\n\t\t\t\t\ttheta: 0,\n\t\t\t\t\ta: 0,\n\t\t\t\t\td: 162.25,\n\t\t\t\t\treverse_rotation_direction: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talpha: 0,\n\t\t\t\t\ttheta: 0,\n\t\t\t\t\ta: -425,\n\t\t\t\t\td: 0,\n\t\t\t\t\treverse_rotation_direction: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talpha: 0,\n\t\t\t\t\ttheta: 0,\n\t\t\t\t\ta: -392.2,\n\t\t\t\t\td: 0,\n\t\t\t\t\treverse_rotation_direction: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talpha: 1.5707963267948966,\n\t\t\t\t\ttheta: 0,\n\t\t\t\t\ta: 0,\n\t\t\t\t\td: 133.3,\n\t\t\t\t\treverse_rotation_direction: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talpha: -1.5707963267948966,\n\t\t\t\t\ttheta: 0,\n\t\t\t\t\ta: 0,\n\t\t\t\t\td: 99.7,\n\t\t\t\t\treverse_rotation_direction: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talpha: 0,\n\t\t\t\t\ttheta: 0,\n\t\t\t\t\ta: 0,\n\t\t\t\t\td: 99.6,\n\t\t\t\t\treverse_rotation_direction: false\n\t\t\t\t}\n\t\t\t],\n\t\t\tinverse_solver: \"Universalrobots\"\n\t\t};\n\t}\n};\n//#endregion\n//#region src/lib/v2/mock/getRobotController.ts\nconst getRobotController = {\n\tmethod: \"GET\",\n\tpath: \"/cells/:cellId/controllers/:controllerId\",\n\thandle() {\n\t\treturn {\n\t\t\tconfiguration: {\n\t\t\t\tinitial_joint_position: \"[0,-1.571,-1.571,-1.571,1.571,-1.571,0]\",\n\t\t\t\tkind: \"VirtualController\",\n\t\t\t\tmanufacturer: \"universalrobots\",\n\t\t\t\ttype: \"universalrobots-ur5e\"\n\t\t\t},\n\t\t\tname: \"mock-ur5\"\n\t\t};\n\t}\n};\n//#endregion\n//#region src/lib/v2/mock/listCoordinateSystems.ts\nconst listCoordinateSystems = {\n\tmethod: \"GET\",\n\tpath: \"/cells/:cellId/controllers/:controllerId/coordinate-systems\",\n\thandle() {\n\t\treturn [{\n\t\t\tcoordinate_system: \"\",\n\t\t\tname: \"world\",\n\t\t\treference_coordinate_system: \"\",\n\t\t\tposition: [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t],\n\t\t\torientation: [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t],\n\t\t\torientation_type: \"ROTATION_VECTOR\"\n\t\t}, {\n\t\t\tcoordinate_system: \"CS-0\",\n\t\t\tname: \"Default-CS\",\n\t\t\treference_coordinate_system: \"\",\n\t\t\tposition: [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t],\n\t\t\torientation: [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t],\n\t\t\torientation_type: \"ROTATION_VECTOR\"\n\t\t}];\n\t}\n};\n//#endregion\n//#region src/lib/v2/mock/listRobotControllers.ts\nconst listRobotControllers = {\n\tmethod: \"GET\",\n\tpath: \"/cells/:cellId/controllers\",\n\thandle() {\n\t\treturn [\"mock-ur5e\"];\n\t}\n};\n//#endregion\n//#region src/lib/v2/mock/MockNovaInstance.ts\n/**\n* Ultra-simplified mock Nova server for testing stuff\n*/\nvar MockNovaInstance = class {\n\tconstructor() {\n\t\tthis.connections = [];\n\t}\n\tasync handleAPIRequest(config) {\n\t\tconst apiHandlers = [\n\t\t\tlistRobotControllers,\n\t\t\tgetRobotController,\n\t\t\tgetMotionGroupDescription,\n\t\t\tgetCurrentRobotControllerState,\n\t\t\tlistCoordinateSystems,\n\t\t\tgetMotionGroupKinematicModel\n\t\t];\n\t\tconst method = config.method?.toUpperCase() || \"GET\";\n\t\tif (!config.url) throw new Error(\"No url sent with request\");\n\t\tconst path = config.url.split(\"?\")[0];\n\t\tfor (const handler of apiHandlers) {\n\t\t\tconst match = pathToRegexp.match(handler.path)(path);\n\t\t\tif (method === handler.method && match) {\n\t\t\t\tconst json = handler.handle();\n\t\t\t\treturn {\n\t\t\t\t\tstatus: 200,\n\t\t\t\t\tstatusText: \"Success\",\n\t\t\t\t\tdata: JSON.stringify(json),\n\t\t\t\t\theaders: {},\n\t\t\t\t\tconfig,\n\t\t\t\t\trequest: { responseURL: config.url }\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tthrow new AxiosError(`No mock handler matched this request: ${method} ${path}`, \"404\", config);\n\t}\n\thandleWebsocketConnection(socket) {\n\t\tthis.connections.push(socket);\n\t\tsetTimeout(() => {\n\t\t\tsocket.dispatchEvent(new Event(\"open\"));\n\t\t\tconsole.log(\"Websocket connection opened from\", socket.url);\n\t\t\tif (socket.url.includes(\"/state-stream\")) socket.dispatchEvent(new MessageEvent(\"message\", { data: JSON.stringify(defaultMotionState) }));\n\t\t\tif (socket.url.includes(\"/execution/jogging\")) socket.dispatchEvent(new MessageEvent(\"message\", { data: JSON.stringify({ result: {\n\t\t\t\tmessage: \"string\",\n\t\t\t\tkind: \"INITIALIZE_RECEIVED\"\n\t\t\t} }) }));\n\t\t}, 10);\n\t}\n\thandleWebsocketMessage(socket, message) {\n\t\tconsole.log(`Received message on ${socket.url}`, message);\n\t}\n};\nconst defaultMotionState = { result: {\n\tmotion_group: \"0@universalrobots-ur5e\",\n\tcontroller: \"universalrobots-ur5e\",\n\ttimestamp: (/* @__PURE__ */ new Date()).toISOString(),\n\tsequence_number: 1,\n\tjoint_position: [\n\t\t1.1699999570846558,\n\t\t-1.5700000524520874,\n\t\t1.3600000143051147,\n\t\t1.0299999713897705,\n\t\t1.2899999618530273,\n\t\t1.2799999713897705\n\t],\n\tjoint_limit_reached: { limit_reached: [\n\t\tfalse,\n\t\tfalse,\n\t\tfalse,\n\t\tfalse,\n\t\tfalse,\n\t\tfalse\n\t] },\n\tstandstill: false,\n\tflange_pose: {\n\t\tposition: [\n\t\t\t1.3300010259703043,\n\t\t\t-409.2680714682808,\n\t\t\t531.0203477065281\n\t\t],\n\t\torientation: [\n\t\t\t1.7564919306270736,\n\t\t\t-1.7542521568325058,\n\t\t\t.7326972590614671\n\t\t]\n\t},\n\ttcp_pose: {\n\t\tposition: [\n\t\t\t1.3300010259703043,\n\t\t\t-409.2680714682808,\n\t\t\t531.0203477065281\n\t\t],\n\t\torientation: [\n\t\t\t1.7564919306270736,\n\t\t\t-1.7542521568325058,\n\t\t\t.7326972590614671\n\t\t]\n\t},\n\tdescription_revision: 0\n} };\n//#endregion\n//#region src/lib/v2/NovaClient.ts\n/**\n*\n* Client for connecting to a Nova instance and controlling robots.\n*/\nvar NovaClient = class {\n\tconstructor(config) {\n\t\tthis.authPromise = null;\n\t\tthis.accessToken = null;\n\t\tconst cellId = config.cellId ?? \"cell\";\n\t\tthis.config = {\n\t\t\tcellId,\n\t\t\t...config\n\t\t};\n\t\tthis.accessToken = config.accessToken || availableStorage.getString(\"wbjs.access_token\") || null;\n\t\tif (this.config.instanceUrl === \"https://mock.example.com\") this.mock = new MockNovaInstance();\n\t\tthis.instanceUrl = parseNovaInstanceUrl(this.config.instanceUrl);\n\t\tconst axiosInstance = axios.create({\n\t\t\tbaseURL: urlJoin(this.instanceUrl.href, \"/api/v2\"),\n\t\t\theaders: typeof window !== \"undefined\" && window.location.origin.includes(\"localhost\") ? {} : { \"X-Wandelbots-Client\": \"Wandelbots-Nova-JS-SDK\" }\n\t\t});\n\t\taxiosInstance.interceptors.request.use(async (request) => {\n\t\t\tif (!request.headers.Authorization) {\n\t\t\t\tif (this.accessToken) request.headers.Authorization = `Bearer ${this.accessToken}`;\n\t\t\t\telse if (this.config.username && this.config.password) request.headers.Authorization = `Basic ${btoa(`${config.username}:${config.password}`)}`;\n\t\t\t}\n\t\t\treturn request;\n\t\t});\n\t\tif (typeof window !== \"undefined\") axiosInstance.interceptors.response.use((r) => r, async (error) => {\n\t\t\tif (isAxiosError(error)) {\n\t\t\t\tif (error.response?.status === 401) try {\n\t\t\t\t\tawait this.renewAuthentication();\n\t\t\t\t\tif (error.config) {\n\t\t\t\t\t\tif (this.accessToken) error.config.headers.Authorization = `Bearer ${this.accessToken}`;\n\t\t\t\t\t\telse delete error.config.headers.Authorization;\n\t\t\t\t\t\treturn axiosInstance.request(error.config);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\treturn Promise.reject(err);\n\t\t\t\t}\n\t\t\t\telse if (error.response?.status === 503) {\n\t\t\t\t\tif ((await fetch(window.location.href)).status === 503) window.location.reload();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t\tthis.api = new NovaCellAPIClient(cellId, {\n\t\t\t...config,\n\t\t\tbasePath: urlJoin(this.instanceUrl.href, \"/api/v2\"),\n\t\t\tisJsonMime: (mime) => {\n\t\t\t\treturn mime === \"application/json\";\n\t\t\t},\n\t\t\tbaseOptions: {\n\t\t\t\t...this.mock ? { adapter: (config) => {\n\t\t\t\t\treturn this.mock.handleAPIRequest(config);\n\t\t\t\t} } : {},\n\t\t\t\t...config.baseOptions\n\t\t\t},\n\t\t\taxiosInstance\n\t\t});\n\t}\n\tasync renewAuthentication() {\n\t\tif (this.authPromise) return;\n\t\tconst storedToken = availableStorage.getString(\"wbjs.access_token\");\n\t\tif (storedToken && this.accessToken !== storedToken) {\n\t\t\tthis.accessToken = storedToken;\n\t\t\treturn;\n\t\t}\n\t\tthis.authPromise = loginWithAuth0(this.instanceUrl);\n\t\ttry {\n\t\t\tthis.accessToken = await this.authPromise;\n\t\t\tif (this.accessToken) availableStorage.setString(\"wbjs.access_token\", this.accessToken);\n\t\t\telse availableStorage.delete(\"wbjs.access_token\");\n\t\t} finally {\n\t\t\tthis.authPromise = null;\n\t\t}\n\t}\n\tmakeWebsocketURL(path) {\n\t\tconst url = new URL(urlJoin(this.instanceUrl.href, `/api/v2/cells/${this.config.cellId}`, path));\n\t\turl.protocol = url.protocol.replace(\"http\", \"ws\");\n\t\turl.protocol = url.protocol.replace(\"https\", \"wss\");\n\t\tif (this.accessToken) url.searchParams.append(\"token\", this.accessToken);\n\t\telse if (this.config.username && this.config.password) {\n\t\t\turl.username = this.config.username;\n\t\t\turl.password = this.config.password;\n\t\t}\n\t\treturn url.toString();\n\t}\n\t/**\n\t* Retrieve an AutoReconnectingWebsocket to the given path on the Nova instance.\n\t* If you explicitly want to reconnect an existing websocket, call `reconnect`\n\t* on the returned object.\n\t*/\n\topenReconnectingWebsocket(path) {\n\t\treturn new AutoReconnectingWebsocket(this.makeWebsocketURL(path), { mock: this.mock });\n\t}\n};\n//#endregion\n//#region src/lib/v2/wandelscriptUtils.ts\n/**\n* Convert a Pose object representing a motion group position\n* into a string which represents that pose in Wandelscript.\n*/\nfunction poseToWandelscriptString(pose) {\n\tconst position = [\n\t\tpose.position?.[0] ?? 0,\n\t\tpose.position?.[1] ?? 0,\n\t\tpose.position?.[2] ?? 0\n\t];\n\tconst orientation = [\n\t\tpose.orientation?.[0] ?? 0,\n\t\tpose.orientation?.[1] ?? 0,\n\t\tpose.orientation?.[2] ?? 0\n\t];\n\tconst positionValues = position.map((v) => v.toFixed(1));\n\tconst rotationValues = orientation.map((v) => v.toFixed(4));\n\treturn `(${positionValues.concat(rotationValues).join(\", \")})`;\n}\n//#endregion\nexport { NovaCellAPIClient, NovaClient, poseToWandelscriptString };\n\n//# sourceMappingURL=index.mjs.map","import { autorun, reaction } from \"mobx\"\nimport { useEffect, type EffectCallback } from \"react\"\n\n/**\n * Run code once on component mount. Shorthand for useEffect(effect, []).\n */\nexport function useMounted(effect: EffectCallback) {\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(effect, [])\n}\n\n/**\n * Initialize a mobx autorun watcher on component mount, and\n * clean it up when the component unmounts.\n */\nexport function useAutorun(view: Parameters<typeof autorun>[0]) {\n useMounted(() => {\n return autorun(view)\n })\n}\n\n/**\n * Initialize a mobx reaction watcher on component mount, and\n * clean it up when the component unmounts.\n */\nexport function useReaction<T>(\n expression: Parameters<typeof reaction<T>>[0],\n effect: Parameters<typeof reaction<T>>[1],\n opts?: Parameters<typeof reaction<T>>[2],\n) {\n useMounted(() => {\n return reaction(expression, effect, opts)\n })\n}\n\n/**\n * Run a callback on every animation frame. Cleans up\n * after component unmount.\n */\nexport function useAnimationFrame(callback: () => void) {\n return useMounted(() => {\n let frameId: number\n\n function frame() {\n callback()\n frameId = requestAnimationFrame(frame)\n }\n\n frameId = requestAnimationFrame(frame)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n })\n}\n","import React from \"react\"\n\n/**\n * Smooth value interpolation utility using spring physics with tension and friction.\n * Designed for React Three Fiber applications with smooth, natural animations.\n *\n * Features:\n * - Spring physics with configurable tension and friction\n * - Frame-rate independent using delta timing\n * - Handles irregular frame timing and rapid target updates\n * - Manual update() calls for useFrame integration (no automatic RAF loop)\n * - Direct mutation for performance\n *\n * @example\n * ```tsx\n * // Basic spring animation\n * const interpolator = new ValueInterpolator([0, 0, 0], {\n * tension: 120, // Higher = faster, stiffer spring (default: 120)\n * friction: 20, // Higher = more damping, less oscillation (default: 20)\n * onChange: (values) => {\n * robot.joints.forEach((joint, i) => {\n * joint.rotation.y = values[i]\n * })\n * }\n * })\n *\n * interpolator.setTarget([1.5, -0.8, 2.1])\n *\n * // React Three Fiber usage\n * function MyComponent() {\n * const [interpolator] = useInterpolation([0, 0, 0])\n *\n * useFrame((state, delta) => {\n * interpolator.update(delta)\n * })\n *\n * useEffect(() => {\n * interpolator.setTarget([1, 2, 3])\n * }, [])\n *\n * return <mesh position={interpolator.getCurrentValues()} />\n * }\n * ```\n */\n\nexport interface InterpolationOptions {\n /** Spring tension (higher = faster, stiffer spring) - default: 120 */\n tension?: number\n /** Spring friction (higher = more damping, less oscillation) - default: 20 */\n friction?: number\n /** Minimum threshold to consider interpolation complete - default: 0.001 */\n threshold?: number\n /** Callback when values change during interpolation */\n onChange?: (values: number[]) => void\n /** Callback when interpolation reaches target values */\n onComplete?: (values: number[]) => void\n}\n\nexport class ValueInterpolator {\n private currentValues: number[] = []\n private targetValues: number[] = []\n private previousTargetValues: number[] = []\n private targetUpdateTime: number = 0\n private animationId: number | null = null\n private options: Required<InterpolationOptions>\n private updateCount: number = 0 // Track how many updates have occurred\n\n // Spring physics state\n private velocities: number[] = []\n\n constructor(\n initialValues: number[] = [],\n options: InterpolationOptions = {},\n ) {\n this.options = {\n tension: 120,\n friction: 20,\n threshold: 0.001,\n onChange: () => {},\n onComplete: () => {},\n ...options,\n }\n\n this.currentValues = [...initialValues]\n this.targetValues = [...initialValues]\n this.previousTargetValues = [...initialValues]\n this.velocities = new Array(initialValues.length).fill(0)\n this.targetUpdateTime = performance.now()\n this.updateCount = 0\n }\n\n /**\n * Update interpolation using spring physics\n *\n * Call this method every frame for smooth animation. In React Three Fiber,\n * call from within useFrame callback with the provided delta time.\n *\n * @param delta - Time elapsed since last update in seconds (e.g., 1/60 ≈ 0.0167 for 60fps)\n * @returns true when interpolation is complete (all values reached their targets)\n */\n update(delta: number = 1 / 60): boolean {\n let hasChanges = false\n let isComplete = true\n\n // Increment update counter for initialization smoothing\n this.updateCount++\n\n // Limit delta to prevent physics instability during large frame drops\n const clampedDelta = Math.min(delta, 1 / 15) // Maximum 66ms frame time allowed\n\n // Apply gentle ramp-up for the first few frames to prevent initial jumpiness\n // Only apply reduced force for the very first frame to prevent jarring starts\n const initializationFactor =\n this.updateCount === 1\n ? 0.7 // Slightly reduced force only on the very first frame\n : 1\n\n for (let i = 0; i < this.currentValues.length; i++) {\n const current = this.currentValues[i]\n const target = this.targetValues[i]\n const velocity = this.velocities[i]\n\n // Calculate spring physics forces\n const displacement = target - current\n const springForce =\n displacement * this.options.tension * initializationFactor\n const dampingForce = velocity * this.options.friction\n\n // Calculate acceleration from net force (F = ma, assuming mass = 1)\n const acceleration = springForce - dampingForce\n\n // Integrate physics using Verlet method for numerical stability\n const newVelocity = velocity + acceleration * clampedDelta\n const newValue = current + newVelocity * clampedDelta\n\n // Determine if this value has settled (close to target with low velocity)\n const isValueComplete =\n Math.abs(displacement) < this.options.threshold &&\n Math.abs(newVelocity) < this.options.threshold * 10\n\n if (!isValueComplete) {\n isComplete = false\n // Continue spring animation\n this.currentValues[i] = newValue\n this.velocities[i] = newVelocity\n hasChanges = true\n } else {\n // Snap exactly to target when close enough (prevents endless micro-movements)\n if (this.currentValues[i] !== target) {\n this.currentValues[i] = target\n this.velocities[i] = 0\n hasChanges = true\n }\n }\n }\n\n if (hasChanges) {\n this.options.onChange(this.currentValues)\n }\n\n if (isComplete) {\n this.options.onComplete(this.currentValues)\n }\n\n return isComplete\n }\n\n /**\n * Set new target values for the interpolation to move towards\n *\n * Includes smart blending for very rapid target updates (faster than 120fps)\n * to prevent jarring movements when targets change frequently.\n */\n setTarget(newValues: number[]): void {\n const now = performance.now()\n const timeSinceLastUpdate = now - this.targetUpdateTime\n\n // Store previous target for smooth transitions\n this.previousTargetValues = [...this.targetValues]\n this.targetValues = [...newValues]\n this.targetUpdateTime = now\n\n // Reset update counter for smooth initialization when target changes\n this.updateCount = 0\n\n // Apply target blending for extremely rapid updates to prevent jarring jumps\n // Only activates when targets change faster than 120fps (< 8ms between updates)\n // AND this is not the first target being set (avoid blending initial target with initial values)\n const isInitialTargetSet = this.previousTargetValues.every(\n (val, i) => val === this.currentValues[i],\n )\n\n if (\n timeSinceLastUpdate < 8 &&\n timeSinceLastUpdate > 0 &&\n this.previousTargetValues.length > 0 &&\n !isInitialTargetSet // Don't blend if this is the first meaningful target change\n ) {\n // Blend between previous and new target based on time elapsed\n const blendFactor = Math.min(timeSinceLastUpdate / 8, 1) // 0 to 1 over 8ms\n\n for (let i = 0; i < this.targetValues.length; i++) {\n const prev = this.previousTargetValues[i] || 0\n const next = newValues[i] || 0\n\n // Only blend significant changes to avoid unnecessary smoothing\n const change = Math.abs(next - prev)\n if (change > 0.1) {\n this.targetValues[i] = prev + (next - prev) * blendFactor\n }\n }\n }\n\n // Ensure value and velocity arrays have matching lengths\n while (this.currentValues.length < newValues.length) {\n this.currentValues.push(newValues[this.currentValues.length])\n this.velocities.push(0) // New values start with zero velocity\n }\n if (this.currentValues.length > newValues.length) {\n this.currentValues = this.currentValues.slice(0, newValues.length)\n this.velocities = this.velocities.slice(0, newValues.length)\n }\n\n // Does not start automatic interpolation - requires manual update() calls\n // This design prevents conflicts when using with React Three Fiber's useFrame\n }\n\n /**\n * Get a copy of all current interpolated values\n */\n getCurrentValues(): number[] {\n return [...this.currentValues]\n }\n\n /**\n * Get a single interpolated value by its array index\n */\n getValue(index: number): number {\n return this.currentValues[index] ?? 0\n }\n\n /**\n * Check if automatic interpolation is currently running\n *\n * This only tracks auto-interpolation started with startAutoInterpolation().\n * Manual update() calls are not tracked by this method.\n */\n isInterpolating(): boolean {\n return this.animationId !== null\n }\n\n /**\n * Stop automatic interpolation if it's running\n *\n * This cancels the internal animation frame loop but does not affect\n * manual update() calls.\n */\n stop(): void {\n if (this.animationId !== null) {\n cancelAnimationFrame(this.animationId)\n this.animationId = null\n }\n }\n\n /**\n * Instantly set values without interpolation\n */\n setImmediate(values: number[]): void {\n this.stop()\n this.currentValues = [...values]\n this.targetValues = [...values]\n this.previousTargetValues = [...values]\n this.velocities = new Array(values.length).fill(0) // Reset velocities\n this.targetUpdateTime = performance.now()\n this.updateCount = 0 // Reset update counter\n this.options.onChange(this.currentValues)\n }\n\n /**\n * Update interpolation options\n */\n updateOptions(newOptions: Partial<InterpolationOptions>): void {\n this.options = { ...this.options, ...newOptions }\n }\n\n /**\n * Start automatic interpolation with an animation loop\n *\n * This begins a requestAnimationFrame loop that calls update() automatically.\n * For React Three Fiber components, prefer using manual update() calls\n * within useFrame hooks instead.\n */\n startAutoInterpolation(): void {\n this.startInterpolation()\n }\n\n /**\n * Clean up all resources and stop any running animations\n *\n * This cancels any active animation frames and resets internal state.\n * Call this when the component unmounts or is no longer needed.\n */\n destroy(): void {\n this.stop()\n }\n\n private startInterpolation(): void {\n if (this.animationId !== null) {\n return // Already interpolating\n }\n\n this.animate()\n }\n\n private animate = (): void => {\n // Use delta timing with a fallback for consistent automatic animations\n const isComplete = this.update(1 / 60) // Simulate 60fps for auto-interpolation\n\n if (!isComplete) {\n this.animationId = requestAnimationFrame(this.animate)\n } else {\n this.animationId = null\n }\n }\n}\n\n/**\n * React hook for using the ValueInterpolator with useFrame\n *\n * This hook creates a ValueInterpolator that uses spring physics for smooth,\n * natural animations. Call interpolator.update(delta) in your useFrame callback.\n *\n * @example\n * ```tsx\n * function AnimatedMesh() {\n * const [interpolator] = useInterpolation([0, 0, 0], {\n * tension: 120, // Higher = faster spring\n * friction: 20 // Higher = more damping\n * })\n * const meshRef = useRef()\n *\n * useFrame((state, delta) => {\n * if (interpolator.update(delta)) {\n * // Animation complete\n * }\n * // Apply current values directly to mesh\n * const [x, y, z] = interpolator.getCurrentValues()\n * meshRef.current.position.set(x, y, z)\n * })\n *\n * return <mesh ref={meshRef} />\n * }\n * ```\n */\nexport function useInterpolation(\n initialValues: number[] = [],\n options: InterpolationOptions = {},\n): [ValueInterpolator] {\n const interpolatorRef = React.useRef<ValueInterpolator | null>(null)\n\n // Initialize interpolator\n if (!interpolatorRef.current) {\n interpolatorRef.current = new ValueInterpolator(initialValues, options)\n }\n\n // Update options when they change\n React.useEffect(() => {\n interpolatorRef.current?.updateOptions(options)\n }, [options])\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n interpolatorRef.current?.destroy()\n }\n }, [])\n\n // biome-ignore lint/style/noNonNullAssertion: pre-biome code\n return [interpolatorRef.current!]\n}\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","owner","debugStack","debugTask","refProp","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","isValidElement","object","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","tryStringifyJson","json","orientationToQuaternion","orientation","angle","quaternion","THREE","axis","dhParametersToPlaneSize","dhParameters","size","sum","p","verticesToCoplanarity","vertices","v0","v1","v2","vector1","vector2","normal","i","vi","vector","dotProduct","formatMuiErrorMessage","code","args","url","arg","THEME_ID","murmur2","str","h","len","unitlessKeys","memoize","fn","cache","hyphenateRegex","animationRegex","isCustomProperty","property","isProcessableValue","processStyleName","styleName","processStyleValue","match","p1","p2","cursor","unitless","handleInterpolation","mergedProps","registered","interpolation","componentSelector","keyframes","serializedStyles","next","styles","createStringFromObject","asString","obj","string","_i","interpolated","labelPattern","serializeStyles","stringMode","strings","asTemplateStringsArr","templateStringsArr","identifierName","hashString","isEmpty","GlobalStyles","defaultTheme","globalStyles","themeInput","_jsx","Global","PropTypes","styled","tag","options","stylesFactory","emStyled","component","style","internal_mutateStyles","processor","wrapper","internal_serializeStyles","emSerializeStyles","REACT_VIEW_TRANSITION_TYPE","typeOf","$$typeof","reactIs_production","reactIs_development","reactIsModule","isPlainObject","item","prototype","deepClone","source","isValidElementType","output","deepmerge","target","sortBreakpointsValues","values","breakpointsAsArray","breakpoint1","breakpoint2","acc","createBreakpoints","breakpoints","unit","step","other","sortedValues","up","down","between","start","end","endIndex","only","not","keyIndex","sortContainerQueries","theme","css","sorted","a","b","regex","_a","_b","isCqShorthand","breakpointKeys","getContainerQuery","shorthand","matches","_formatErrorMessage","containerQuery","containerName","cssContainerQueries","toContainerQuery","mediaQuery","attachCq","result","containerQueries","shape","responsivePropType","merge","defaultBreakpoints","defaultContainerQueries","handleBreakpoints","propValue","styleFromPropValue","themeBreakpoints","index","breakpoint","containerKey","mediaKey","cssKey","createEmptyBreakpointObject","breakpointsInput","breakpointStyleKey","removeUnusedBreakpoints","breakpointOutput","mergeBreakpointsInOrder","emptyBreakpoints","mergedOutput","prev","computeBreakpointsBase","breakpointValues","base","breakpointsKeys","resolveBreakpointValues","customBase","previous","capitalize","getPath","path","checkVars","val","getStyleValue","themeMapping","transform","propValueFinal","userValue","prop","cssProperty","themeKey","properties","directions","aliases","getCssProperties","direction","dir","marginKeys","paddingKeys","spacingKeys","createUnaryUnit","defaultValue","themeSpacing","abs","transformed","createUnarySpacing","getValue","transformer","getStyleFromPropValue","cssProperties","resolveCssProperty","margin","padding","createSpacing","spacingInput","spacing","argsInput","argument","compose","handlers","borderTransform","createBorderStyle","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outline","outlineColor","borderRadius","gap","columnGap","rowGap","gridColumn","gridRow","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","paletteTransform","color","bgcolor","backgroundColor","sizingTransform","width","maxWidth","_c","breakpointsValues","_e","_d","minWidth","height","maxHeight","minHeight","boxSizing","defaultSxConfig","objectsHaveSameKeys","objects","allKeys","union","callIfFn","maybeFn","unstable_createStyleFunctionSx","getThemeValue","styleFunctionSx","sx","nested","traverse","sxInput","sxObject","styleKey","x","applyStyles","selector","createTheme","paletteInput","shapeInput","muiTheme","isObjectEmpty","useTheme","contextTheme","ThemeContext","systemDefaultTheme","useThemeWithoutDefault","wrapGlobalLayer","serialized","themeId","upperTheme","resolvedTheme","styleArg","MuiGlobalStyles","splitProps","extendSxProp","inSx","systemProps","otherProps","finalSx","defaultGenerator","createClassNameGenerator","generate","generator","ClassNameGenerator","r","f","n","o","clsx","createBox","defaultClassName","generateClassName","BoxRoot","inProps","ref","className","globalStateClasses","generateUtilityClass","slot","globalStatePrefix","globalStateClass","generateUtilityClasses","slots","getFunctionComponentName","Component","fallback","getWrappedName","outerType","wrapperName","functionName","getDisplayName","ForwardRef","Memo","preprocessStyles","input","variants","variant","shouldForwardProp","shallowLayer","layerName","defaultOverridesResolver","_props","attachTheme","processStyle","resolvedStyle","subStyle","rootStyle","otherStyles","processStyleVariants","results","mergedState","variantLoop","createStyled","rootShouldForwardProp","slotShouldForwardProp","styleAttachTheme","inputOptions","mutateStyles","componentSlot","inputSkipVariantsResolver","inputSkipSx","overridesResolver","lowercaseFirstLetter","skipVariantsResolver","skipSx","shouldForwardPropOption","isStringTag","defaultStyledResolver","styledEngineStyled","generateStyledLabel","transformStyle","muiStyledResolver","expressionsInput","expressionsHead","expressionsBody","expressionsTail","styleOverrides","resolvedStyleOverrides","slotKey","themeVariants","inputStrings","placeholdersHead","placeholdersTail","outputStrings","expressions","generateDisplayName","label","_","resolveProps","defaultProps","mergeClassNameAndStyle","defaultSlotProps","slotProps","slotPropName","useEnhancedEffect","clamp","min","max","clampWrapper","hexToRgb","re","colors","decomposeColor","marker","colorSpace","colorChannel","decomposedColor","idx","private_safeColorChannel","warning","recomposeColor","hslToRgb","s","l","rgb","getLuminance","getContrastRatio","foreground","background","lumA","lumB","alpha","private_safeAlpha","darken","coefficient","private_safeDarken","lighten","private_safeLighten","emphasize","private_safeEmphasize","PropsContext","getThemeProps","params","useDefaultProps","ctx","globalId","useGlobalId","idOverride","defaultId","setDefaultId","id","safeReact","maybeReactUseId","useId","reactId","unstable_memoTheme","styleFn","lastValue","lastTheme","createGetCssVar","prefix","appendVar","vars","field","fallbacks","assignNestedKeys","arrayKeys","temp","walkObjectDeep","callback","shouldSkipPaths","recurse","parentKeys","getCssValue","cssVarsParser","shouldSkipGeneratingVar","varsWithDefaults","cssVar","resolvedValue","prepareCssVars","parserConfig","getSelector","defaultGetSelector","disableCssColorScheme","enableContrastVars","colorSchemes","components","defaultColorScheme","otherTheme","rootVars","rootCss","rootVarsWithDefaults","themeVars","colorSchemesMap","defaultScheme","otherColorSchemes","scheme","colorScheme","cssObject","rule","schemeVars","stylesheets","insertStyleSheet","defaultSchemeVal","cssColorSheme","finalCss","createGetColorSchemeSelector","composeClasses","getUtilityClass","classes","slotName","buffer","common","grey","purple","red","orange","blue","lightBlue","green","getLight","light","getDark","dark","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","mixLightOrDark","getDefaultPrimary","mode","getDefaultSecondary","getDefaultError","getDefaultInfo","getDefaultSuccess","getDefaultWarning","contrastColor","createPalette","palette","contrastThreshold","primary","secondary","error","info","success","getContrastText","contrastText","contrast","augmentColor","mainShade","lightShade","darkShade","modeHydrated","prepareTypographyVars","typography","entry","createMixins","mixins","round","caseAllCaps","defaultFontFamily","createTypography","fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem2","coef","pxToRem","buildVariant","fontWeight","lineHeight","letterSpacing","casing","shadowKeyUmbraOpacity","shadowKeyPenumbraOpacity","shadowAmbientShadowOpacity","createShadow","px","shadows","easing","duration","formatMs","milliseconds","getAutoHeightDuration","constant","createTransitions","inputTransitions","mergedEasing","mergedDuration","durationOption","easingOption","delay","isString","isNumber","animatedProp","zIndex","isSerializable","stringifyTheme","baseTheme","serializableTheme","serializeTheme","array","coefficientToPercentage","parseAddition","numbers","attachColorManipulators","systemAlpha","systemLighten","systemDarken","createThemeNoVars","mixinsInput","transitionsInput","typographyInput","systemTheme","systemCreateTheme","stateClasses","child","stateClass","getOverlayAlpha","elevation","alphaValue","defaultDarkOverlays","overlay","getOpacity","getOverlays","createColorScheme","opacity","overlays","excludeVariablesFromRoot","cssVarPrefix","root","excludedVariables","assignNode","setColor","toRgb","setColorChannel","safeColorChannel","getSpacingVal","silent","systemCreateGetCssVar","attachColorScheme","restTheme","createThemeWithVars","colorSchemesInput","defaultColorSchemeInput","nativeColor","defaultShouldSkipGeneratingVar","rootSelector","firstColorScheme","getCssVar","defaultSchemeInput","builtInLight","builtInDark","customColorSchemes","setCssVarColor","tokens","colorToken","colorMix","method","mixer","safeAlpha","safeDarken","safeLighten","snackbarContentBackground","safeEmphasize","generateThemeVars","generateStyleSheets","cssVariables","initialColorSchemes","initialDefaultColorScheme","paletteOptions","useThemeSystem","boxClasses","Box","SystemGlobalStyles","globalCss","internal_createExtendSxProp","memoTheme","useSystemDefaultProps","getSvgIconUtilityClass","useUtilityClasses","ownerState","SvgIconRoot","_f","_h","_g","_j","_l","_k","_n","_m","SvgIcon","htmlColor","inheritViewBox","titleAccess","viewBox","hasSvgAsChild","more","_jsxs","createSvgIcon","unsupportedProp","location","propFullName","propFullNameSafe","useEventCallback","useForkRef","refs","cleanupRef","refEffect","instance","cleanups","refCallback","refCleanup","refType","chainPropTypes","propType1","propType2","isClassComponent","elementType","elementTypeAcceptingRef","safePropName","warningHint","isFocusVisible","element","UNINITIALIZED","useLazyRef","init","initArg","LazyRipple","__publicField","ripple","shouldMount","setShouldMount","createControlledPromise","useLazyRipple","resolve","reject","resolveFn","rejectFn","_extends","e","t","_objectWithoutPropertiesLoose","_setPrototypeOf","_inheritsLoose","setPrototypeOf","TransitionGroupContext","_assertThisInitialized","getChildMapping","mapFn","mapper","Children","c","mergeChildMappings","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","getProp","getInitialChildMapping","onExited","cloneElement","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","TransitionGroup","_React$Component","context","_this","handleExited","_proto","_ref","firstRender","currentChildMapping","state","_this$props","childFactory","contextValue","EMPTY","useOnMount","Timeout","useTimeout","timeout","Ripple","pulsate","rippleX","rippleY","rippleSize","inProp","leaving","setLeaving","rippleClassName","rippleStyles","childClassName","timeoutId","touchRippleClasses","DURATION","DELAY_RIPPLE","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","TouchRippleRipple","TouchRipple","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","container","startCommit","cb","oldRipples","event","center","fakeElement","rect","clientX","clientY","sizeX","sizeY","stop","getButtonBaseUtilityClass","buttonBaseClasses","disabled","focusVisible","focusVisibleClassName","composedClasses","ButtonBaseRoot","ButtonBase","action","centerRipple","disableRipple","disableTouchRipple","focusRipple","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","buttonRef","handleRippleRef","setFocusVisible","enableTouchRipple","handleMouseDown","useRippleHandler","handleContextMenu","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","button","handleKeyDown","handleKeyUp","ComponentProp","buttonProps","hasFormAttributes","handleRef","rippleAction","eventCallback","skipRippleAction","hasCorrectMainProperty","checkSimplePaletteColorValues","additionalPropertiesToCheck","createSimplePaletteValueFilter","getCircularProgressUtilityClass","SIZE","circularRotateKeyframe","circularDashKeyframe","rotateAnimation","dashAnimation","disableShrink","CircularProgressRoot","CircularProgressSVG","CircularProgressCircle","CircularProgressTrack","CircularProgress","enableTrackSlot","thickness","circleStyle","rootProps","circumference","getButtonUtilityClass","buttonClasses","ButtonGroupContext","ButtonGroupButtonContext","disableElevation","fullWidth","loading","loadingPosition","commonIconStyles","ButtonRoot","inheritContainedBackgroundColor","inheritContainedHoverBackgroundColor","ButtonStartIcon","ButtonEndIcon","ButtonLoadingIndicator","ButtonLoadingIconPlaceholder","Button","contextProps","buttonGroupButtonContextPositionClassName","resolvedProps","disableFocusRipple","endIconProp","idProp","loadingIndicatorProp","startIconProp","loadingId","loadingIndicator","startIcon","endIcon","positionClassName","loader","getTypeByValue","valueType","requiredInteger","propType","validator","validatorNoop","integerPropType","getPaperUtilityClass","square","PaperRoot","Paper","getDividerUtilityClass","dividerClasses","absolute","flexItem","textAlign","DividerRoot","DividerWrapper","Divider","role","getTypographyUtilityClass","v6Colors","align","gutterBottom","noWrap","paragraph","TypographyRoot","defaultVariantMapping","Typography","themeProps","isSxColor","variantMapping","i18n","i18next","LanguageDetector","enJSON","deJSON","externalizeComponent","jsx","NovaComponentsProvider","I18nextProvider","CancelIcon","getChipUtilityClass","chipClasses","isHostComponent","appendOwnerState","resolveComponentProps","componentProps","slotState","extractEventHandlers","excludeKeys","omitEventHandlers","mergeSlotProps","parameters","getSlotProps","additionalProps","externalSlotProps","externalForwardedProps","joinedClasses","mergedStyle","eventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","useSlot","initialElementType","internalForwardedProps","shouldForwardComponentProp","useSlotPropsParams","rootComponent","resolvedComponentsProps","slotComponent","internalRef","LeafComponent","iconColor","onDelete","clickable","ChipRoot","textColor","ChipLabel","isDeleteKeyboardEvent","keyboardEvent","Chip","avatarProp","clickableProp","deleteIconProp","iconProp","skipFocusWhenDisabled","chipRef","handleDeleteIconClick","moreProps","deleteIcon","avatar","icon","RootSlot","LabelSlot","labelProps","Pause","PlayArrow","Stop","ProgramState","ProgramControl","observer","onRun","onPause","onStop","onReset","requiresManualReset","useTranslation","getButtonConfigs","baseConfigs","getButtonIcon","iconProps","buttonConfigs","jsxs","ProgramStateIndicator","programState","safetyState","operationMode","getStateInfo","fullLabel","extendStatics","d","__extends","__","__values","m","__read","ar","__spread","Event","ErrorEvent","_super","CloseEvent","reason","getGlobalWebSocket","isWebSocket","w","DEFAULT","ReconnectingWebSocket","protocols","minUptime","message","listener","bytes","data","maxEnqueuedMessages","e_1","listeners","listeners_1","listeners_1_1","e_1_1","reconnectionDelayGrowFactor","minReconnectionDelay","maxReconnectionDelay","urlProvider","maxRetries","connectionTimeout","WebSocket","AutoReconnectingWebsocket","targetUrl","opts","ev","origReconnect","onMessage","onError","AvailableStorage","availableStorage","parseUrl","schemeRegex","tryParseUrl","parseNovaInstanceUrl","auth0ConfigMap","getAuth0Config","instanceUrl","loginWithAuth0","Auth0Client","auth0Config","auth0Client","appState","normalize","strArray","resultArray","first","parts","urlJoin","dist","parse","compile","pathToRegexp","stringify","DEFAULT_DELIMITER","NOOP_VALUE","ID_START","ID_CONTINUE","ID","escapeText","escape","TokenData","originalPath","PathError","text","encodePath","chars","consumeUntil","writePath","quoteStart","encode","delimiter","tokensToFunction","missing","encoders","token","tokenToFunction","encoder","encodeValue","decode","regexp","decoders","decoder","sensitive","trailing","combinations","process","flatten","toRegExpSource","pattern","seq","backtrack","wildcardBacktrack","prevCaptureType","hasSegmentCapture","hasInSegment","peekText","negate","stringifyTokens","stringifyName","_typeof","o$1","toPrimitive","toPropertyKey","_defineProperty","BASE_PATH","COLLECTION_FORMATS","BaseAPI","configuration","basePath","axios","globalAxios","RequiredError","msg","operationServerMap","DUMMY_BASE_URL","assertParamExists","paramName","paramValue","setBearerAuthToObject","setFlattenedQueryParams","urlSearchParams","parameter","currentKey","setSearchParams","searchParams","serializeDataIfNeeded","requestOptions","nonString","toPathString","createRequestFunction","axiosArgs","globalAxios$1","BASE_PATH$1","axiosRequestArgs","JointTypeEnum","Manufacturer","ApplicationApiAxiosParamCreator","cell","app","completionTimeout","localVarPath","localVarUrlObj","baseOptions","localVarRequestOptions","localVarHeaderParameter","localVarQueryParameter","headersFromBaseOptions","app2","ApplicationApiFp","localVarAxiosParamCreator","localVarAxiosArgs","localVarOperationServerIndex","localVarOperationServerBasePath","ApplicationApi","request","BUSInputsOutputsApiAxiosParamCreator","busIOType","io","modbusIOData","profinetIOData","ios","inputOffset","outputOffset","iOValue","profinetInputOutputConfig","BUSInputsOutputsApiFp","BUSInputsOutputsApi","CellApiAxiosParamCreator","channel","operatingState","cell2","updateCellVersionRequest","CellApiFp","CellApi","ControllerApiAxiosParamCreator","robotController","controller","coordinateSystem","orientationType","responseRate","addControllerTimeout","ControllerApiFp","ControllerApi","ControllerInputsOutputsApiAxiosParamCreator","group","waitForIOEventRequest","ControllerInputsOutputsApiFp","ControllerInputsOutputsApi","JoggingApiAxiosParamCreator","executeJoggingRequest","JoggingApiFp","JoggingApi","KinematicsApiAxiosParamCreator","forwardKinematicsRequest","inverseKinematicsRequest","projectJointPositionDirectionConstraintRequest","KinematicsApiFp","KinematicsApi","MotionGroupApiAxiosParamCreator","motionGroup","responseCoordinateSystem","MotionGroupApiFp","MotionGroupApi","MotionGroupModelsApiAxiosParamCreator","motionGroupModel","MotionGroupModelsApiFp","MotionGroupModelsApi","StoreCollisionComponentsApiAxiosParamCreator","collider","linkChain","tool","collider2","requestBody","StoreCollisionComponentsApiFp","StoreCollisionComponentsApi","StoreCollisionSetupsApiAxiosParamCreator","setup","collisionSetup","StoreCollisionSetupsApiFp","StoreCollisionSetupsApi","StoreObjectApiAxiosParamCreator","xMetadata","anyValue","localVarFormParams","StoreObjectApiFp","StoreObjectApi","SystemApiAxiosParamCreator","resources","metadata","_interface","cidr","operationId","body","updateNovaVersionRequest","SystemApiFp","SystemApi","TrajectoryCachingApiAxiosParamCreator","addTrajectoryRequest","trajectory","TrajectoryCachingApiFp","TrajectoryCachingApi","TrajectoryExecutionApiAxiosParamCreator","executeTrajectoryRequest","TrajectoryExecutionApiFp","TrajectoryExecutionApi","TrajectoryPlanningApiAxiosParamCreator","mergeTrajectoriesRequest","planCollisionFreeRequest","planTrajectoryRequest","multiSearchCollisionFreeRequest","TrajectoryPlanningApiFp","TrajectoryPlanningApi","VirtualControllerApiAxiosParamCreator","coordinateSystemData","addVirtualControllerMotionGroupRequest","safetyZone","tcp","robotTcpData","deleteDependent","active","motionGroupJoints","VirtualControllerApiFp","VirtualControllerApi","VirtualControllerBehaviorApiAxiosParamCreator","externalJointStreamRequest","behavior","VirtualControllerBehaviorApiFp","VirtualControllerBehaviorApi","VirtualControllerInputsOutputsApiAxiosParamCreator","VirtualControllerInputsOutputsApiFp","VirtualControllerInputsOutputsApi","NovaCellAPIClient","cellId","ApiConstructor","apiClient","mime","originalFunction","res","getCurrentRobotControllerState","getMotionGroupDescription","getMotionGroupKinematicModel","getRobotController","listCoordinateSystems","listRobotControllers","MockNovaInstance","apiHandlers","handler","pathToRegexp.match","AxiosError","socket","defaultMotionState","NovaClient","axiosInstance","isAxiosError","err","storedToken","poseToWandelscriptString","pose","position","positionValues","v","rotationValues","useMounted","effect","useEffect","useAutorun","view","autorun","useReaction","expression","reaction","useAnimationFrame","frameId","frame","ValueInterpolator","initialValues","delta","hasChanges","isComplete","clampedDelta","initializationFactor","current","velocity","displacement","springForce","dampingForce","acceleration","newVelocity","newValue","newValues","now","timeSinceLastUpdate","isInitialTargetSet","blendFactor","newOptions","useInterpolation","interpolatorRef"],"mappings":"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ACP,SAAU,UACV,YAAa,kBACb,UAAWA,EACf,EACE,gBAAiB,CACf,SAAU,UACV,UAAWA,EACf,EAEE,EAAG,CACD,MAAOnC,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,QAAS,CACP,MAAOA,EACX,EACE,WAAY,CACV,MAAOA,EACX,EACE,aAAc,CACZ,MAAOA,EACX,EACE,cAAe,CACb,MAAOA,EACX,EACE,YAAa,CACX,MAAOA,EACX,EACE,SAAU,CACR,MAAOA,EACX,EACE,SAAU,CACR,MAAOA,EACX,EACE,cAAe,CACb,MAAOA,EACX,EACE,mBAAoB,CAClB,MAAOA,EACX,EACE,iBAAkB,CAChB,MAAOA,EACX,EACE,aAAc,CACZ,MAAOA,EACX,EACE,kBAAmB,CACjB,MAAOA,EACX,EACE,gBAAiB,CACf,MAAOA,EACX,EACE,EAAG,CACD,MAAOD,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,GAAI,CACF,MAAOA,EACX,EACE,OAAQ,CACN,MAAOA,EACX,EACE,UAAW,CACT,MAAOA,EACX,EACE,YAAa,CACX,MAAOA,EACX,EACE,aAAc,CACZ,MAAOA,EACX,EACE,WAAY,CACV,MAAOA,EACX,EACE,QAAS,CACP,MAAOA,EACX,EACE,QAAS,CACP,MAAOA,EACX,EACE,aAAc,CACZ,MAAOA,EACX,EACE,kBAAmB,CACjB,MAAOA,EACX,EACE,gBAAiB,CACf,MAAOA,EACX,EACE,YAAa,CACX,MAAOA,EACX,EACE,iBAAkB,CAChB,MAAOA,EACX,EACE,eAAgB,CACd,MAAOA,EACX,EAEE,aAAc,CACZ,YAAa,GACb,UAAWzQ,IAAU,CACnB,eAAgB,CACd,QAASA,CACjB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,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EA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iB,OAAOo5C,EAAUp5C,CAAG,GAAM,WAAY,CACxI,MAAMs5C,EAAmBF,EAAUp5C,CAAG,EACtCo5C,EAAUp5C,CAAG,EAAI,IAAI6F,IACbyzC,EAAiB,MAAMF,EAAWvzC,CAAI,EAAE,KAAM0zC,GAAQA,EAAI,IAAI,CAEvE,CACA,OAAOH,CACR,CACD,EAGA,MAAMI,GAAiC,CACtC,OAAQ,MACR,KAAM,iDACN,QAAS,CACR,MAAO,CACN,KAAM,eACN,WAAY,CAAA,EACZ,UAAW,iCACX,gBAAiB,QACjB,WAAY,YACZ,eAAgB,sBAChB,aAAc,sBACd,kBAAmB,IACnB,cAAe,CAAC,CACf,UAAW,iCACX,gBAAiB,QACjB,aAAc,cACd,WAAY,YACZ,eAAgB,CACf,kBACA,oBACA,mBACA,kBACA,mBACA,iBACL,EACI,oBAAqB,CAAE,cAAe,CACrC,GACA,GACA,GACA,GACA,GACA,EACL,CAAK,EACD,aAAc,CAAA,EACd,cAAe,CACd,EACA,EACA,EACA,EACA,EACA,CACL,EACI,YAAa,CACZ,SAAU,CACT,kBACA,mBACA,iBACN,EACK,YAAa,CACZ,kBACA,kBACA,kBACN,CACA,EACI,IAAK,SACL,SAAU,CACT,SAAU,CACT,kBACA,mBACA,iBACN,EACK,YAAa,CACZ,kBACA,kBACA,kBACN,CACA,EACI,QAAS,GACT,kBAAmB,GACnB,WAAY,EAChB,CAAI,CACJ,CACC,CACD,EAGMC,GAA4B,CACjC,OAAQ,MACR,KAAM,oFACN,QAAS,CACR,MAAO,CACN,mBAAoB,uBACpB,SAAU,CACT,SAAU,CACT,EACA,EACA,CACL,EACI,YAAa,CACZ,EACA,EACA,CACL,CACA,EACG,KAAM,CAAE,OAAQ,CACf,KAAM,iBACN,KAAM,CACL,SAAU,CACT,EACA,EACA,CACN,EACK,YAAa,CACZ,EACA,EACA,CACN,CACA,CACA,CAAI,EACD,SAAU,CAAE,SAAU,CACrB,KAAM,SACN,QAAS,EACT,eAAgB,CACf,EACA,EACA,CACL,EACI,kBAAmB,CAClB,EACA,EACA,CACL,CACA,CAAI,EACD,WAAY,EACZ,cAAe,CACd,CACC,MAAO,mBACP,EAAG,MACR,EACI,CAAE,EAAG,IAAI,EACT,CAAE,EAAG,MAAM,EACX,CACC,MAAO,mBACP,EAAG,KACR,EACI,CACC,MAAO,oBACP,EAAG,IACR,EACI,CAAE,EAAG,IAAI,CACb,EACG,iBAAkB,CACjB,YAAa,CACZ,OAAQ,CACP,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,CACA,EACK,IAAK,CAAE,SAAU,GAAG,EACpB,MAAO,CAAE,SAAU,GAAG,EACtB,OAAQ,CAAE,SAAU,GAAG,CAC5B,EACI,cAAe,CACd,OAAQ,CACP,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,CACA,EACK,IAAK,CAAE,SAAU,GAAG,CACzB,EACI,iBAAkB,CACjB,OAAQ,CACP,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,CACA,EACK,IAAK,CAAE,SAAU,GAAG,CACzB,EACI,iBAAkB,CACjB,OAAQ,CACP,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,GACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,EACM,CACC,SAAU,CACT,YAAa,mBACb,YAAa,iBACrB,EACO,SAAU,iBACV,aAAc,GACd,OAAQ,EACf,CACA,EACK,IAAK,CAAE,SAAU,GAAG,CACzB,CACA,EACG,cAAe,gBAClB,CACC,CACD,EAGMC,GAA+B,CA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","x_google_ignoreList":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,138,139,140,141,142,143,144,145,146,147,148,149,150,153,154,155,156,157,158,159]}
|