From ae0e492c130e818ec30e2cf14098415dbd134b6a Mon Sep 17 00:00:00 2001 From: Hugo LEVY-FALK Date: Fri, 24 May 2019 13:13:28 +0200 Subject: [PATCH] gros commit du sale --- compte_rendu/compte_rendu.pdf | Bin 188856 -> 201803 bytes control_compute.ps | 1757 ++++++++++++ julia/limite_vitesse.jl | 31 + mesure_vitesse_cubique.eps | 2386 ++++++++++++++++ mesure_vitesse_cubique_5.eps | 1914 +++++++++++++ mesure_vitesse_cubique_9.eps | 1709 ++++++++++++ mesure_vitesse_orig.eps | 1478 ++++++++++ mesure_vitesse_quadratique.eps | 2388 +++++++++++++++++ mesure_vitesse_quadratique_9.eps | 1685 ++++++++++++ output.txt | 1236 +++++++++ target_publisher.ps | 452 ++++ triangle_control.ps | 721 +++++ twister.ps | 378 +++ uml_control.pdf | Bin 0 -> 93059 bytes uml_control.svg | 10 + workspace/.catkin_tools/VERSION | 2 +- .../profiles/default/config.yaml | 1 + .../profiles/default/devel_collisions.txt | 1 + .../bebop_description/devel_manifest.txt | 1 + .../packages/bebop_driver/devel_manifest.txt | 1 + .../packages/bebop_msgs/devel_manifest.txt | 1 + .../packages/bebop_tools/devel_manifest.txt | 1 + .../packages/demo_teleop/devel_manifest.txt | 1 + .../detect_targets/devel_manifest.txt | 31 + .../packages/drone_demo/devel_manifest.txt | 1 + .../packages/joy_teleop/devel_manifest.txt | 1 + .../packages/key_teleop/devel_manifest.txt | 1 + .../packages/mouse_teleop/devel_manifest.txt | 1 + .../packages/rcontrol/devel_manifest.txt | 5 + .../default/packages/rcontrol/package.xml | 63 + .../default/packages/vqimg/devel_manifest.txt | 1 + .../build/bebop_description/CMakeCache.txt | 3 + .../CMakeFiles/Makefile.cmake | 92 +- .../bebop_description/CTestConfiguration.ini | 115 + .../build/bebop_description/CTestCustom.cmake | 2 + .../atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../bebop_description/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../atomic_configure/setup.bash | 8 + .../atomic_configure/setup.sh | 96 + .../atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../bebop_descriptionConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 2 + .../bebop_description/_setup_util.py.stamp | 14 +- .../bebop_description/cmake_install.cmake | 21 +- workspace/build/bebop_driver/CMakeCache.txt | 3 + .../CMakeFiles/CMakeRuleHashes.txt | 2 +- .../bebop_driver/CMakeFiles/Makefile.cmake | 94 +- .../CMakeFiles/bebop.dir/CXX.includecache | 2 - .../CMakeFiles/bebop.dir/DependInfo.cmake | 1 + .../CMakeFiles/bebop.dir/flags.make | 2 +- .../CMakeFiles/bebop.dir/src/bebop.cpp.o | Bin 9942392 -> 9939896 bytes .../bebop_driver_gencfg.dir/build.make | 2 +- .../bebop_driver_node.dir/CXX.includecache | 2 - .../bebop_driver_node.dir/DependInfo.cmake | 1 + .../bebop_driver_node.dir/flags.make | 2 +- .../bebop_driver_nodelet.dir/CXX.includecache | 2 - .../bebop_driver_nodelet.dir/DependInfo.cmake | 1 + .../bebop_driver_nodelet.dir/flags.make | 2 +- .../src/bebop_driver_nodelet.cpp.o | Bin 4002824 -> 4002752 bytes .../build/bebop_driver/CTestConfiguration.ini | 115 + .../build/bebop_driver/CTestCustom.cmake | 2 + .../bebop_driver/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../bebop_driver/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../bebop_driver/atomic_configure/setup.bash | 8 + .../bebop_driver/atomic_configure/setup.sh | 96 + .../bebop_driver/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/bebop_driverConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 3 + .../stamps/bebop_driver/_setup_util.py.stamp | 14 +- .../build/bebop_driver/cmake_install.cmake | 21 +- .../bebop_driver/setup_custom_pythonpath.sh | 5 + workspace/build/bebop_msgs/CMakeCache.txt | 3 + .../bebop_msgs/CMakeFiles/Makefile.cmake | 92 +- .../build/bebop_msgs/CMakeFiles/Makefile2 | 164 +- .../build/bebop_msgs/CTestConfiguration.ini | 115 + workspace/build/bebop_msgs/CTestCustom.cmake | 2 + .../bebop_msgs/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../build/bebop_msgs/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../bebop_msgs/atomic_configure/setup.bash | 8 + .../bebop_msgs/atomic_configure/setup.sh | 96 + .../bebop_msgs/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/bebop_msgsConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 3 + .../stamps/bebop_msgs/_setup_util.py.stamp | 14 +- .../build/bebop_msgs/cmake_install.cmake | 21 +- workspace/build/bebop_tools/CMakeCache.txt | 3 + .../bebop_tools/CMakeFiles/Makefile.cmake | 92 +- .../build/bebop_tools/CTestConfiguration.ini | 115 + workspace/build/bebop_tools/CTestCustom.cmake | 2 + .../bebop_tools/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../build/bebop_tools/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../bebop_tools/atomic_configure/setup.bash | 8 + .../bebop_tools/atomic_configure/setup.sh | 96 + .../bebop_tools/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/bebop_toolsConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 2 + .../stamps/bebop_tools/_setup_util.py.stamp | 14 +- .../build/bebop_tools/cmake_install.cmake | 21 +- workspace/build/demo_teleop/CMakeCache.txt | 3 + .../CMakeFiles/CMakeRuleHashes.txt | 2 +- .../demo_teleop/CMakeFiles/Makefile.cmake | 94 +- .../demo_teleop_gencfg.dir/build.make | 2 +- .../build/demo_teleop/CTestConfiguration.ini | 115 + workspace/build/demo_teleop/CTestCustom.cmake | 2 + .../demo_teleop/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../build/demo_teleop/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../demo_teleop/atomic_configure/setup.bash | 8 + .../demo_teleop/atomic_configure/setup.sh | 96 + .../demo_teleop/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/demo_teleopConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 3 + .../stamps/demo_teleop/_setup_util.py.stamp | 14 +- .../build/demo_teleop/cmake_install.cmake | 21 +- .../demo_teleop/setup_custom_pythonpath.sh | 5 + workspace/build/detect_targets/CMakeCache.txt | 3 + .../CMakeFiles/CMakeRuleHashes.txt | 6 + .../detect_targets/CMakeFiles/Makefile.cmake | 23 + .../build/detect_targets/CMakeFiles/Makefile2 | 22 +- .../DependInfo.cmake | 24 + .../detect_targets_gencfg.dir/build.make | 150 ++ .../cmake_clean.cmake | 30 + .../detect_targets_gencfg.dir/progress.make | 6 + .../progress.make | 6 +- .../progress.make | 8 +- .../progress.make | 6 +- .../progress.make | 6 +- .../progress.make | 8 +- .../detect_targets/CMakeFiles/progress.marks | 2 +- .../detect_targets/CTestConfiguration.ini | 115 + .../build/detect_targets/CTestCustom.cmake | 2 + .../atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../detect_targets/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../atomic_configure/setup.bash | 8 + .../detect_targets/atomic_configure/setup.sh | 96 + .../detect_targets/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/detect_targetsConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../detect_targets/_setup_util.py.stamp | 14 +- .../build/detect_targets/cmake_install.cmake | 45 +- .../CMakeFiles/gmock.dir/progress.make | 6 +- .../CMakeFiles/gmock_main.dir/progress.make | 8 +- .../gtest/CMakeFiles/gtest.dir/progress.make | 4 +- .../CMakeFiles/gtest_main.dir/progress.make | 4 +- workspace/build/drone_demo/CMakeCache.txt | 3 + .../drone_demo/CMakeFiles/Makefile.cmake | 17 + .../build/drone_demo/CTestConfiguration.ini | 115 + workspace/build/drone_demo/CTestCustom.cmake | 2 + .../drone_demo/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../build/drone_demo/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../drone_demo/atomic_configure/setup.bash | 8 + .../drone_demo/atomic_configure/setup.sh | 96 + .../drone_demo/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/drone_demoConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../stamps/drone_demo/_setup_util.py.stamp | 14 +- .../build/drone_demo/cmake_install.cmake | 21 +- workspace/build/joy_teleop/CMakeCache.txt | 3 + .../joy_teleop/CMakeFiles/Makefile.cmake | 92 +- .../build/joy_teleop/CTestConfiguration.ini | 115 + workspace/build/joy_teleop/CTestCustom.cmake | 2 + .../joy_teleop/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../build/joy_teleop/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../joy_teleop/atomic_configure/setup.bash | 8 + .../joy_teleop/atomic_configure/setup.sh | 96 + .../joy_teleop/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/joy_teleopConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 2 + .../stamps/joy_teleop/_setup_util.py.stamp | 14 +- .../build/joy_teleop/cmake_install.cmake | 21 +- workspace/build/key_teleop/CMakeCache.txt | 3 + .../key_teleop/CMakeFiles/Makefile.cmake | 92 +- .../build/key_teleop/CTestConfiguration.ini | 115 + workspace/build/key_teleop/CTestCustom.cmake | 2 + .../key_teleop/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../build/key_teleop/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../key_teleop/atomic_configure/setup.bash | 8 + .../key_teleop/atomic_configure/setup.sh | 96 + .../key_teleop/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/key_teleopConfig.cmake | 2 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 2 + .../stamps/key_teleop/_setup_util.py.stamp | 14 +- .../build/key_teleop/cmake_install.cmake | 21 +- workspace/build/mouse_teleop/CMakeCache.txt | 3 + .../mouse_teleop/CMakeFiles/Makefile.cmake | 92 +- .../build/mouse_teleop/CTestConfiguration.ini | 115 + .../build/mouse_teleop/CTestCustom.cmake | 2 + .../mouse_teleop/atomic_configure/.rosinstall | 2 + .../atomic_configure/_setup_util.py | 300 +++ .../mouse_teleop/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../atomic_configure/local_setup.sh | 9 + .../atomic_configure/local_setup.zsh | 8 + .../mouse_teleop/atomic_configure/setup.bash | 8 + .../mouse_teleop/atomic_configure/setup.sh | 96 + .../mouse_teleop/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../installspace/mouse_teleopConfig.cmake | 2 + .../catkin_generated/installspace/setup.sh | 5 +- .../catkin_generated/setup_cached.sh | 2 + .../stamps/mouse_teleop/_setup_util.py.stamp | 14 +- .../build/mouse_teleop/cmake_install.cmake | 21 +- workspace/build/rcontrol/CATKIN_IGNORE | 0 workspace/build/rcontrol/CMakeCache.txt | 517 ++++ .../CMakeDirectoryInformation.cmake | 16 + .../rcontrol/CMakeFiles/CMakeRuleHashes.txt | 2 + .../build/rcontrol/CMakeFiles/Makefile.cmake | 241 ++ workspace/build/rcontrol/CMakeFiles/Makefile2 | 448 ++++ .../rcontrol/CMakeFiles/TargetDirectories.txt | 38 + .../DependInfo.cmake | 11 + .../build.make | 72 + .../cmake_clean.cmake | 5 + .../progress.make | 1 + .../clean_test_results.dir/DependInfo.cmake | 11 + .../clean_test_results.dir/build.make | 76 + .../clean_test_results.dir/cmake_clean.cmake | 8 + .../clean_test_results.dir/progress.make | 1 + .../rcontrol/CMakeFiles/cmake.check_cache | 1 + .../download_extra_data.dir/DependInfo.cmake | 11 + .../download_extra_data.dir/build.make | 72 + .../download_extra_data.dir/cmake_clean.cmake | 5 + .../download_extra_data.dir/progress.make | 1 + .../CMakeFiles/doxygen.dir/DependInfo.cmake | 11 + .../CMakeFiles/doxygen.dir/build.make | 72 + .../CMakeFiles/doxygen.dir/cmake_clean.cmake | 5 + .../CMakeFiles/doxygen.dir/progress.make | 1 + .../rcontrol/CMakeFiles/feature_tests.bin | Bin 0 -> 12312 bytes .../build/rcontrol/CMakeFiles/feature_tests.c | 34 + .../rcontrol/CMakeFiles/feature_tests.cxx | 405 +++ .../build/rcontrol/CMakeFiles/progress.marks | 1 + .../CMakeFiles/run_tests.dir/DependInfo.cmake | 11 + .../CMakeFiles/run_tests.dir/build.make | 72 + .../run_tests.dir/cmake_clean.cmake | 5 + .../CMakeFiles/run_tests.dir/progress.make | 1 + .../CMakeFiles/tests.dir/DependInfo.cmake | 11 + .../rcontrol/CMakeFiles/tests.dir/build.make | 72 + .../CMakeFiles/tests.dir/cmake_clean.cmake | 5 + .../CMakeFiles/tests.dir/progress.make | 1 + .../build/rcontrol/CTestConfiguration.ini | 115 + workspace/build/rcontrol/CTestCustom.cmake | 2 + workspace/build/rcontrol/CTestTestfile.cmake | 7 + workspace/build/rcontrol/Makefile | 336 +++ .../rcontrol/atomic_configure/.rosinstall | 2 + .../rcontrol/atomic_configure/_setup_util.py | 300 +++ .../build/rcontrol/atomic_configure/env.sh | 16 + .../atomic_configure/local_setup.bash | 8 + .../rcontrol/atomic_configure/local_setup.sh | 9 + .../rcontrol/atomic_configure/local_setup.zsh | 8 + .../rcontrol/atomic_configure/setup.bash | 8 + .../build/rcontrol/atomic_configure/setup.sh | 96 + .../build/rcontrol/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 20 + .../rcontrol/catkin_generated/env_cached.sh | 16 + .../catkin_generated/generate_cached_setup.py | 30 + .../catkin_generated/installspace/.rosinstall | 2 + .../installspace/_setup_util.py | 300 +++ .../catkin_generated/installspace/env.sh | 16 + .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/rcontrol.pc | 8 + .../installspace/rcontrolConfig-version.cmake | 14 + .../installspace/rcontrolConfig.cmake | 200 ++ .../catkin_generated/installspace/setup.bash | 8 + .../catkin_generated/installspace/setup.sh | 96 + .../catkin_generated/installspace/setup.zsh | 8 + .../rcontrol/catkin_generated/package.cmake | 16 + .../pkg.develspace.context.pc.py | 8 + .../pkg.installspace.context.pc.py | 8 + .../rcontrol/catkin_generated/setup_cached.sh | 13 + .../stamps/rcontrol/_setup_util.py.stamp | 300 +++ .../interrogate_setup_dot_py.py.stamp | 253 ++ .../stamps/rcontrol/package.xml.stamp | 63 + .../stamps/rcontrol/pkg.pc.em.stamp | 8 + workspace/build/rcontrol/cmake_install.cmake | 161 ++ .../CMakeDirectoryInformation.cmake | 16 + .../rcontrol/gtest/CMakeFiles/progress.marks | 1 + .../build/rcontrol/gtest/CTestTestfile.cmake | 7 + workspace/build/rcontrol/gtest/Makefile | 196 ++ .../build/rcontrol/gtest/cmake_install.cmake | 45 + .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/gmock.dir/DependInfo.cmake | 30 + .../CMakeFiles/gmock.dir/build.make | 140 + .../CMakeFiles/gmock.dir/cmake_clean.cmake | 11 + .../CMakeFiles/gmock.dir/depend.make | 2 + .../CMakeFiles/gmock.dir/flags.make | 10 + .../googlemock/CMakeFiles/gmock.dir/link.txt | 1 + .../CMakeFiles/gmock.dir/progress.make | 4 + .../gmock_main.dir/DependInfo.cmake | 31 + .../CMakeFiles/gmock_main.dir/build.make | 167 ++ .../gmock_main.dir/cmake_clean.cmake | 12 + .../CMakeFiles/gmock_main.dir/depend.make | 2 + .../CMakeFiles/gmock_main.dir/flags.make | 10 + .../CMakeFiles/gmock_main.dir/link.txt | 1 + .../CMakeFiles/gmock_main.dir/progress.make | 5 + .../googlemock/CMakeFiles/progress.marks | 1 + .../gtest/googlemock/CTestTestfile.cmake | 7 + .../build/rcontrol/gtest/googlemock/Makefile | 324 +++ .../gtest/googlemock/cmake_install.cmake | 45 + .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/gtest.dir/DependInfo.cmake | 27 + .../gtest/CMakeFiles/gtest.dir/build.make | 113 + .../CMakeFiles/gtest.dir/cmake_clean.cmake | 10 + .../gtest/CMakeFiles/gtest.dir/depend.make | 2 + .../gtest/CMakeFiles/gtest.dir/flags.make | 10 + .../gtest/CMakeFiles/gtest.dir/link.txt | 1 + .../gtest/CMakeFiles/gtest.dir/progress.make | 3 + .../gtest_main.dir/DependInfo.cmake | 28 + .../CMakeFiles/gtest_main.dir/build.make | 114 + .../gtest_main.dir/cmake_clean.cmake | 10 + .../CMakeFiles/gtest_main.dir/depend.make | 2 + .../CMakeFiles/gtest_main.dir/flags.make | 10 + .../gtest/CMakeFiles/gtest_main.dir/link.txt | 1 + .../CMakeFiles/gtest_main.dir/progress.make | 3 + .../gtest/CMakeFiles/progress.marks | 1 + .../googlemock/gtest/CTestTestfile.cmake | 6 + .../rcontrol/gtest/googlemock/gtest/Makefile | 288 ++ .../googlemock/gtest/cmake_install.cmake | 39 + workspace/build/vqimg/CMakeCache.txt | 3 + .../vqimg/CMakeFiles/CMakeRuleHashes.txt | 4 +- .../build/vqimg/CMakeFiles/Makefile.cmake | 23 +- .../CMakeFiles/gngt_node.dir/DependInfo.cmake | 1 + .../vqimg/CMakeFiles/gngt_node.dir/flags.make | 2 +- .../hue_filter_node.dir/DependInfo.cmake | 1 + .../CMakeFiles/hue_filter_node.dir/flags.make | 2 +- .../CMakeFiles/vqimg_gencfg.dir/build.make | 4 +- workspace/build/vqimg/CTestConfiguration.ini | 115 + workspace/build/vqimg/CTestCustom.cmake | 2 + .../build/vqimg/atomic_configure/.rosinstall | 2 + .../vqimg/atomic_configure/_setup_util.py | 300 +++ workspace/build/vqimg/atomic_configure/env.sh | 16 + .../vqimg/atomic_configure/local_setup.bash | 8 + .../vqimg/atomic_configure/local_setup.sh | 9 + .../vqimg/atomic_configure/local_setup.zsh | 8 + .../build/vqimg/atomic_configure/setup.bash | 8 + .../build/vqimg/atomic_configure/setup.sh | 96 + .../build/vqimg/atomic_configure/setup.zsh | 8 + .../catkin_generated/version/package.cmake | 2 +- .../installspace/_setup_util.py | 14 +- .../installspace/local_setup.bash | 8 + .../installspace/local_setup.sh | 9 + .../installspace/local_setup.zsh | 8 + .../catkin_generated/installspace/setup.sh | 5 +- .../installspace/vqimgConfig.cmake | 2 + .../vqimg/catkin_generated/setup_cached.sh | 3 + .../stamps/vqimg/_setup_util.py.stamp | 14 +- workspace/build/vqimg/cmake_install.cmake | 21 +- .../build/vqimg/setup_custom_pythonpath.sh | 5 + workspace/devel/.catkin | 2 +- .../.private/bebop_description/_setup_util.py | 14 +- .../.private/bebop_description/cmake.lock | 0 .../bebop_description/local_setup.bash | 8 + .../.private/bebop_description/local_setup.sh | 9 + .../bebop_description/local_setup.zsh | 8 + .../devel/.private/bebop_description/setup.sh | 5 +- .../cmake/bebop_descriptionConfig.cmake | 2 + .../.private/bebop_driver/_setup_util.py | 14 +- .../devel/.private/bebop_driver/cmake.lock | 0 .../.private/bebop_driver/lib/libbebop.so | Bin 6794192 -> 6790096 bytes .../lib/libbebop_driver_nodelet.so | Bin 2693136 -> 2693136 bytes .../.private/bebop_driver/local_setup.bash | 8 + .../.private/bebop_driver/local_setup.sh | 9 + .../.private/bebop_driver/local_setup.zsh | 8 + .../devel/.private/bebop_driver/setup.sh | 5 +- .../cmake/bebop_driverConfig.cmake | 2 + .../devel/.private/bebop_msgs/_setup_util.py | 14 +- .../devel/.private/bebop_msgs/cmake.lock | 0 ...drone3AccessoryStateConnectedAccessories.h | 76 +- ...iflickeringStateelectricFrequencyChanged.h | 64 +- .../Ardrone3AntiflickeringStatemodeChanged.h | 66 +- .../Ardrone3CameraStateOrientation.h | 64 +- .../Ardrone3CameraStateOrientationV2.h | 64 +- .../Ardrone3CameraStateVelocityRange.h | 64 +- ...rone3CameraStatedefaultCameraOrientation.h | 64 +- ...ne3CameraStatedefaultCameraOrientationV2.h | 64 +- ...rone3GPSStateHomeTypeAvailabilityChanged.h | 72 +- .../Ardrone3GPSStateHomeTypeChosenChanged.h | 68 +- ...Ardrone3GPSStateNumberOfSatelliteChanged.h | 60 +- ...rone3MediaRecordStatePictureStateChanged.h | 64 +- ...ne3MediaRecordStatePictureStateChangedV2.h | 80 +- ...one3MediaRecordStateVideoResolutionState.h | 80 +- ...rdrone3MediaRecordStateVideoStateChanged.h | 72 +- ...rone3MediaRecordStateVideoStateChangedV2.h | 80 +- ...ne3MediaStreamingStateVideoEnableChanged.h | 66 +- ...ediaStreamingStateVideoStreamModeChanged.h | 66 +- ...ne3NetworkStateAllWifiAuthChannelChanged.h | 56 +- .../Ardrone3NetworkStateAllWifiScanChanged.h | 56 +- ...e3NetworkStateWifiAuthChannelListChanged.h | 72 +- .../Ardrone3NetworkStateWifiScanListChanged.h | 76 +- .../bebop_msgs/Ardrone3PROStateFeatures.h | 60 +- .../Ardrone3PilotingStateAirSpeedChanged.h | 60 +- .../Ardrone3PilotingStateAlertStateChanged.h | 72 +- .../Ardrone3PilotingStateAltitudeChanged.h | 60 +- .../Ardrone3PilotingStateAttitudeChanged.h | 68 +- ...rone3PilotingStateAutoTakeOffModeChanged.h | 60 +- .../Ardrone3PilotingStateFlatTrimChanged.h | 56 +- .../Ardrone3PilotingStateFlyingStateChanged.h | 78 +- .../Ardrone3PilotingStateGpsLocationChanged.h | 80 +- ...Ardrone3PilotingStateLandingStateChanged.h | 64 +- ...ne3PilotingStateNavigateHomeStateChanged.h | 86 +- .../Ardrone3PilotingStatePositionChanged.h | 68 +- .../Ardrone3PilotingStateSpeedChanged.h | 68 +- .../Ardrone3PilotingStatemoveToChanged.h | 96 +- ...sionsStateControllerLibARCommandsVersion.h | 60 +- ...sVersionsStateDeviceLibARCommandsVersion.h | 60 +- ...nsStateSkyControllerLibARCommandsVersion.h | 60 +- ...mmonAccessoryStateAccessoryConfigChanged.h | 84 +- ...yStateAccessoryConfigModificationEnabled.h | 60 +- ...soryStateSupportedAccessoriesListChanged.h | 70 +- .../bebop_msgs/CommonAnimationsStateList.h | 112 +- .../CommonAudioStateAudioStreamingRunning.h | 60 +- ...MagnetoCalibrationAxisToCalibrateChanged.h | 68 +- ...tionStateMagnetoCalibrationRequiredState.h | 60 +- ...ionStateMagnetoCalibrationStartedChanged.h | 60 +- ...ationStateMagnetoCalibrationStateChanged.h | 72 +- ...brationStatePitotCalibrationStateChanged.h | 72 +- .../CommonChargerStateChargingInfo.h | 92 +- ...monChargerStateCurrentChargeStateChanged.h | 84 +- .../CommonChargerStateLastChargeRateChanged.h | 68 +- .../CommonChargerStateMaxChargeRateChanged.h | 66 +- .../CommonCommonStateAllStatesChanged.h | 56 +- .../CommonCommonStateBatteryStateChanged.h | 60 +- .../CommonCommonStateCountryListKnown.h | 64 +- .../CommonCommonStateCurrentDateChanged.h | 60 +- .../CommonCommonStateCurrentTimeChanged.h | 60 +- ...StateDeprecatedMassStorageContentChanged.h | 76 +- .../CommonCommonStateMassStorageContent.h | 80 +- ...mmonStateMassStorageContentForCurrentRun.h | 72 +- ...StateMassStorageInfoRemainingListChanged.h | 68 +- ...mmonStateMassStorageInfoStateListChanged.h | 80 +- ...onCommonStateMassStorageStateListChanged.h | 64 +- .../CommonCommonStateProductModel.h | 90 +- ...ommonCommonStateSensorsStatesListChanged.h | 76 +- ...CommonCommonStateVideoRecordingTimestamp.h | 64 +- .../CommonCommonStateWifiSignalChanged.h | 60 +- ...nFlightPlanStateAvailabilityStateChanged.h | 60 +- ...FlightPlanStateComponentStateListChanged.h | 74 +- .../CommonFlightPlanStateLockStateChanged.h | 60 +- .../CommonHeadlightsStateintensityChanged.h | 64 +- ...vlinkStateMavlinkFilePlayingStateChanged.h | 80 +- ...MavlinkStateMavlinkPlayErrorStateChanged.h | 68 +- .../CommonMavlinkStateMissionItemExecuted.h | 60 +- .../CommonOverHeatStateOverHeatChanged.h | 56 +- ...onOverHeatStateOverHeatRegulationChanged.h | 60 +- .../bebop_msgs/CommonRunStateRunIdChanged.h | 60 +- .../.private/bebop_msgs/local_setup.bash | 8 + .../devel/.private/bebop_msgs/local_setup.sh | 9 + .../devel/.private/bebop_msgs/local_setup.zsh | 8 + workspace/devel/.private/bebop_msgs/setup.sh | 5 +- .../bebop_msgs/cmake/bebop_msgsConfig.cmake | 2 + ...ne3AccessoryStateConnectedAccessories.lisp | 4 +- ...ickeringStateelectricFrequencyChanged.lisp | 4 +- ...rdrone3AntiflickeringStatemodeChanged.lisp | 4 +- .../msg/Ardrone3CameraStateOrientation.lisp | 4 +- .../msg/Ardrone3CameraStateOrientationV2.lisp | 4 +- .../msg/Ardrone3CameraStateVelocityRange.lisp | 4 +- ...e3CameraStatedefaultCameraOrientation.lisp | 4 +- ...CameraStatedefaultCameraOrientationV2.lisp | 4 +- ...e3GPSStateHomeTypeAvailabilityChanged.lisp | 4 +- ...Ardrone3GPSStateHomeTypeChosenChanged.lisp | 4 +- ...rone3GPSStateNumberOfSatelliteChanged.lisp | 4 +- ...e3MediaRecordStatePictureStateChanged.lisp | 4 +- ...MediaRecordStatePictureStateChangedV2.lisp | 4 +- ...3MediaRecordStateVideoResolutionState.lisp | 4 +- ...one3MediaRecordStateVideoStateChanged.lisp | 4 +- ...e3MediaRecordStateVideoStateChangedV2.lisp | 4 +- ...MediaStreamingStateVideoEnableChanged.lisp | 4 +- ...aStreamingStateVideoStreamModeChanged.lisp | 4 +- ...NetworkStateAllWifiAuthChannelChanged.lisp | 4 +- ...rdrone3NetworkStateAllWifiScanChanged.lisp | 4 +- ...etworkStateWifiAuthChannelListChanged.lisp | 4 +- ...drone3NetworkStateWifiScanListChanged.lisp | 4 +- .../msg/Ardrone3PROStateFeatures.lisp | 4 +- .../Ardrone3PilotingStateAirSpeedChanged.lisp | 4 +- ...rdrone3PilotingStateAlertStateChanged.lisp | 4 +- .../Ardrone3PilotingStateAltitudeChanged.lisp | 4 +- .../Ardrone3PilotingStateAttitudeChanged.lisp | 4 +- ...e3PilotingStateAutoTakeOffModeChanged.lisp | 4 +- .../Ardrone3PilotingStateFlatTrimChanged.lisp | 4 +- ...drone3PilotingStateFlyingStateChanged.lisp | 4 +- ...drone3PilotingStateGpsLocationChanged.lisp | 4 +- ...rone3PilotingStateLandingStateChanged.lisp | 4 +- ...PilotingStateNavigateHomeStateChanged.lisp | 4 +- .../Ardrone3PilotingStatePositionChanged.lisp | 4 +- .../Ardrone3PilotingStateSpeedChanged.lisp | 4 +- .../Ardrone3PilotingStatemoveToChanged.lisp | 4 +- ...nsStateControllerLibARCommandsVersion.lisp | 4 +- ...rsionsStateDeviceLibARCommandsVersion.lisp | 4 +- ...tateSkyControllerLibARCommandsVersion.lisp | 4 +- ...nAccessoryStateAccessoryConfigChanged.lisp | 4 +- ...ateAccessoryConfigModificationEnabled.lisp | 4 +- ...yStateSupportedAccessoriesListChanged.lisp | 4 +- .../msg/CommonAnimationsStateList.lisp | 4 +- ...CommonAudioStateAudioStreamingRunning.lisp | 4 +- ...netoCalibrationAxisToCalibrateChanged.lisp | 4 +- ...nStateMagnetoCalibrationRequiredState.lisp | 4 +- ...StateMagnetoCalibrationStartedChanged.lisp | 4 +- ...onStateMagnetoCalibrationStateChanged.lisp | 4 +- ...tionStatePitotCalibrationStateChanged.lisp | 4 +- .../msg/CommonChargerStateChargingInfo.lisp | 4 +- ...ChargerStateCurrentChargeStateChanged.lisp | 4 +- ...mmonChargerStateLastChargeRateChanged.lisp | 4 +- ...ommonChargerStateMaxChargeRateChanged.lisp | 4 +- .../CommonCommonStateAllStatesChanged.lisp | 4 +- .../CommonCommonStateBatteryStateChanged.lisp | 4 +- .../CommonCommonStateCountryListKnown.lisp | 4 +- .../CommonCommonStateCurrentDateChanged.lisp | 4 +- .../CommonCommonStateCurrentTimeChanged.lisp | 4 +- ...teDeprecatedMassStorageContentChanged.lisp | 4 +- .../CommonCommonStateMassStorageContent.lisp | 4 +- ...nStateMassStorageContentForCurrentRun.lisp | 4 +- ...teMassStorageInfoRemainingListChanged.lisp | 4 +- ...nStateMassStorageInfoStateListChanged.lisp | 4 +- ...ommonStateMassStorageStateListChanged.lisp | 4 +- .../msg/CommonCommonStateProductModel.lisp | 4 +- ...onCommonStateSensorsStatesListChanged.lisp | 4 +- ...monCommonStateVideoRecordingTimestamp.lisp | 4 +- .../CommonCommonStateWifiSignalChanged.lisp | 4 +- ...ightPlanStateAvailabilityStateChanged.lisp | 4 +- ...ghtPlanStateComponentStateListChanged.lisp | 4 +- ...CommonFlightPlanStateLockStateChanged.lisp | 4 +- ...CommonHeadlightsStateintensityChanged.lisp | 4 +- ...nkStateMavlinkFilePlayingStateChanged.lisp | 4 +- ...linkStateMavlinkPlayErrorStateChanged.lisp | 4 +- ...CommonMavlinkStateMissionItemExecuted.lisp | 4 +- .../CommonOverHeatStateOverHeatChanged.lisp | 4 +- ...verHeatStateOverHeatRegulationChanged.lisp | 4 +- .../msg/CommonRunStateRunIdChanged.lisp | 4 +- ...rone3AccessoryStateConnectedAccessories.js | 2 - ...flickeringStateelectricFrequencyChanged.js | 2 - .../Ardrone3AntiflickeringStatemodeChanged.js | 2 - .../msg/Ardrone3CameraStateOrientation.js | 2 - .../msg/Ardrone3CameraStateOrientationV2.js | 2 - .../msg/Ardrone3CameraStateVelocityRange.js | 2 - ...one3CameraStatedefaultCameraOrientation.js | 2 - ...e3CameraStatedefaultCameraOrientationV2.js | 2 - ...one3GPSStateHomeTypeAvailabilityChanged.js | 2 - .../Ardrone3GPSStateHomeTypeChosenChanged.js | 2 - ...rdrone3GPSStateNumberOfSatelliteChanged.js | 2 - ...one3MediaRecordStatePictureStateChanged.js | 2 - ...e3MediaRecordStatePictureStateChangedV2.js | 2 - ...ne3MediaRecordStateVideoResolutionState.js | 2 - ...drone3MediaRecordStateVideoStateChanged.js | 2 - ...one3MediaRecordStateVideoStateChangedV2.js | 2 - ...e3MediaStreamingStateVideoEnableChanged.js | 2 - ...diaStreamingStateVideoStreamModeChanged.js | 2 - ...e3NetworkStateAllWifiAuthChannelChanged.js | 2 - .../Ardrone3NetworkStateAllWifiScanChanged.js | 2 - ...3NetworkStateWifiAuthChannelListChanged.js | 2 - ...Ardrone3NetworkStateWifiScanListChanged.js | 2 - .../msg/Ardrone3PROStateFeatures.js | 2 - .../Ardrone3PilotingStateAirSpeedChanged.js | 2 - .../Ardrone3PilotingStateAlertStateChanged.js | 2 - .../Ardrone3PilotingStateAltitudeChanged.js | 2 - .../Ardrone3PilotingStateAttitudeChanged.js | 2 - ...one3PilotingStateAutoTakeOffModeChanged.js | 2 - .../Ardrone3PilotingStateFlatTrimChanged.js | 2 - ...Ardrone3PilotingStateFlyingStateChanged.js | 2 - ...Ardrone3PilotingStateGpsLocationChanged.js | 2 - ...rdrone3PilotingStateLandingStateChanged.js | 2 - ...e3PilotingStateNavigateHomeStateChanged.js | 2 - .../Ardrone3PilotingStatePositionChanged.js | 2 - .../msg/Ardrone3PilotingStateSpeedChanged.js | 2 - .../msg/Ardrone3PilotingStatemoveToChanged.js | 2 - ...ionsStateControllerLibARCommandsVersion.js | 2 - ...VersionsStateDeviceLibARCommandsVersion.js | 2 - ...sStateSkyControllerLibARCommandsVersion.js | 2 - ...monAccessoryStateAccessoryConfigChanged.js | 2 - ...StateAccessoryConfigModificationEnabled.js | 2 - ...oryStateSupportedAccessoriesListChanged.js | 2 - .../msg/CommonAnimationsStateList.js | 2 - .../CommonAudioStateAudioStreamingRunning.js | 2 - ...agnetoCalibrationAxisToCalibrateChanged.js | 2 - ...ionStateMagnetoCalibrationRequiredState.js | 2 - ...onStateMagnetoCalibrationStartedChanged.js | 2 - ...tionStateMagnetoCalibrationStateChanged.js | 2 - ...rationStatePitotCalibrationStateChanged.js | 2 - .../msg/CommonChargerStateChargingInfo.js | 2 - ...onChargerStateCurrentChargeStateChanged.js | 2 - ...CommonChargerStateLastChargeRateChanged.js | 2 - .../CommonChargerStateMaxChargeRateChanged.js | 2 - .../msg/CommonCommonStateAllStatesChanged.js | 2 - .../CommonCommonStateBatteryStateChanged.js | 2 - .../msg/CommonCommonStateCountryListKnown.js | 2 - .../CommonCommonStateCurrentDateChanged.js | 2 - .../CommonCommonStateCurrentTimeChanged.js | 2 - ...tateDeprecatedMassStorageContentChanged.js | 2 - .../CommonCommonStateMassStorageContent.js | 2 - ...monStateMassStorageContentForCurrentRun.js | 2 - ...tateMassStorageInfoRemainingListChanged.js | 2 - ...monStateMassStorageInfoStateListChanged.js | 2 - ...nCommonStateMassStorageStateListChanged.js | 2 - .../msg/CommonCommonStateProductModel.js | 2 - ...mmonCommonStateSensorsStatesListChanged.js | 2 - ...ommonCommonStateVideoRecordingTimestamp.js | 2 - .../msg/CommonCommonStateWifiSignalChanged.js | 2 - ...FlightPlanStateAvailabilityStateChanged.js | 2 - ...lightPlanStateComponentStateListChanged.js | 2 - .../CommonFlightPlanStateLockStateChanged.js | 2 - .../CommonHeadlightsStateintensityChanged.js | 2 - ...linkStateMavlinkFilePlayingStateChanged.js | 2 - ...avlinkStateMavlinkPlayErrorStateChanged.js | 2 - .../CommonMavlinkStateMissionItemExecuted.js | 2 - .../msg/CommonOverHeatStateOverHeatChanged.js | 2 - ...nOverHeatStateOverHeatRegulationChanged.js | 2 - .../msg/CommonRunStateRunIdChanged.js | 2 - ...drone3AccessoryStateConnectedAccessories.l | 2 - ...iflickeringStateelectricFrequencyChanged.l | 2 - .../Ardrone3AntiflickeringStatemodeChanged.l | 2 - .../msg/Ardrone3CameraStateOrientation.l | 2 - .../msg/Ardrone3CameraStateOrientationV2.l | 2 - .../msg/Ardrone3CameraStateVelocityRange.l | 2 - ...rone3CameraStatedefaultCameraOrientation.l | 2 - ...ne3CameraStatedefaultCameraOrientationV2.l | 2 - ...rone3GPSStateHomeTypeAvailabilityChanged.l | 2 - .../Ardrone3GPSStateHomeTypeChosenChanged.l | 2 - ...Ardrone3GPSStateNumberOfSatelliteChanged.l | 2 - ...rone3MediaRecordStatePictureStateChanged.l | 2 - ...ne3MediaRecordStatePictureStateChangedV2.l | 2 - ...one3MediaRecordStateVideoResolutionState.l | 2 - ...rdrone3MediaRecordStateVideoStateChanged.l | 2 - ...rone3MediaRecordStateVideoStateChangedV2.l | 2 - ...ne3MediaStreamingStateVideoEnableChanged.l | 2 - ...ediaStreamingStateVideoStreamModeChanged.l | 2 - ...ne3NetworkStateAllWifiAuthChannelChanged.l | 2 - .../Ardrone3NetworkStateAllWifiScanChanged.l | 2 - ...e3NetworkStateWifiAuthChannelListChanged.l | 2 - .../Ardrone3NetworkStateWifiScanListChanged.l | 2 - .../bebop_msgs/msg/Ardrone3PROStateFeatures.l | 2 - .../Ardrone3PilotingStateAirSpeedChanged.l | 2 - .../Ardrone3PilotingStateAlertStateChanged.l | 2 - .../Ardrone3PilotingStateAltitudeChanged.l | 2 - .../Ardrone3PilotingStateAttitudeChanged.l | 2 - ...rone3PilotingStateAutoTakeOffModeChanged.l | 2 - .../Ardrone3PilotingStateFlatTrimChanged.l | 2 - .../Ardrone3PilotingStateFlyingStateChanged.l | 2 - .../Ardrone3PilotingStateGpsLocationChanged.l | 2 - ...Ardrone3PilotingStateLandingStateChanged.l | 2 - ...ne3PilotingStateNavigateHomeStateChanged.l | 2 - .../Ardrone3PilotingStatePositionChanged.l | 2 - .../msg/Ardrone3PilotingStateSpeedChanged.l | 2 - .../msg/Ardrone3PilotingStatemoveToChanged.l | 2 - ...sionsStateControllerLibARCommandsVersion.l | 2 - ...sVersionsStateDeviceLibARCommandsVersion.l | 2 - ...nsStateSkyControllerLibARCommandsVersion.l | 2 - ...mmonAccessoryStateAccessoryConfigChanged.l | 2 - ...yStateAccessoryConfigModificationEnabled.l | 2 - ...soryStateSupportedAccessoriesListChanged.l | 2 - .../msg/CommonAnimationsStateList.l | 2 - .../CommonAudioStateAudioStreamingRunning.l | 2 - ...MagnetoCalibrationAxisToCalibrateChanged.l | 2 - ...tionStateMagnetoCalibrationRequiredState.l | 2 - ...ionStateMagnetoCalibrationStartedChanged.l | 2 - ...ationStateMagnetoCalibrationStateChanged.l | 2 - ...brationStatePitotCalibrationStateChanged.l | 2 - .../msg/CommonChargerStateChargingInfo.l | 2 - ...monChargerStateCurrentChargeStateChanged.l | 2 - .../CommonChargerStateLastChargeRateChanged.l | 2 - .../CommonChargerStateMaxChargeRateChanged.l | 2 - .../msg/CommonCommonStateAllStatesChanged.l | 2 - .../CommonCommonStateBatteryStateChanged.l | 2 - .../msg/CommonCommonStateCountryListKnown.l | 2 - .../msg/CommonCommonStateCurrentDateChanged.l | 2 - .../msg/CommonCommonStateCurrentTimeChanged.l | 2 - ...StateDeprecatedMassStorageContentChanged.l | 2 - .../msg/CommonCommonStateMassStorageContent.l | 2 - ...mmonStateMassStorageContentForCurrentRun.l | 2 - ...StateMassStorageInfoRemainingListChanged.l | 2 - ...mmonStateMassStorageInfoStateListChanged.l | 2 - ...onCommonStateMassStorageStateListChanged.l | 2 - .../msg/CommonCommonStateProductModel.l | 2 - ...ommonCommonStateSensorsStatesListChanged.l | 2 - ...CommonCommonStateVideoRecordingTimestamp.l | 2 - .../msg/CommonCommonStateWifiSignalChanged.l | 2 - ...nFlightPlanStateAvailabilityStateChanged.l | 2 - ...FlightPlanStateComponentStateListChanged.l | 2 - .../CommonFlightPlanStateLockStateChanged.l | 2 - .../CommonHeadlightsStateintensityChanged.l | 2 - ...vlinkStateMavlinkFilePlayingStateChanged.l | 2 - ...MavlinkStateMavlinkPlayErrorStateChanged.l | 2 - .../CommonMavlinkStateMissionItemExecuted.l | 2 - .../msg/CommonOverHeatStateOverHeatChanged.l | 2 - ...onOverHeatStateOverHeatRegulationChanged.l | 2 - .../msg/CommonRunStateRunIdChanged.l | 2 - .../devel/.private/bebop_tools/_setup_util.py | 14 +- .../devel/.private/bebop_tools/cmake.lock | 0 .../.private/bebop_tools/local_setup.bash | 8 + .../devel/.private/bebop_tools/local_setup.sh | 9 + .../.private/bebop_tools/local_setup.zsh | 8 + workspace/devel/.private/bebop_tools/setup.sh | 5 +- .../bebop_tools/cmake/bebop_toolsConfig.cmake | 2 + .../devel/.private/demo_teleop/_setup_util.py | 14 +- .../devel/.private/demo_teleop/cmake.lock | 0 .../.private/demo_teleop/local_setup.bash | 8 + .../devel/.private/demo_teleop/local_setup.sh | 9 + .../.private/demo_teleop/local_setup.zsh | 8 + workspace/devel/.private/demo_teleop/setup.sh | 5 +- .../demo_teleop/cmake/demo_teleopConfig.cmake | 2 + .../.private/detect_targets/_setup_util.py | 14 +- .../devel/.private/detect_targets/cmake.lock | 0 .../detect_targets/DerivativeNodeConfig.h | 543 ++++ .../include/detect_targets/InputNodeConfig.h | 487 ++++ .../detect_targets/IntegralNodeConfig.h | 557 ++++ .../include/detect_targets/PIDNodeConfig.h | 627 +++++ .../detect_targets/ProportionalNodeConfig.h | 501 ++++ .../detect_targets/SaturateNodeConfig.h | 543 ++++ .../detect_targets/TriangleParamConfig.h | 28 + .../.private/detect_targets/local_setup.bash | 8 + .../.private/detect_targets/local_setup.sh | 9 + .../.private/detect_targets/local_setup.zsh | 8 + .../devel/.private/detect_targets/setup.sh | 5 +- .../cmake/detect_targetsConfig.cmake | 2 + .../docs/DerivativeNodeConfig-usage.dox | 11 + .../docs/DerivativeNodeConfig.dox | 10 + .../docs/DerivativeNodeConfig.wikidoc | 28 + .../docs/InputNodeConfig-usage.dox | 7 + .../detect_targets/docs/InputNodeConfig.dox | 6 + .../docs/InputNodeConfig.wikidoc | 12 + .../docs/IntegralNodeConfig-usage.dox | 12 + .../docs/IntegralNodeConfig.dox | 11 + .../docs/IntegralNodeConfig.wikidoc | 32 + .../docs/PIDNodeConfig-usage.dox | 17 + .../detect_targets/docs/PIDNodeConfig.dox | 16 + .../detect_targets/docs/PIDNodeConfig.wikidoc | 52 + .../docs/ProportionalNodeConfig-usage.dox | 8 + .../docs/ProportionalNodeConfig.dox | 7 + .../docs/ProportionalNodeConfig.wikidoc | 16 + .../docs/SaturateNodeConfig-usage.dox | 11 + .../docs/SaturateNodeConfig.dox | 10 + .../docs/SaturateNodeConfig.wikidoc | 28 + .../docs/TriangleParamConfig-usage.dox | 2 + .../docs/TriangleParamConfig.dox | 2 + .../docs/TriangleParamConfig.wikidoc | 146 +- .../devel/.private/drone_demo/_setup_util.py | 14 +- .../devel/.private/drone_demo/cmake.lock | 0 .../drone_demo/include/drone_demo/control.h | 10 +- .../.private/drone_demo/local_setup.bash | 8 + .../devel/.private/drone_demo/local_setup.sh | 9 + .../devel/.private/drone_demo/local_setup.zsh | 8 + workspace/devel/.private/drone_demo/setup.sh | 5 +- .../drone_demo/cmake/drone_demoConfig.cmake | 2 + .../devel/.private/joy_teleop/_setup_util.py | 14 +- .../devel/.private/joy_teleop/cmake.lock | 0 .../.private/joy_teleop/local_setup.bash | 8 + .../devel/.private/joy_teleop/local_setup.sh | 9 + .../devel/.private/joy_teleop/local_setup.zsh | 8 + workspace/devel/.private/joy_teleop/setup.sh | 5 +- .../joy_teleop/cmake/joy_teleopConfig.cmake | 2 + .../devel/.private/key_teleop/_setup_util.py | 14 +- .../devel/.private/key_teleop/cmake.lock | 0 .../.private/key_teleop/local_setup.bash | 8 + .../devel/.private/key_teleop/local_setup.sh | 9 + .../devel/.private/key_teleop/local_setup.zsh | 8 + workspace/devel/.private/key_teleop/setup.sh | 5 +- .../key_teleop/cmake/key_teleopConfig.cmake | 2 + .../.private/mouse_teleop/_setup_util.py | 14 +- .../devel/.private/mouse_teleop/cmake.lock | 0 .../.private/mouse_teleop/local_setup.bash | 8 + .../.private/mouse_teleop/local_setup.sh | 9 + .../.private/mouse_teleop/local_setup.zsh | 8 + .../devel/.private/mouse_teleop/setup.sh | 5 +- .../cmake/mouse_teleopConfig.cmake | 2 + workspace/devel/.private/rcontrol/.catkin | 1 + workspace/devel/.private/rcontrol/.rosinstall | 2 + .../devel/.private/rcontrol/_setup_util.py | 300 +++ workspace/devel/.private/rcontrol/cmake.lock | 0 workspace/devel/.private/rcontrol/env.sh | 16 + .../rcontrol/lib/pkgconfig/rcontrol.pc | 8 + .../devel/.private/rcontrol/local_setup.bash | 8 + .../devel/.private/rcontrol/local_setup.sh | 9 + .../devel/.private/rcontrol/local_setup.zsh | 8 + workspace/devel/.private/rcontrol/setup.bash | 8 + workspace/devel/.private/rcontrol/setup.sh | 96 + workspace/devel/.private/rcontrol/setup.zsh | 8 + .../cmake/rcontrolConfig-version.cmake | 14 + .../share/rcontrol/cmake/rcontrolConfig.cmake | 200 ++ .../teleop_tools_msgs/IncrementAction.h | 200 +- .../IncrementActionFeedback.h | 134 +- .../teleop_tools_msgs/IncrementActionGoal.h | 82 +- .../teleop_tools_msgs/IncrementActionResult.h | 132 +- .../teleop_tools_msgs/IncrementFeedback.h | 6 +- .../include/teleop_tools_msgs/IncrementGoal.h | 6 +- .../teleop_tools_msgs/IncrementResult.h | 4 +- .../msg/IncrementAction.lisp | 4 +- .../msg/IncrementActionFeedback.lisp | 4 +- .../msg/IncrementActionGoal.lisp | 4 +- .../msg/IncrementActionResult.lisp | 4 +- .../teleop_tools_msgs/msg/IncrementAction.js | 2 - .../msg/IncrementActionFeedback.js | 2 - .../msg/IncrementActionGoal.js | 2 - .../msg/IncrementActionResult.js | 2 - .../teleop_tools_msgs/msg/IncrementAction.l | 2 - .../msg/IncrementActionFeedback.l | 2 - .../msg/IncrementActionGoal.l | 2 - .../msg/IncrementActionResult.l | 2 - workspace/devel/.private/vqimg/_setup_util.py | 14 +- workspace/devel/.private/vqimg/cmake.lock | 0 .../vqimg/include/vqimg/component_center.h | 10 +- .../vqimg/include/vqimg/component_centers.h | 18 +- .../devel/.private/vqimg/local_setup.bash | 8 + workspace/devel/.private/vqimg/local_setup.sh | 9 + .../devel/.private/vqimg/local_setup.zsh | 8 + workspace/devel/.private/vqimg/setup.sh | 5 +- .../vqimg/share/vqimg/cmake/vqimgConfig.cmake | 2 + workspace/devel/cmake.lock | 1 + .../detect_targets/DerivativeNodeConfig.h | 1 + .../include/detect_targets/InputNodeConfig.h | 1 + .../detect_targets/IntegralNodeConfig.h | 1 + .../include/detect_targets/PIDNodeConfig.h | 1 + .../detect_targets/ProportionalNodeConfig.h | 1 + .../detect_targets/SaturateNodeConfig.h | 1 + workspace/devel/lib/pkgconfig/rcontrol.pc | 1 + .../docs/DerivativeNodeConfig-usage.dox | 1 + .../docs/DerivativeNodeConfig.dox | 1 + .../docs/DerivativeNodeConfig.wikidoc | 1 + .../docs/InputNodeConfig-usage.dox | 1 + .../detect_targets/docs/InputNodeConfig.dox | 1 + .../docs/InputNodeConfig.wikidoc | 1 + .../docs/IntegralNodeConfig-usage.dox | 1 + .../docs/IntegralNodeConfig.dox | 1 + .../docs/IntegralNodeConfig.wikidoc | 1 + .../docs/PIDNodeConfig-usage.dox | 1 + .../detect_targets/docs/PIDNodeConfig.dox | 1 + .../detect_targets/docs/PIDNodeConfig.wikidoc | 1 + .../docs/ProportionalNodeConfig-usage.dox | 1 + .../docs/ProportionalNodeConfig.dox | 1 + .../docs/ProportionalNodeConfig.wikidoc | 1 + .../docs/SaturateNodeConfig-usage.dox | 1 + .../docs/SaturateNodeConfig.dox | 1 + .../docs/SaturateNodeConfig.wikidoc | 1 + .../cmake/rcontrolConfig-version.cmake | 1 + .../share/rcontrol/cmake/rcontrolConfig.cmake | 1 + .../bebop_driver/build.check.030.log.stderr | 32 + .../bebop_driver/build.make.031.log.stderr | 34 + .../detect_targets/build.make.042.log.stderr | 19 + .../detect_targets/build.make.048.log.stderr | 6 + workspace/record.bag | Bin 0 -> 32701 bytes workspace/src/detect_targets/CMakeLists.txt | 6 + .../src/detect_targets/cfg/DerivativeNode.cfg | 14 + .../src/detect_targets/cfg/InputNode.cfg | 10 + .../src/detect_targets/cfg/IntegralNode.cfg | 15 + workspace/src/detect_targets/cfg/PIDNode.cfg | 20 + .../detect_targets/cfg/ProportionalNode.cfg | 11 + .../src/detect_targets/cfg/SaturateNode.cfg | 14 + .../detect_targets/cfg/triangle_control.cfg | 2 + .../launch/bebop-triangle-control.launch | 55 +- .../src/detect_targets/launch/control.launch | 39 + .../__pycache__/find_targets.cpython-36.pyc | Bin 3133 -> 3168 bytes .../scripts/bench_find_targets.jl | 11 + .../scripts/bench_find_targets.py | 8 + .../detect_targets/scripts/control_compute.jl | 243 ++ .../detect_targets/scripts/control_compute.py | 202 ++ .../detect_targets/scripts/control_node.jl | 266 ++ .../detect_targets/scripts/find_targets.jl | 58 + .../detect_targets/scripts/mesure_vitesse.eps | 1478 ++++++++++ .../detect_targets/scripts/reconf_server.jl | 6 + .../scripts/target_publisher.jl | 8 + .../src/detect_targets/scripts/test_filter.jl | 47 + .../src/detect_targets/scripts/test_pid.jl | 33 + .../scripts/triangle_control.py | 242 +- .../scripts/triangle_control_save.py | 341 +++ .../detect_targets/scripts/twist_controls.py | 37 + workspace/src/rcontrol/CMakeLists.txt | 195 ++ workspace/src/rcontrol/package.xml | 63 + 955 files changed, 41638 insertions(+), 4786 deletions(-) create mode 100644 control_compute.ps create mode 100644 julia/limite_vitesse.jl create mode 100644 mesure_vitesse_cubique.eps create mode 100644 mesure_vitesse_cubique_5.eps create mode 100644 mesure_vitesse_cubique_9.eps create mode 100644 mesure_vitesse_orig.eps create mode 100644 mesure_vitesse_quadratique.eps create mode 100644 mesure_vitesse_quadratique_9.eps create mode 100644 output.txt create mode 100644 target_publisher.ps create mode 100644 triangle_control.ps create mode 100644 twister.ps create mode 100644 uml_control.pdf create mode 100644 uml_control.svg create mode 100644 workspace/.catkin_tools/profiles/default/config.yaml create mode 100644 workspace/.catkin_tools/profiles/default/packages/rcontrol/devel_manifest.txt create mode 100644 workspace/.catkin_tools/profiles/default/packages/rcontrol/package.xml create mode 100644 workspace/build/bebop_description/CTestConfiguration.ini create mode 100644 workspace/build/bebop_description/CTestCustom.cmake create mode 100644 workspace/build/bebop_description/atomic_configure/.rosinstall create mode 100755 workspace/build/bebop_description/atomic_configure/_setup_util.py create mode 100755 workspace/build/bebop_description/atomic_configure/env.sh create mode 100644 workspace/build/bebop_description/atomic_configure/local_setup.bash create mode 100644 workspace/build/bebop_description/atomic_configure/local_setup.sh create mode 100644 workspace/build/bebop_description/atomic_configure/local_setup.zsh create mode 100644 workspace/build/bebop_description/atomic_configure/setup.bash create mode 100644 workspace/build/bebop_description/atomic_configure/setup.sh create mode 100644 workspace/build/bebop_description/atomic_configure/setup.zsh create mode 100644 workspace/build/bebop_description/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/bebop_description/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/bebop_description/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/bebop_driver/CTestConfiguration.ini create mode 100644 workspace/build/bebop_driver/CTestCustom.cmake create mode 100644 workspace/build/bebop_driver/atomic_configure/.rosinstall create mode 100755 workspace/build/bebop_driver/atomic_configure/_setup_util.py create mode 100755 workspace/build/bebop_driver/atomic_configure/env.sh create mode 100644 workspace/build/bebop_driver/atomic_configure/local_setup.bash create mode 100644 workspace/build/bebop_driver/atomic_configure/local_setup.sh create mode 100644 workspace/build/bebop_driver/atomic_configure/local_setup.zsh create mode 100644 workspace/build/bebop_driver/atomic_configure/setup.bash create mode 100644 workspace/build/bebop_driver/atomic_configure/setup.sh create mode 100644 workspace/build/bebop_driver/atomic_configure/setup.zsh create mode 100644 workspace/build/bebop_driver/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/bebop_driver/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/bebop_driver/catkin_generated/installspace/local_setup.zsh create mode 100755 workspace/build/bebop_driver/setup_custom_pythonpath.sh create mode 100644 workspace/build/bebop_msgs/CTestConfiguration.ini create mode 100644 workspace/build/bebop_msgs/CTestCustom.cmake create mode 100644 workspace/build/bebop_msgs/atomic_configure/.rosinstall create mode 100755 workspace/build/bebop_msgs/atomic_configure/_setup_util.py create mode 100755 workspace/build/bebop_msgs/atomic_configure/env.sh create mode 100644 workspace/build/bebop_msgs/atomic_configure/local_setup.bash create mode 100644 workspace/build/bebop_msgs/atomic_configure/local_setup.sh create mode 100644 workspace/build/bebop_msgs/atomic_configure/local_setup.zsh create mode 100644 workspace/build/bebop_msgs/atomic_configure/setup.bash create mode 100644 workspace/build/bebop_msgs/atomic_configure/setup.sh create mode 100644 workspace/build/bebop_msgs/atomic_configure/setup.zsh create mode 100644 workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/bebop_tools/CTestConfiguration.ini create mode 100644 workspace/build/bebop_tools/CTestCustom.cmake create mode 100644 workspace/build/bebop_tools/atomic_configure/.rosinstall create mode 100755 workspace/build/bebop_tools/atomic_configure/_setup_util.py create mode 100755 workspace/build/bebop_tools/atomic_configure/env.sh create mode 100644 workspace/build/bebop_tools/atomic_configure/local_setup.bash create mode 100644 workspace/build/bebop_tools/atomic_configure/local_setup.sh create mode 100644 workspace/build/bebop_tools/atomic_configure/local_setup.zsh create mode 100644 workspace/build/bebop_tools/atomic_configure/setup.bash create mode 100644 workspace/build/bebop_tools/atomic_configure/setup.sh create mode 100644 workspace/build/bebop_tools/atomic_configure/setup.zsh create mode 100644 workspace/build/bebop_tools/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/bebop_tools/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/bebop_tools/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/demo_teleop/CTestConfiguration.ini create mode 100644 workspace/build/demo_teleop/CTestCustom.cmake create mode 100644 workspace/build/demo_teleop/atomic_configure/.rosinstall create mode 100755 workspace/build/demo_teleop/atomic_configure/_setup_util.py create mode 100755 workspace/build/demo_teleop/atomic_configure/env.sh create mode 100644 workspace/build/demo_teleop/atomic_configure/local_setup.bash create mode 100644 workspace/build/demo_teleop/atomic_configure/local_setup.sh create mode 100644 workspace/build/demo_teleop/atomic_configure/local_setup.zsh create mode 100644 workspace/build/demo_teleop/atomic_configure/setup.bash create mode 100644 workspace/build/demo_teleop/atomic_configure/setup.sh create mode 100644 workspace/build/demo_teleop/atomic_configure/setup.zsh create mode 100644 workspace/build/demo_teleop/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/demo_teleop/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/demo_teleop/catkin_generated/installspace/local_setup.zsh create mode 100755 workspace/build/demo_teleop/setup_custom_pythonpath.sh create mode 100644 workspace/build/detect_targets/CTestConfiguration.ini create mode 100644 workspace/build/detect_targets/CTestCustom.cmake create mode 100644 workspace/build/detect_targets/atomic_configure/.rosinstall create mode 100755 workspace/build/detect_targets/atomic_configure/_setup_util.py create mode 100755 workspace/build/detect_targets/atomic_configure/env.sh create mode 100644 workspace/build/detect_targets/atomic_configure/local_setup.bash create mode 100644 workspace/build/detect_targets/atomic_configure/local_setup.sh create mode 100644 workspace/build/detect_targets/atomic_configure/local_setup.zsh create mode 100644 workspace/build/detect_targets/atomic_configure/setup.bash create mode 100644 workspace/build/detect_targets/atomic_configure/setup.sh create mode 100644 workspace/build/detect_targets/atomic_configure/setup.zsh create mode 100644 workspace/build/detect_targets/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/detect_targets/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/detect_targets/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/drone_demo/CTestConfiguration.ini create mode 100644 workspace/build/drone_demo/CTestCustom.cmake create mode 100644 workspace/build/drone_demo/atomic_configure/.rosinstall create mode 100755 workspace/build/drone_demo/atomic_configure/_setup_util.py create mode 100755 workspace/build/drone_demo/atomic_configure/env.sh create mode 100644 workspace/build/drone_demo/atomic_configure/local_setup.bash create mode 100644 workspace/build/drone_demo/atomic_configure/local_setup.sh create mode 100644 workspace/build/drone_demo/atomic_configure/local_setup.zsh create mode 100644 workspace/build/drone_demo/atomic_configure/setup.bash create mode 100644 workspace/build/drone_demo/atomic_configure/setup.sh create mode 100644 workspace/build/drone_demo/atomic_configure/setup.zsh create mode 100644 workspace/build/drone_demo/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/drone_demo/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/drone_demo/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/joy_teleop/CTestConfiguration.ini create mode 100644 workspace/build/joy_teleop/CTestCustom.cmake create mode 100644 workspace/build/joy_teleop/atomic_configure/.rosinstall create mode 100755 workspace/build/joy_teleop/atomic_configure/_setup_util.py create mode 100755 workspace/build/joy_teleop/atomic_configure/env.sh create mode 100644 workspace/build/joy_teleop/atomic_configure/local_setup.bash create mode 100644 workspace/build/joy_teleop/atomic_configure/local_setup.sh create mode 100644 workspace/build/joy_teleop/atomic_configure/local_setup.zsh create mode 100644 workspace/build/joy_teleop/atomic_configure/setup.bash create mode 100644 workspace/build/joy_teleop/atomic_configure/setup.sh create mode 100644 workspace/build/joy_teleop/atomic_configure/setup.zsh create mode 100644 workspace/build/joy_teleop/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/joy_teleop/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/joy_teleop/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/key_teleop/CTestConfiguration.ini create mode 100644 workspace/build/key_teleop/CTestCustom.cmake create mode 100644 workspace/build/key_teleop/atomic_configure/.rosinstall create mode 100755 workspace/build/key_teleop/atomic_configure/_setup_util.py create mode 100755 workspace/build/key_teleop/atomic_configure/env.sh create mode 100644 workspace/build/key_teleop/atomic_configure/local_setup.bash create mode 100644 workspace/build/key_teleop/atomic_configure/local_setup.sh create mode 100644 workspace/build/key_teleop/atomic_configure/local_setup.zsh create mode 100644 workspace/build/key_teleop/atomic_configure/setup.bash create mode 100644 workspace/build/key_teleop/atomic_configure/setup.sh create mode 100644 workspace/build/key_teleop/atomic_configure/setup.zsh create mode 100644 workspace/build/key_teleop/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/key_teleop/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/key_teleop/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/mouse_teleop/CTestConfiguration.ini create mode 100644 workspace/build/mouse_teleop/CTestCustom.cmake create mode 100644 workspace/build/mouse_teleop/atomic_configure/.rosinstall create mode 100755 workspace/build/mouse_teleop/atomic_configure/_setup_util.py create mode 100755 workspace/build/mouse_teleop/atomic_configure/env.sh create mode 100644 workspace/build/mouse_teleop/atomic_configure/local_setup.bash create mode 100644 workspace/build/mouse_teleop/atomic_configure/local_setup.sh create mode 100644 workspace/build/mouse_teleop/atomic_configure/local_setup.zsh create mode 100644 workspace/build/mouse_teleop/atomic_configure/setup.bash create mode 100644 workspace/build/mouse_teleop/atomic_configure/setup.sh create mode 100644 workspace/build/mouse_teleop/atomic_configure/setup.zsh create mode 100644 workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/rcontrol/CATKIN_IGNORE create mode 100644 workspace/build/rcontrol/CMakeCache.txt create mode 100644 workspace/build/rcontrol/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/CMakeRuleHashes.txt create mode 100644 workspace/build/rcontrol/CMakeFiles/Makefile.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/Makefile2 create mode 100644 workspace/build/rcontrol/CMakeFiles/TargetDirectories.txt create mode 100644 workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/build.make create mode 100644 workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/progress.make create mode 100644 workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/build.make create mode 100644 workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/progress.make create mode 100644 workspace/build/rcontrol/CMakeFiles/cmake.check_cache create mode 100644 workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/build.make create mode 100644 workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/progress.make create mode 100644 workspace/build/rcontrol/CMakeFiles/doxygen.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/doxygen.dir/build.make create mode 100644 workspace/build/rcontrol/CMakeFiles/doxygen.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/doxygen.dir/progress.make create mode 100755 workspace/build/rcontrol/CMakeFiles/feature_tests.bin create mode 100644 workspace/build/rcontrol/CMakeFiles/feature_tests.c create mode 100644 workspace/build/rcontrol/CMakeFiles/feature_tests.cxx create mode 100644 workspace/build/rcontrol/CMakeFiles/progress.marks create mode 100644 workspace/build/rcontrol/CMakeFiles/run_tests.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/run_tests.dir/build.make create mode 100644 workspace/build/rcontrol/CMakeFiles/run_tests.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/run_tests.dir/progress.make create mode 100644 workspace/build/rcontrol/CMakeFiles/tests.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/tests.dir/build.make create mode 100644 workspace/build/rcontrol/CMakeFiles/tests.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/CMakeFiles/tests.dir/progress.make create mode 100644 workspace/build/rcontrol/CTestConfiguration.ini create mode 100644 workspace/build/rcontrol/CTestCustom.cmake create mode 100644 workspace/build/rcontrol/CTestTestfile.cmake create mode 100644 workspace/build/rcontrol/Makefile create mode 100644 workspace/build/rcontrol/atomic_configure/.rosinstall create mode 100755 workspace/build/rcontrol/atomic_configure/_setup_util.py create mode 100755 workspace/build/rcontrol/atomic_configure/env.sh create mode 100644 workspace/build/rcontrol/atomic_configure/local_setup.bash create mode 100644 workspace/build/rcontrol/atomic_configure/local_setup.sh create mode 100644 workspace/build/rcontrol/atomic_configure/local_setup.zsh create mode 100644 workspace/build/rcontrol/atomic_configure/setup.bash create mode 100644 workspace/build/rcontrol/atomic_configure/setup.sh create mode 100644 workspace/build/rcontrol/atomic_configure/setup.zsh create mode 100644 workspace/build/rcontrol/catkin/catkin_generated/version/package.cmake create mode 100755 workspace/build/rcontrol/catkin_generated/env_cached.sh create mode 100644 workspace/build/rcontrol/catkin_generated/generate_cached_setup.py create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/.rosinstall create mode 100755 workspace/build/rcontrol/catkin_generated/installspace/_setup_util.py create mode 100755 workspace/build/rcontrol/catkin_generated/installspace/env.sh create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/local_setup.zsh create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/rcontrol.pc create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig-version.cmake create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig.cmake create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/setup.bash create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/setup.sh create mode 100644 workspace/build/rcontrol/catkin_generated/installspace/setup.zsh create mode 100644 workspace/build/rcontrol/catkin_generated/package.cmake create mode 100644 workspace/build/rcontrol/catkin_generated/pkg.develspace.context.pc.py create mode 100644 workspace/build/rcontrol/catkin_generated/pkg.installspace.context.pc.py create mode 100755 workspace/build/rcontrol/catkin_generated/setup_cached.sh create mode 100755 workspace/build/rcontrol/catkin_generated/stamps/rcontrol/_setup_util.py.stamp create mode 100644 workspace/build/rcontrol/catkin_generated/stamps/rcontrol/interrogate_setup_dot_py.py.stamp create mode 100644 workspace/build/rcontrol/catkin_generated/stamps/rcontrol/package.xml.stamp create mode 100644 workspace/build/rcontrol/catkin_generated/stamps/rcontrol/pkg.pc.em.stamp create mode 100644 workspace/build/rcontrol/cmake_install.cmake create mode 100644 workspace/build/rcontrol/gtest/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 workspace/build/rcontrol/gtest/CMakeFiles/progress.marks create mode 100644 workspace/build/rcontrol/gtest/CTestTestfile.cmake create mode 100644 workspace/build/rcontrol/gtest/Makefile create mode 100644 workspace/build/rcontrol/gtest/cmake_install.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/build.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/depend.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/flags.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/link.txt create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/progress.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/build.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/depend.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/link.txt create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/CMakeFiles/progress.marks create mode 100644 workspace/build/rcontrol/gtest/googlemock/CTestTestfile.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/Makefile create mode 100644 workspace/build/rcontrol/gtest/googlemock/cmake_install.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/flags.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/link.txt create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/DependInfo.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/cmake_clean.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/flags.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/link.txt create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/progress.marks create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/CTestTestfile.cmake create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/Makefile create mode 100644 workspace/build/rcontrol/gtest/googlemock/gtest/cmake_install.cmake create mode 100644 workspace/build/vqimg/CTestConfiguration.ini create mode 100644 workspace/build/vqimg/CTestCustom.cmake create mode 100644 workspace/build/vqimg/atomic_configure/.rosinstall create mode 100755 workspace/build/vqimg/atomic_configure/_setup_util.py create mode 100755 workspace/build/vqimg/atomic_configure/env.sh create mode 100644 workspace/build/vqimg/atomic_configure/local_setup.bash create mode 100644 workspace/build/vqimg/atomic_configure/local_setup.sh create mode 100644 workspace/build/vqimg/atomic_configure/local_setup.zsh create mode 100644 workspace/build/vqimg/atomic_configure/setup.bash create mode 100644 workspace/build/vqimg/atomic_configure/setup.sh create mode 100644 workspace/build/vqimg/atomic_configure/setup.zsh create mode 100644 workspace/build/vqimg/catkin_generated/installspace/local_setup.bash create mode 100644 workspace/build/vqimg/catkin_generated/installspace/local_setup.sh create mode 100644 workspace/build/vqimg/catkin_generated/installspace/local_setup.zsh create mode 100755 workspace/build/vqimg/setup_custom_pythonpath.sh create mode 100644 workspace/devel/.private/bebop_description/cmake.lock create mode 100644 workspace/devel/.private/bebop_description/local_setup.bash create mode 100644 workspace/devel/.private/bebop_description/local_setup.sh create mode 100644 workspace/devel/.private/bebop_description/local_setup.zsh create mode 100644 workspace/devel/.private/bebop_driver/cmake.lock create mode 100644 workspace/devel/.private/bebop_driver/local_setup.bash create mode 100644 workspace/devel/.private/bebop_driver/local_setup.sh create mode 100644 workspace/devel/.private/bebop_driver/local_setup.zsh create mode 100644 workspace/devel/.private/bebop_msgs/cmake.lock create mode 100644 workspace/devel/.private/bebop_msgs/local_setup.bash create mode 100644 workspace/devel/.private/bebop_msgs/local_setup.sh create mode 100644 workspace/devel/.private/bebop_msgs/local_setup.zsh create mode 100644 workspace/devel/.private/bebop_tools/cmake.lock create mode 100644 workspace/devel/.private/bebop_tools/local_setup.bash create mode 100644 workspace/devel/.private/bebop_tools/local_setup.sh create mode 100644 workspace/devel/.private/bebop_tools/local_setup.zsh create mode 100644 workspace/devel/.private/demo_teleop/cmake.lock create mode 100644 workspace/devel/.private/demo_teleop/local_setup.bash create mode 100644 workspace/devel/.private/demo_teleop/local_setup.sh create mode 100644 workspace/devel/.private/demo_teleop/local_setup.zsh create mode 100644 workspace/devel/.private/detect_targets/cmake.lock create mode 100644 workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h create mode 100644 workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h create mode 100644 workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h create mode 100644 workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h create mode 100644 workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h create mode 100644 workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h create mode 100644 workspace/devel/.private/detect_targets/local_setup.bash create mode 100644 workspace/devel/.private/detect_targets/local_setup.sh create mode 100644 workspace/devel/.private/detect_targets/local_setup.zsh create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox create mode 100644 workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc create mode 100644 workspace/devel/.private/drone_demo/cmake.lock create mode 100644 workspace/devel/.private/drone_demo/local_setup.bash create mode 100644 workspace/devel/.private/drone_demo/local_setup.sh create mode 100644 workspace/devel/.private/drone_demo/local_setup.zsh create mode 100644 workspace/devel/.private/joy_teleop/cmake.lock create mode 100644 workspace/devel/.private/joy_teleop/local_setup.bash create mode 100644 workspace/devel/.private/joy_teleop/local_setup.sh create mode 100644 workspace/devel/.private/joy_teleop/local_setup.zsh create mode 100644 workspace/devel/.private/key_teleop/cmake.lock create mode 100644 workspace/devel/.private/key_teleop/local_setup.bash create mode 100644 workspace/devel/.private/key_teleop/local_setup.sh create mode 100644 workspace/devel/.private/key_teleop/local_setup.zsh create mode 100644 workspace/devel/.private/mouse_teleop/cmake.lock create mode 100644 workspace/devel/.private/mouse_teleop/local_setup.bash create mode 100644 workspace/devel/.private/mouse_teleop/local_setup.sh create mode 100644 workspace/devel/.private/mouse_teleop/local_setup.zsh create mode 100644 workspace/devel/.private/rcontrol/.catkin create mode 100644 workspace/devel/.private/rcontrol/.rosinstall create mode 100755 workspace/devel/.private/rcontrol/_setup_util.py create mode 100644 workspace/devel/.private/rcontrol/cmake.lock create mode 100755 workspace/devel/.private/rcontrol/env.sh create mode 100644 workspace/devel/.private/rcontrol/lib/pkgconfig/rcontrol.pc create mode 100644 workspace/devel/.private/rcontrol/local_setup.bash create mode 100644 workspace/devel/.private/rcontrol/local_setup.sh create mode 100644 workspace/devel/.private/rcontrol/local_setup.zsh create mode 100644 workspace/devel/.private/rcontrol/setup.bash create mode 100644 workspace/devel/.private/rcontrol/setup.sh create mode 100644 workspace/devel/.private/rcontrol/setup.zsh create mode 100644 workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig-version.cmake create mode 100644 workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig.cmake create mode 100644 workspace/devel/.private/vqimg/cmake.lock create mode 100644 workspace/devel/.private/vqimg/local_setup.bash create mode 100644 workspace/devel/.private/vqimg/local_setup.sh create mode 100644 workspace/devel/.private/vqimg/local_setup.zsh create mode 120000 workspace/devel/cmake.lock create mode 120000 workspace/devel/include/detect_targets/DerivativeNodeConfig.h create mode 120000 workspace/devel/include/detect_targets/InputNodeConfig.h create mode 120000 workspace/devel/include/detect_targets/IntegralNodeConfig.h create mode 120000 workspace/devel/include/detect_targets/PIDNodeConfig.h create mode 120000 workspace/devel/include/detect_targets/ProportionalNodeConfig.h create mode 120000 workspace/devel/include/detect_targets/SaturateNodeConfig.h create mode 120000 workspace/devel/lib/pkgconfig/rcontrol.pc create mode 120000 workspace/devel/share/detect_targets/docs/DerivativeNodeConfig-usage.dox create mode 120000 workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.dox create mode 120000 workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.wikidoc create mode 120000 workspace/devel/share/detect_targets/docs/InputNodeConfig-usage.dox create mode 120000 workspace/devel/share/detect_targets/docs/InputNodeConfig.dox create mode 120000 workspace/devel/share/detect_targets/docs/InputNodeConfig.wikidoc create mode 120000 workspace/devel/share/detect_targets/docs/IntegralNodeConfig-usage.dox create mode 120000 workspace/devel/share/detect_targets/docs/IntegralNodeConfig.dox create mode 120000 workspace/devel/share/detect_targets/docs/IntegralNodeConfig.wikidoc create mode 120000 workspace/devel/share/detect_targets/docs/PIDNodeConfig-usage.dox create mode 120000 workspace/devel/share/detect_targets/docs/PIDNodeConfig.dox create mode 120000 workspace/devel/share/detect_targets/docs/PIDNodeConfig.wikidoc create mode 120000 workspace/devel/share/detect_targets/docs/ProportionalNodeConfig-usage.dox create mode 120000 workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.dox create mode 120000 workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.wikidoc create mode 120000 workspace/devel/share/detect_targets/docs/SaturateNodeConfig-usage.dox create mode 120000 workspace/devel/share/detect_targets/docs/SaturateNodeConfig.dox create mode 120000 workspace/devel/share/detect_targets/docs/SaturateNodeConfig.wikidoc create mode 120000 workspace/devel/share/rcontrol/cmake/rcontrolConfig-version.cmake create mode 120000 workspace/devel/share/rcontrol/cmake/rcontrolConfig.cmake create mode 100644 workspace/logs/bebop_driver/build.check.030.log.stderr create mode 100644 workspace/logs/bebop_driver/build.make.031.log.stderr create mode 100644 workspace/logs/detect_targets/build.make.042.log.stderr create mode 100644 workspace/logs/detect_targets/build.make.048.log.stderr create mode 100644 workspace/record.bag create mode 100755 workspace/src/detect_targets/cfg/DerivativeNode.cfg create mode 100755 workspace/src/detect_targets/cfg/InputNode.cfg create mode 100755 workspace/src/detect_targets/cfg/IntegralNode.cfg create mode 100755 workspace/src/detect_targets/cfg/PIDNode.cfg create mode 100755 workspace/src/detect_targets/cfg/ProportionalNode.cfg create mode 100755 workspace/src/detect_targets/cfg/SaturateNode.cfg create mode 100644 workspace/src/detect_targets/launch/control.launch create mode 100644 workspace/src/detect_targets/scripts/bench_find_targets.jl create mode 100644 workspace/src/detect_targets/scripts/bench_find_targets.py create mode 100644 workspace/src/detect_targets/scripts/control_compute.jl create mode 100755 workspace/src/detect_targets/scripts/control_compute.py create mode 100755 workspace/src/detect_targets/scripts/control_node.jl create mode 100644 workspace/src/detect_targets/scripts/find_targets.jl create mode 100644 workspace/src/detect_targets/scripts/mesure_vitesse.eps create mode 100644 workspace/src/detect_targets/scripts/reconf_server.jl create mode 100644 workspace/src/detect_targets/scripts/target_publisher.jl create mode 100644 workspace/src/detect_targets/scripts/test_filter.jl create mode 100644 workspace/src/detect_targets/scripts/test_pid.jl create mode 100644 workspace/src/detect_targets/scripts/triangle_control_save.py create mode 100755 workspace/src/detect_targets/scripts/twist_controls.py create mode 100644 workspace/src/rcontrol/CMakeLists.txt create mode 100644 workspace/src/rcontrol/package.xml diff --git a/compte_rendu/compte_rendu.pdf b/compte_rendu/compte_rendu.pdf index f43ef5c8296748e7e66e76e7d7d7907ffdcbb8bc..1a8a55785b6258ade6ad95c2cf42eb1203ca7197 100644 GIT binary patch delta 196157 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%0ALxAN4p0Mf?+^yb+)$fDv@VrK%Z0Wn{Mdnw)n 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

J#3* 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 +cairo_image + Gb"-V%9sQJ\j(.87-$"%D6;!he>:_s];o/LFY.a8;Vt=chhs*g\J07m@^T7FCh8NiV7L-Df + %92u;RO/-0L;?SU8EYH+t0K-6r=PXJr>Ed$J#0OdlX%R,_V9?9P/b2ch[&JL<8N;SE.dP&+ + fAU&HDe2zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzLd>lpD + 5O9i2`J'l=TBRYk(mh#KHLR$z!#A&1d8$PS(Dk-gAH@=WR3T#*&:u/-z!*C's;[s*?1!.6` + $AF**2J:;Teh7C2,gE]Yc%Jtm;Q+%\B$=Z=63$uc!!!!A/X]CHb4O.^4.J*>::G,slKdb1[ + 6jqEp+go(1Ed*g]mB?dCi!Wf&HDe2!!!"\&V;olm_Abo03VkcSHAj/6HD1&qYGLC#DZ0O7N + k;(z!.`%UA#B1T>Al\'o[=$T*2"1P8u4!h/T#6;1?&35!;$qF%ZlVh3>+Ujz!!"Rl*&H\0^ + A*/\uA + W+d]X"36=[LsE!HW'IJ``cN;LPM'0+GM!%^]CA92g5UWCHY9M\Gc%qr=8^X>aBY8$`p="Z" + Jn(tb1fN,5k+S0 + T4Le\ShS.>o;a,^14SS0&5Q43gg=Y%kr@9JHYHG%2)S>t/P>>k?84X$3F9;NddhUOg?+QiG + g$$hYo`R+@-dJ;HgNrmG+sFqL^4#n4g=k-0rtLRlp[:oT\U!eDqB!Mj_Jma&z!"ciDbe3.7 + ,>h-@IQ3qNhS.>o;c_dFI>ugmg=t@tm'a:.Ph+0K1C%R(!J'8L'%r)CXf\1F`Z5:Tm-O(n% + j1fMqsRTc<9W&*q?)A&KB^u@^\j7\:S0gFbN$X(f6HT'b">k+l04$I#ljr*!!"4_jT*'Q]W + iqB)TkHs*gL&"ooENOrWD>)`N.lI/pSR,)g_Bm/gpf(dpi&;V]DM?k + \#s748-j(=G3rH98H8_j!!!Q\j8dGh"&.OX8#9,FkNPRE.=_WLCYKhdWaStq^qcg`Pk8oDgETN[qG,H+Ptu3=t + <`X=GS(+z!9/_QTUBhNZ"lOuM.B(F#0eHPMi/%4:)]H$N/3:7jcrn`D/BLd(pJMiIU,$brq + Y_s3\UP9Sq/o;7o,:jUIUBRZa6EWk3D6Sh\;HV<2p*0(A-tHe&KC^Ierj7BNu'EIjBF+V3e + ^:pnVA7'I96?SIm+Jz5ci\`!WMlPFHQL%[/XDT)`fdpDA7<4Mmrdd;s+C5IlN&Zauni6[)1 + o)&,bP+_?un]\2fk;']J(XLa6(Ef592'Lb:PFN4]5lCVX9d!h + ZQie*+2I]`e]G,YJ0i_2E!H<,GVcY\BVa$mnDF&$,cYoaiS8di5%D%%0.s$gc7XuO`9aD\b + +M1]mG7u_$=iFlBu:VH1Aii&L7AW!!!!aPdKQQRi?C2-htWi]H)JG>#,4hVii?a*W:bhd=4 + D"d)%fYp0,1X\W)TnNZC3#VAfM;N4C1&#q]JrR&[`?lW+-[z!"^6S3Pb9t94D/_Q=\1l:&o + =r9OdAP5GZR%,P1i&&;jk:J4GV>_3o0@?t!*#"&)B^UoM0#c8u;pz!$FJ-F+BSfIMr%"'SD + DGe2SB9,nG;Qo+[_G6IRuRm7OTC^ujeAB:jVGeQ6*@E8WuJ6@qh+1?;1V!!"$J76*U?P!+0 + c*'AI"Jg:8+6*M7MjmGg!n$'b]mh5m7Ec,SOXmr>k8E6G*GC?4"Ep4t?dJEY9_`p4'3:b82QTTBO!#I2*YHH/eBfWkHj3!K/LM/iP/gT + LRSt9i,fn0O?IXX)>/b@uQJ,#_`baED*\b#4UgWJ3Ua/SNNiBe&=s7Vr>]Qi^@"?coOS0$\ + M1VIogki_Nu$U4SQ:ub?&JW&`kC&_/r\`d,fVrlV&gZtl>@'9e`%U:MQ77EK.QWI6if@AD/ + 2)VYA'EI?Ma9DX]LX?8*!!#Q@7Lh,`Mi0.LO@B_A48ILD)[+XHFQEMu,O8N::>=KGd@(/ZE + r+n*CFS'0h7K\Y4WV%D8&o8bb#5c]>#=*nF`jS4F)pMJHM$F(2$ZY_))0u//p#,6M4UHKoE + _p"$[qn9bq8\UpFKYt>0h,jX/a5ARMFFHgU:tBcd/LiV6N&je6,i[!-CPN#qrTp@`[bq8KHXc7c8'pKhgCT:T? + Qb#56XYI1CO!LabT8mu.:e>bMh3Rk:`e^^`O"TUS,Z2oLF@<;MM!!#o)aDl`*".lE1d>"So + )XB7U"E*fj5XX*a3W5,ULnAuj57[2:[1kb7Qclj#G`YSAoX"4&quZh>clcuo6ON',e;s>[j + >]E,(^^cd+6t05"Q>!72%7%02%lUC.&%!0@8A*+6p=cY7ej^j"B]UN + +]1cT]&?e!8]_5e^,ccM?MTSND$*qs*Vgf)o!b4KVmL_!^%G.kB*Ep$:2B2f78^0&9T6I$h + [AhhNs0IOZpd-S8:tAU&Ptd?=[.&f%gGplXj)J.u\X!:p9kHt_3* + >G'k9ds#u5Cp3&V`di04>A"N!R% + Zh!UdK-EW+r^Lf+%@%H!!",FX`K"lZFlMMNW+P]94hi=n4_i($&_bhmkW5($)&IHBN>tH"' + ?@-2?4:PN%P)1!'gmujoCkiE_^qnP;N+HLJGf,EWk<_$&^RZ0;:rkcbBd[==a^PT_8k!7U] + 28G_ufQ.NW=!*VPkaRu)0aq)Pa%"H<,PR_),,TGD>(dF"7:1;TABQd$l'1Nc:c9HeC/WY03h^)#7)G]&r^XYNLr[-V_Dh11qP'G$)7k.!!&)^N%i + L5lpM?1n?tsFZq$rjjlbf*/!ZHff@AEZfh**X"'>p;7Q/*&:SXU^R'\uEh3-TId00LM!([, + [Qt@7[+pVe+>K*c@9J2Z1/*5jQ:d\5a=1?jT(o7=:$OK9\_8]9GTi7>c4IY)hh1X/Z!!!!i + !CiGg)KlH2#KWIVSb$aWOl'.6j + __F=7d0p(6@t=oYjp1U#'NV)s!l!ls)a.Xj_=KLW3m$?ubN%P)1!'gn$&SBGQNA + Oa(0hL=V6d7^uGVsO9i;lkf^\3To#`Ohs0$ANf58W"@`;%D,@on,$B_ZE?/+`YKE's9r6"/ + 8D1eO+XjXQOq['[3bX%rETblKo#>^CbWnAhVI'_P\c;^1!%HhqQma:7%!-sD%6;Q7!O`pMFVGXe@$`.,SSo9RbsCkq6A + C+G7k!N_1^,F`*$VpY-Y9)@5fRpa8l?uT + !_'HWk=`$?jHGM0F(-C)Y^;S`cXoMrZ+Q4Vfnk7FL@ThmFh">AX*@.g[%sBO95Uc!!$\,:C + ba!'-D31<]Rt<['+&Up=).u?bPjeTd,'AeZPrI(Rm@]N!\@Gk-[-f;.ijm;6^PN#qrTEqpLL@ERYfZpI!!!#+L)cl.$`b7TcF\XI!J.A.rNlIb + Emq)7:XB/;'Bj)qR0<3-@TS#Cjnld]gBs]t!:(i9a>SA:Ig65Uh7]k(BfV`L[GTH^9n/PIE + Ib/Q-1-1``%BO+'E`]88k/:t3IWJ_[mO(mG"B]HL(>AB>e>jl3'bqN]7o.FQJX]CJ,fQL!3 + ICLaF)X^lekJ4aRImQ&_f1_r$s]/dQW"Ah(r_;E.%Xn.Vnd-qTLVid)qa)LX`elO8MoTdPU + XR=3%H@kbE?JpO:91Y3UZCmW\)HbA[3q(EY\!5%A*OR=9!dphn3:\_XmP;kXBkQ.miMH/$] + >"6m)9cMdJ)?"7t\@?_70>m(nqW7]gId2KT=*Jm/l)`Oqdg\5Ch?Tp[&ouAm=++EG&Z_p0O + *o/8!C(6>Cmb,B`b:j/L)`gom;[i+,.Oh[:ab-MWC3dOGg=mjSNs!nc8+bCrHTplThiXLDq + !c*'"YoCZG"]9V=e!+(.@XM%?7`MFL(,Z_>J##>ZlT`kr<*us(hgU(onBWS!87PB<\E:8DV + ]ZpEa%0lrOlf22dpe/!!!!sct3cl\iOo^W)r$>2sSM2Tr8c.3Pai20!ZJA1&m0H*_?2+Gh4 + >./!k_U*j)?^_Tt,(P=U%9rGqW!qo$g!-7sn(r5mF:NSY0V*otb+d)r0A6eZHYNO(i1)P!2FBf4/Er\E`RW;s(@n>2[I+R:Hhpu*s^HT*bh02d + b74`f*)Q;WHh]O:2eptEob:bm:pf;[_,b4S_B',O'WV[j6YIZpdW`]%f-Dp*>o:Ll0J*$rr + _rDTgPI""$cS=J%4TA?[Z(,D2ma+N%P)1!'gn`k5["_dqO&sOn#:IJKKbq@?q#^1pZf=Enm + 'KXk.>?X`K$Gfa$I*A8g?d=,AS%jr1 + +i!TVPbI,%t6Pp(spa`9hjVEB8$i6'2arr#(q1p51\Io_f:U&2a"&(Cso@ckt,5iZp3;^Ef01V0\B8dDRQ6AoZ-\T? + rgi*a;sUL)Imb1[TZ[,ss6]4V4uXe:[VCf`Aaf5Z<]D`-!T5hc#,p2(t`1 + bHuQId[FSnp[5F\J0Y.5a!!"IpT*%b]h*,5^F03cV6IA^7FZi!f!RK4Y2ahN2=Prs++cWO7 + [BuGF48*l$=o8"P:/8R*Wli]b5#M@1dIA+I,;f1FrU]-hM7rgq)or$]Ln:7`>O0/(->[KZ; + r$E!n(d`Ic(iRk`\^uA!G_R5cZ+Ji"C"/t&('eeOgTTjFG8T!!Q>CiQ2S + 8g*JCL/[["J>eg,0^$3X;Ua[RP?P7Mc%)!$DG^?4S_EEHD0ZNZ)PIT]dhV\hEQbCR3@3T76 + Luje&^:Xq:St131Y^hsT:1F4aQD=5Qp9m[8S&j/fGu$<;R]ldia.D;&Z@b"u>jfZ.X9`_`0 + Uga.\mhcA0ic-t.$^B>*bcV9C5f\a=8;b"527d0p(78T,+$3dA,V]o;J:2=*_m^:YQq>BhL + >$k9pZ!`-pH5;+EC`4&]X3YL>C#&@]Bb)-6"&uHhRsR%IfF$oX^kVT>9_Wsd2+i4BUikZfC + EMg+%Ki3VOtCV'AuBgA4aS1#N-"/WBX8_jGIQb]$d`'<1)SBj\`#P6?*uPaRkVDR!!!!J0] + ]s`naRQ\"uNusaoPP?I4b?(BBt'Gch*daW>2<3c[VK#qm3V^LMS'J + 4OqJo9RhcgW7+$R4Mi3Hp#gke$aQd4WphF$&4o#_?K[U"Ut*Jecf!Mi(ZOmV+kgQIRA"lfn:aa,Z51ZOe'6XPdtYlK:*)InY4ajAlQB]A%,V(Ke?PD=6)m + @*:5/==!nrB$bY[HA"o]n)e>3h.ZaBD/YKB:)n!8,@0,6@'a(CjiuNGoO[FUlUd('/P5?/I + _T^$mBCcPdk'pDVZ + aYp'?rUrB$/H::9@^@?gpO?aH)`.%Hk*0lL1&h1X/Z!!!!i!HN_7LRl'fcBP;5NSH+4EGGE + .kgkr/I3hN5H[-MmegfA\UN?M%,/M>If_B0fet$hF@RnWM;iKq)UgMHPp.f%]"#P;0#6lfl + F6D:^[uRM]X"0Wj*$>4]!'k>@!AYa?niAs5VP7<,&HBcJa-0j4VZpcHj5%@Dc\/;OHV]Dp[Mei>KppaBg"A)VTD?K/u2!?93Yhh%U` + Qf(tf$25E2P@;j&O'4O-G7egX*9/BSsI8-GL#2?tY`AiFom@<;MM!!#oI*$Fi]-dO%ojbHV + Y#g*;OZ59ER]n.#,ikO7mH[4>eGtSuL%?LYp&3U=h2SmC/UZq$-oXRV(?dO8<7_U/9q;Ulo + doB`CMPF,&jo?^^m,m^_N%P)1!'gn$&SBGQNAOa(0hM1idmgc+5d"@OgjOF_'\TZQirT;B, + IYd9%fLKu>i_6V.mH'OHoCqgq*g^5!sB/u#t?hh`_WAon!)!#^HD.?HgK\TED&/Njj:$Xo% + 3"P?CWLB:19^rP\.7k]:1Lcz.H![_-mgUkF+=dngdA;$mH^9d"-3k_*Sn\gX'"A3.9XCRQR + *)?+?;]d27pE2$)7k.!!&+4T8j + $O4IcVD-mgB3S&5Dm!u-2M%M1nt1a60&V6V$Ha.)B6FDW[_aI'_P\c;^ + 1!%G\hPPMGHLE%FWJ,nTX3jP#$PhZ:4,s,]4b,R;,(I;RFD#?+.3e^/KUY.6P9c..9!!%N` + @"cXLfZ?Jj&32uUn^/9.DWP3_dX\T.7jYi*kA8N=R]JjD:EkU2JrQBl6`2VPGr3,Z]*Y5?! + !!"\!fSh$%m,'VjT)FZIP++F56[g(!:-@0Z8L5mS8_hTW:r7Y!cd$dbBg\?SpK_P]T:?nrm + TRGRpb9Sd7!JH@uW($B");0@<;MM!!#oI*2'_&!(B_G!sB/irK6JpfKU%@SJ5r$_E8B4BsD + 1Y&B2L + >]!RK6%r1Rgb.VaG.d^L10'/&-KP)WNZh;tRUD!Du4uP%/g*<(pj/:9mn9&6#/WXMQA2dq= + !<<*";IH=]^jc6R]l;pA\"&u$/M&H'>7M*JR[1B\;E7"ClamY8'h7Efeg3[1J#SXLOnZ``! + l@`,?7pHmM!O2l11\+>7c:i8?%me,1U=\+DW9WQd(/6"CXFr%ok9?clhMQXSr(r7u_h[2W,6p#!QNE2>!rUF2+TLCi89fL@5I'_P\c;^1!%H8N_K:#%r?n3gT`t9QC!msU8fAghfW_*Hj`G8&G%] + ue\qXOug!Z_g)B-?MIeE9#FQh(a[%LCtF3l%BDWS6>UP"3tBNIYcU\\t\[^KJkTA%SnX*"k + 5H,p"1#7)GSNKl@8F%UVuErFT3F7W1LFAM*V0l=iQQ.P<=FF, + 55RnRB&9_oe_"12O\N(MdqIqZ-7t9j[q%F+F9)@A!)fJ&KP>)NPtTIeG`^)renBTPBC33=r + 3R6nN#nh0/,mUQr_`UmNHdqR!;6)W[1q[%!JK]'m@Ba2fu70*Zb/ZR7P'F@(mEHhj8k4jI[4qltf\K5h`cg_A + nhAT%\k!AATUN`jQfif<_h_$J-Zb6VgRpb9SdEj=9=rtq+a_nuZ!WW3#Uqhe-JW7_OH?i6U + p%<-9b-%bei:#>RFm>G#SdVVa#=pr;mg5/I]M3/8";*pc%M6F=)CoU'Pm&HqAN>3J7pQqO4 + ,caQF?f#po#utcQhMb+Uo8AUTk>@e7Q(:e:SXU^R'\uEh3-TId00LM!(_\?H\/c;%-?p(;- + J:A,<*Lk3mN^+q]ogU_OrEQb&L9DNt.6umfHT8- + A>=_T>=*8]P\_C-Ft>oG5/DWP1QfdSFR[=u5QT<-YSUTTMrr5*+nKotNo#.%>qJrrd3n^D1 + 8'IGDmB");0@<;MM!!#n>NiUDU>j0!UG^E4p?5X.6!3Nj$N+a`#dK/uRY&Ch8Hf8.-)L#5c + _V%l=CL$-Ymi9*H$gT!SVIpis*C!KMLhp&.`l]2_gP[2[#r[5N%@tA3jjEF\lm@ZD!!!!a$ + 8B>-54%>R#Da?B5^RL[lTH?$=#hKZFdRBc_\i5AbI"-OTrbk.C>k+YCTSgcdH2kF1qduIhc + "TJncH\-[TE/ODPh((/hFPqGf&/ZRpb9Sd7!JH@uW($B");0@<;MM!!#pDnI_Xh?!!$&I,J + XC_bM7nJB.`mkkDed1d.Y]R!O?%l&foeh\h;89#eq.?P5IlXj)J.r94KZRTScc^):o?*GCfZ?Jj&33";\E + lXKpeblrSGEaVBpWBL<=3q)W + 7^e)s/_?`FdTq63]uD(>o8bUa/k96>,O7@u,":&=a@<$(aFP<$#j)/i,5(7P&NbXc5E08CV + c_m=1ONq1jo>S8m(,g2mOssZTnD0Sd00LM!(_ZPrla*R*8n\f*iZ-n\Ret6nX7ZbZR=BFTE + kmFJ05jCC@A*ngFMSIm_n2JB7mX"hNM'*5-?fn$nc\j%U%T)**]K>5C<1d0R4 + -+`^6RXYr@fs`%`5S1!m94_2u.ImPWO1Hs(G8QN#E0eX^Fj]?MMA2>@T%i"+Ht9#(S*Rh\9 + 7)sTPh^&Xmk-'0f*A:0#?]ttA'1Nc!f%;'+lO-Mkprkg]RX + CO_H=)OKJ#G.XtHrND!JR6Ue:3s)Xos$X:YHhX^G'D_KV.#632;h$\Xr,Fnt>t=8mqNQ+&q + aol,),]5IN:-E:8>jR:rI'UcT%C4ABbJ"kDCk&1U;3]kj._#XP26f[WtAdVQ5;lolZ-s':U + JC4;*@AjGV=_m?*lD`RkVDR!!!!J0OYHqV<'PCCh(p33C!u8!;#gRkueW3&nms8'kc:(aB. + Oodqk8<-NA,'6*L$t&h9n>mXflpB?tgX0mqFB_OGq^Y$f,)O>2b+Z-fSTC%I&k0!EebbRJ/ + Y)jt4]*Y5?!!!"\!mBX)mHhF@\olfth>6n?kO/_?S@f=*"DLe[Gr\#VIX_:<`8nGkVED#s; + fBW8:5\EpiMVf`kLYbAV.9js8u89)dn?>M;HHrOAh.;S%MmMq=];J",3`a5#ISd$#&R0"1G + R'7jCW`3_r_^tOcA'qs5*Ol7NmAA'o>kT`kO2jmH]!(CU$[G`B?"@,;#I#o_KGZhd9lc*rj + ^6#eIRdfY.srMoX#uI!NMT:MP.P1l9eS@UVc*^3P*n-.g4DIim-^'YPf+V<)K%ad-Srm(17 + Sr[#S@Q-Xg+V_WD8=0*qF1Br"97Mc%)!$DH2aT7-Lr5m6eX5QPN-7<_9\*cCs3Abh,T+A;d + _B]@W_qOD@lMN^Sqo5Ej.c0s69NXZ=mL9!No3QBotWS6c91OJ\nP2HpK_F + >+dhkuS_-qkV8)maf(lh#*<,CK''.dN$$+6q;It=b!E0?f1Cp7_sXB`:nuK;oUJQ%se%=Fr + l(s.BFgX5P=(B)d,\7T:r2&he.Q-Q]hqCmu]YFW@DFKo'_";Yai-#+(fgs_rIXdW-=,e?BK + [?LVAUdE/X,G)W,mHdd'*%G-8++7q[(M[X:e#g%*@V?'iG2B0O&3:X?K[oplfsoXO*l]UnW + *8+FRe=kDt(%.#="/cYkO5RKQ>"#O@f\Bok4nFiHj]J@@M!Btgm\>[M!<57YtF`+dKYA4&D + UOP!rjV;UeDM8:iF>17k`r!5c03m@tR-VMY:\kg-g2cjOZ:&TdgHj>8ar,c[DU`@bffr4:, + 9,f3m@=oSQY2@1m%/W.,pHAtXHG#HF7=hMY>];67tH?tWLHkon&X]3D;=c + A>5d_OP6k5OJb5/e$[c5c+*OkpVUSorR/k?_:kSGd,(c`r1Rh*iF3)i5rVS["(K,4F=sXK0 + oi(gR+A!.Yah2@!p/KiJUZ_o(W&PTfY!Pm&urUAA+'5A65915A^fFBim86VUTin^c>ts7L( + N(<(E;9c?!l@+CS/E>c9K8%VTN;9fH34*b(5(XZ2fX*'nl8%-F[)X=1Nmh#/E0Ia)#pDLY? + 1T@ug8emOS5E4Mgffj399uX\5,'7Qpd$&HB?=#lV^%&Ut=b$46Hhle$G+Gq9,B<@&*EPnt"7Odd(t_WO5P*WCO@[gPi>]uK$`5EhiX.\3b!<<*";Lmd-7@=6oBtUWgp:QZ;JQo#JLaL;r;*#PM + VPP!aBNgib4s8]j9L>A.Zp<*gR]Jh\e#t!6,TKU(nP'o]lcMDF+b?I7OmR%#"be_6aTRm\C + *Rn8!>KJJUo8<'TP0A%('s=IXmTZ_UF6*#8f9Bk@ftcl/V`R!r]c@nj"aBS$0(tW*FW69(8 + D6;!!&)^8`]sJ9+-&k9bMX[nB?bakCRpJ^T&A)@I5a@#@2#c=a..Cb!(O%CN]4+GtA*Nd=h + .>kh^?6nm5H6le70rc1+_fGuNHq,9*4g0flVj?Re]jFOtYt2su/8!^u"6?`qX,U?4dCb(OX + KQ5"1rig-)")r_mXTQs\6cq:!^s-:0MU+X@[F:^nX!!!!A"es*>[X$?\jQ(/d@0,/(B^!mO + [%1[N!RenHU!H."'@:L"$9PaniP6i^e2:7X?B<:N$OAu^\leC]5sK)ZApUobZW!Q'*]CLS9 + L!+0HtqMR;/,Dl\JQ.9\0Cu,mn%?IUP(lWiLDnl^`$R6?ra#$e;l4T)E@&+@0sjJ8/ZV.-B + B>Q%=T/E`<7m+z.?I:7E8a-EeCEE*)6IV(!:U6]2![R<& + f4O&"Z:0phN`@\:LhD:m55BP=Y)23Bk7BCPj#Bg$Y/,:s[uh3,[M-$4=IPW<)PO1_l"94Qb + dU1Hh4-AO&Vq_\h_f<1s/*'(sg[L<&0ANnYQDV]Y&H?=@QHmV%+UTQ] + rD*MdbX#;l,q:(q;]nM.DFRO,)\*qeQ\'WKugi?l`Aq#An5'k8pY3U"To3t:JU34&.>OJ;A + I]]Wm(d%G8oN["Q3G2pjkI,JUmaosQbq1k2HoGHKF/$kZEbE^TpaYnQV+XXmZClGXCpq[DP + TfY[:*,h`""oMCdq2)O2"Lc^t+$jd6^m"!!;hbE\AUa(3t3,0OodRB5/XC&fD/LMkuQTKJgNEDG*(Nqqo + "./\e!:J(gUk,kNfhF5mcYQBf3uW5i^;!2'V`W*?74^%PUX'DZo3tu5ED#d25-7EUds+mgD + Q@\V#Bn?"nK:2Q5j:&3-OSqUXQGbSSU?s+5t*c?">!7\(iSe\[#"nmB]jPlq-bt>`QBn!>K*%qEYdpT6=`@eT` + %a4N\8JGVB@"5@n>ceW26J_G(;OS_W%Uhn.\D9S/U7'r?hGHRm_7&b_8J)W1/iR4>mh5O=h + O)dO#L4n!e.Fpdf4,&5*L+@3Wu2c!!!!12^?TO2C&MeFm>G#SdX=c%^>W:^]Od'Q^k^JG.q + kMHi01QG$T%B3mK=(Gtml&ok\BcY,]Y&n,5N[r&m@0i<$Y>LcTiQ6:(__7)(M4k3^PZ`pDT + n],_Ee>1>=W51E4#q>'.6j_"@2JB?UtX"%1!o)ceX7P']aGoUnskAK=5?QM>*]rlS^IA-62 + X=Og#Y#U1!!"-ZqX4aMi\Hb1MaqLGO`ogdbK<`IYo0mmp)3PZ.ioV"ba*BK:s-V._+Ak + 0mS\p(VbcN/cRr/!K=R$OeR1VLFJdBCj@rF078cKG.>HYti#F=Egm'P7h/-RXZj-'ueb%2L + beh3cm=%H$$B;9Mf5:b,D\<``@ll-fY[E@^cMn^c>ts7H_3c\+IqZb/Zhf:&d-gaSLKm^dn + gh#+.4/G"hS,?n,ho^lXj)J@Ojc!=GOa8M_8^(,#7;(;.>YR'4d^aT9i`q>'h9Pq'[*l#DP7%V*r\`u;J$[A0%]p + 7YM:0/'N0X#&5&",t].?!EGc.Tj+?R%$I65Gc6.(@[O_hW)nRb$eQ`j'd$1!!!#Yf's`QSR#5KO9=VeEuZ('"=7! + 2(@!"8mVs`gb#CXgF<73P`9;l@g/*Ou^>3r$%S%$g6.`&-jiVGA9m7_V$a$`V42qp1mN>Jk + @5u>kT,@mcj<+JZ2g5("98E%YR + 2kF8hQH#7RfjLQ,qk-hnNV0lWRslNCci:%9m">C5spA\KpSI!ps!3Z*\akCpqYn\W[93Irb + M>,OZu][gPi(HE9dY39saIRU@pf2-GW46_U'?Cj?A#c^X1PXD8t#B3&i[YV(NM/`];aQ^=2:bHcQI?49&3N]i$9 + d(HGjVi9Id8HWV%NEDD]&72M99'qqG@b"R`6QMUNA:F("=mgW4!!$\:EH,tn:/48JL0Q?l[2q'kIN7D1bISHm:bu!Z;N + k"r<``@l]YA-c:Es`3SeZ?]XK8rJQ'UgD2J'u-e7%2j8%p%2JX[7-#mGm"mJZXQkUOSK5rcYT5]oIGsr'.)qs + Uk,jmrRY8m56B+6n&k22@9j6A;9fHc;;A$8E=^*]#mYnUgb(-d>mgW4!!$\"?!U`YF`htTH + "gu,Z1[n+n9fWPENErL"Z7M^-8d50Cf=8rann`m[2K;#!,8TS-s%hC"n,&&Ype#I>ra.6A> + `+g2hV?uW63=WGO`ot+(-\p"/6._14U9\VIq7eT#\DXiXtW5#&c2HT[8A8>lk!+!.akj3k@ + t$nGf`'7IK5fq`%,I9B5tcA\kq8>pgsPQh;7eF0;i8gM%,B^_4-Q94b$`"=]j(Y9$4Mm#=4 + d1fi1(YbF'(l\YrU(W4WOVNO!a)jd!-Lhr]k=8"(Ff)bpP!!#FQR%&S*Afg8A=B)gtH"->b + f!PKN]2r$UGu*EkO-PQ^mO:Nc(Tc>21Hc\V?n#c']RN+eDaL(Qo[CBtr7%70_NmiBsZ;6%@c3V@JK]C2mJZNVfzU3/7T>>cig2HJDI4,cH + d8:2K.hRO\oOmTJUiTusj@aVaE>nneTjL`@/ai%;&em,8*SjlM!Z + j^9zJ@WdJNMFT0lWRC]_5])sn<(,R=jkh&ak8jnj\?l;h#,KRm]FS\7)B'TNiBZlV[Sthmg + %Ed0cn$A.44(+?pboV?$mmU39sb(6!Q?M*&T;Zd@Eb4Xo\S'!!%gXg5&2Jao^/%Y`NrChj` + l`XD7k(p9;*(-EF@)A2j0ho&+f(rp-c.A`++Bi0EYn.@`PZ\&MTu2E9H(D-fIelWRDGbBjk + A!sOm]\6>/ca1<&U=JDQPNb/Lr!!!#j3O<1Y6nUUPdWe"5@180>YTe9a/$9pacLMI-obp?, + eA@='op#m.)oTHVdNd`_e=<1"7sA5"&))+W.P5AmXKt4I7<;)rKlmtWYLT^i@:_'G+2mEZ*Hu(e!q/ + :'T_C6j'satGzLfXJN1:`SRlWRE-fq@`q6hdmh"oQU3_NG;m,*'5eQLu/?C/,>bIB<0dY$` + ,k9.Nb`XJGSaD13)_\sU^TZDrRA'Ck4'YI]XgM2q$!B0cc&.gsd2Hs,&&*\.ZPNBTDo8>!&1W;b%P'g6+RC?:(9@3IYDu$Dhi^:(84@Z;W)ongN33-*jo( + WB!7WK=8+hKiOj$,+[IlR7Un"9qnCElWV)6'\q!8fYk?:z+D)7s#.6j*VI2:52dAM-SF*X` + mc9Kkbkl5'G+,u%p'4uugAI\hnGt"##jA/9ccX?rGD%0-A.!+p@;FKao35P(QANi^hlf!U + U$HY$1n_[g@>%nPn?Oh8*+'[AWBPN-QDXn#XIepBbcUo71HH&FGeBc5EB'P)/;JI]Q)1'HT + SBnaFWPBAGW!!!!abfUYmdGGW,G%!tbOSPtn+b%qd(W-b];^W$EPnt!\1Hc]!%58:*F3]R/ + V6`'&.*b3MEC5,z>;QGI4*cX/*dTV*4*,cLlWT*:F+".7"DPNdR+,R$(W-dCE`18(g + u3_sO[O\U4F3hq")!JiAQf(&*dY`.Y(_#1(6tbe&]hO!n//=Q#QOi)!9Qa\:@[.W;r,t+a] + [IDXD8s`h!KO#eDF-T`J#JI`Vn'_9=e2*Q1!W^qSW=m2\M.K%%/d:J%f$D_V%ipmht`5Aa" + g-R%&S*Afg8AzJ=)2mHJhlu.C+BQZEAlrj&1BL)1ce`>gl.n.c)(:F%4`G!`:E#*$oh"TXU + 4TdUMi/U6j*8(*[a5:=/[D%+_hj@e?@hfIi;IT"q><g7>;di]/3O>?AhE;l*6C5iV-gV6-KeS9J5d*Upo%Qd(M#j + pK?+eEg/?]Br94f(?0TRk6#9 + ')#IG_\#Air^q&8]2p`^jMTNCNKEjOpB=6aXUh,(Q5"(*n03[>Y*=s\5QOM>\-FP=![31,6 + SjdzJ@X't<7YiTLp$u86+)0Lq*epsCm$l*E2c'ln-eB%1Hh5aDs)^r8MG((5'67Maidi=6> + Y(>/?2_dYc`ZpUCUjCaDTS:J4C>'.`;Pl!!!!Q\"nS]C@d?cf>:d1,TK&5Z''5]KSZKEe1u + l@mWeiliY\f&Cj + ]8b1ebXD7h:!!!!CG@L.6)[XPff>:dm1@pO;/nSAs!I<>Q6J\4#igW!QqcZsflCKSHIo./<_N-g;i4"8"(tcg6.]0-&M)N`bOQ,te_VRM,"6Xuc(B,1i)*uq9qnCEl + WO8g!!%Pj's-,05'/ID>*qt=`DVDr-gOqA79*r+b)lF5,8LS>qc?j#p\t'Yp[@"sf%.9"Nu + kW?ci3XmDtQ?5.Lo@.7o+%&6$$7e?ZYR=n1G'V$nEIONu3nKl6(II$:f39OfYS`z,$2E7rk$Ak + Mg@$Z"-g5&1?(J@o_KsB-9hJ=,sX<01P(8QRd)Xl]j;BQVK9U+n+dJs7I!+6\pb(=^O?e2V + =,?_3il?Be8\`Z3VnIP%qR,Pr0-?:J"+q3clc5f%JaPTE"hea^>%"g,ir"[ + `b4(/qtH)nCYL9e6HcF]",Aj`l@THYGeD`f<6:R:`Sb\++O2c=+.ITWiOcQ + 55qd&YXl9&&.m,K'?r39:KYd_K"rrp,]=\WqMmRY(PS+#25n`98^FZ58ocM1e&+EA)P[8/n + gi@Kl($zJ=+a*5MffWlWTZQl7h[qX?unfRS2)YZDOLRVSb4s*BA-c^OG=hR<;OIe_k,rir> + @,N3mAUO0Gqg3+K?d#jc4D8qbe:C\C+Pi)MhV+\_D__n$-m+ASW^:l(^Wcaas:P(oKQYESS + `ufftmdgIS5Z%g?+t9lt^kuozOc/Pf.cSoQ2!u8RF%Q@u':K<`g=l,`Y@#&i/RQ2;e^;cAf + +)Nc4+-hmHhZrJ^H+A8nIMF\4aZn`G=XMmr_^$ig+C)>^4#m!bPh>4hn!q\GClCm2-/;TCa + *H3Hm<6H*N?TPAor$4M2mUnL!,f9df]'rf/t8IhuE\"E,b\HNRdUOU'X.J"IqKb=aW1g/gB[ED< + 2f@DIhh*uh<&IrWUp9s+B@"ko4-uhU[+gh0P]j_s?-\5n:$=C<0P%Y4Qi?;Ac#mn$br=Omo + #`Jii8`k8T-pS\eZ2c[99U@[ZeDB/6`C + J.Z+#2R$U4_Y[j)!(cf!U%K8$j%MNGX#(zJ.BZj$PW'FT'J%p,s&X/fs(/knY5H,++Bkcp3 + 5DBVnUU$abeTXhH8fpBSYmMk7@7ESNM0qcbYA@W`Bn2NEDE*5+j-U@!/:-HCAjKnDS07Y'" + o2eoahF%=D?p`lp"iE`.X]0 + .rXk'4(kX?m)=?^?AlXJuCLK\hNpcS,b.)$]=2(\a + 6KI + JADn])`$pu-u3$Pp,&AQgV(?*'"YTQ.4lXd.;AB*8$7K"1E%4.(C2X"4&]3IYE%C[_olq+' + e=Rm/O$B!c;a_,8h'XD7it@g.:AZ`XH3!!!"Tgl7!I-RLKZ>miGL2(+2Ecr&,Z1d!mj]-!l + AT:bu1[+)Q^a)=67J`E1jOMc + OM$\SC[H'hgah7SS`PdQ<[8ocCX"^?QV5EZiC!)P5"fo(R0_m8#\c1pF01 + l!G+#,R!`9?T4Gu(16D*Sp6ifNgOa1<&UW$4YVm_K_?!!!!)_7d-(\W[9a>*omr^t\eE\i$ + @)B]<&0Z9+c+7$ZBhgAE/GeTjha1X;RT>:.7!kJcRQ_JtGS!WW3#!5pOnS#_@cs7M`$BS*#Z-3_tc"0>$j.;&e+ + SNLT>>Bd?:F`m[N=#3<97h6V$eA@IOF#t2N.r!omJ`NF,Ma"&`oaReP)a7_7<@\GTLO$5/K + b[5u1B2N+$0tbch;-Kdgt`/7!!!!M+Pk"<`4#r"o]-2@^K#iUSXm_L@l0XLSIaPG1iO5Tf1 + L5/"IQXJg5NDEJ,fMG:S5(CIDAPO$NN(bfYnn@]RdR"zk#SiLl^>nlY2g*\e[?SYeOG:4;YX\h8M=US*Nr'`ocA1g^GO`WU!8AgSB.].3[#E1T&h0-PY + (a9`tQWg*ab^&R@\g]r*WhrGinc$Re"K\N(N4hnYkd5>lXK9>@T0]<;4P80Xh+!7.5!J!MgrZF + Y?C^pM0Z'1=ik;T\03?fq-6*5=3('6dJ1dX<5J6B@s+i'%Dh.J/A@nd[\F\enMNlo5>*XK*He + 7@U(C!lA*l_HP?2++6S`Y(bBQ5UG/t/aHR?!!%O72-/;`/Zi])WP;D5XXpEnb\L:Z]3&gdF + )_@R6!/gG[mda8oJmosbEiA%]WsQhM + b;H&&W,L")A$%4.8I>Ilc1iV#Cf>SZShI]>#4O8iHi^un22fu`deg8_k]d*3JL=KsPXX,VCSF7K4:mZ0M + VlSTHcSf4_<.NZ12D;#SVrP-"mYEs=<2?JB>OQ%r6&c)pnI&8khslE3=T+d(mkBLnQ-8;eT + m6u.lHG,[[$1*THYMV/qkp?e-bYdlJSIOED"GW;RM/(29[bj?JCV85RP&VW^U7OK^?*2 + "V*8;t80=P(Dnd<@!e(UL8ueBot)#!&c#!<<*B:,L"bq9IgEMJ?]'QaeR&)U"s(ErFU2WJQ + f[/(KgrM2q#8;H9^6]X]Ui9O?"-Q94(s=*!P/<16;!k]UBkf"?mi%`W2Ri5YUdAU6+Me?Jf + @G[05)>.pF8g9*Y]8=aP5XJt0X;;+q9jC*-?[`u[[%r5S31NKTj\r3a],LD*qbL^`fbM$st + @e`7'41OpR7cMqQ8*J>JMd!MH^Wqt,$Q\e`kS7\MYV@ + 9j8?]9R^dD8[XL[/^1,YSu6r(6u + nN,%?3%!aAbnT8?+M)M^c`1d#AU$`Tn?5s^-G/H>bN"QbS7Abi>kqDod3U!"q[A(9(Su>33.1pYZ.1X2uiemnik10B15rbCbBZYniiVFD8i?Fur!$F$Rj/)h]G@s_N=?[XGaEii@Bh7MCDrlqnJlQ + $4\&M`;OA).o>qEs_H2s8Y=BQlm>6C?073mSnkIn/NeeJ4i2#jsAs[BN[]YLO=#=P#n)iZ6%s^]jc=YYo[<.qn-N]J]E,MG;52JLNtK-T\gdoU3c@ + cH"b.p%"]mS*AV8$VQTF!t^&BD[e6i7@U'4\bSlMq$@[(hp/_`Nk&`uXM(o8_7CBp6DM[Sm + h"'XYZ:q.[TloN_7CC[LPpri!.\'G:\UFP=ID9r?1S"##IT'2%m;S#_nuWnOe=nGK$#M;sCIQ/t24^Fnu'/p%T4ieZNJcg:R(XZYQb8hkUt + A-pNW$7K?7ELW@ZgkH#D5\1i74k_E(e\)r[?KBroi#,7"!d/3.Ukdde.:b1]f-CtL(A*o!, + _'5TR!!!^(F$jGciJFS5mDVA0jc0T^b'hdkr?eA6Z/Rn.YlgXgb/.U?CeJ:*"Tt]+UQ2fIo + hV5>.[P(JG;h\VX<#\Pe=;iN>Kb_.*RSuS81ci;0@\.0`4Ra1>fk\-]n8aA!<<*RVkrq7oo + c=rEViC\U[n@M;gXHtHfV`MO`O9Na'IJ/BIKn!lokD+K:WlXC90Cei=UTYE.GAW[;mc#5hY + oZV4_MU$J&PILt:>T;LU?h[23S3HM`$3$`61L"Y?_!/7RuM!!!"I5s;0XSDnU0qhp*`1:[3 + [D^oDP/*6BR!!&+3p=;.eVOi_#?TrCFQM6?f*b,_ARs-&=m_ZE>RoL8tp + ]7$0Ra)e]\Su[O`SAm,`r_RSSc`7fksQC>$]Dianj&C<0&LbaoN\Hu-mpU+\#<*Ag'`

MI$;T"*O92jM"
+ N,0gqN4F_1,D#o=?A#HXgdarHW[s-RC+7>3"esd`7c7&PP3(=R!:&
+ -KbM>.S=89\],h8-fMWHlSW'rm!!!!U!f_&Bh(Q1V=SeAmBb(CO!9at4Q6,6FMG,Gmh5n37
+ gi1a'aGW+g\lpKZNj6mfmXHN;O0p243/06:47iD;nZHL+26`1eA!'hoGDf)8pkGa_N$R^V*4n9Tk9-aDHS7;Cr)?=_#4ALdD7u'sR+bN#%JHeE>4i
+ Z>,5Kham!'1Js-hBgQdE/lq$D`(+>(%`%B>qt=)fW^^L:RLa:t^G2iW&rYm,O,2mTeQHUX(
+ SgHfV_b^JGgMI%+K#+TML-aSfo+WJS,k;J#g26_ii00MC5u?'tn@s1:/]X;q>WIa5t$L&f:
+ 1)UXn+XC:LMN]=d.;7G6G43u"p)s@L3p-RA-hZGG7!!!#`1_`qj7;^BASjDE5ih3cZkD@a(
+ !!)dKE]L>Ob>u%Z$"1V%@Ek
+ 8%pN]t4FHK3)1#ZSj@?(!^j?@`*t*""uX^PQVkAE2GBd\:G+=F6`B0(6t9%XO&@(V5>*EJM
+ TZA*jF"!!%^na&lCX[6;tpOS\dgUV=u+`S[!_!-Zh7s*KC1^SPMW:T`EPo&N2?l
+ LUZrl>hd2qb:lfB4UB8p]k0?\FT4)Ct;qVL"ftdA9nHcp-Pn:1"PT7k._P%&E!Qn!!'h+D1
+ 63p]X;I74@f@lg<:`ZBsRFVPXI`$:8i`_$?`Z%gsASlJ@-2.V="9V8_otMm=h^RJ*jh`h4M(k!!!!9F2qC
+ ,IUaR]cuV\[T8DE]ja@+/NhsFs/^&KqkY)`VMr+HE7Xg\g7Xa6Pe/i+r81U27psmCWonE-C\gJ*"/M&9p1KjJ;k>lXj)^l4#Bb2T)'k
+ ]L,KZDK7P(uP5m!1_!hIG#JZ!@I&amafmc4n9Rr*Y,bMe/HeThYLZN#$>5WTY::L9MYKYn,
+ Y[fJ1ZbiZ3S^eYUtjB,JY".=&XI)KruU==l(t(/\Kp#NX0O(37$:d>ltNI!!%*Hp#N;%k2h
+ SmPOB<6/oEoQRL&tU!UBJ^Db1`4WQQa1o&)hemE3ZF%(q)W\s6cu!OC5UF#WG6/hX<*W2Ql
+ %Y-"gCC2/q!nR+oBrU6`':_gC/[3Ir,_rKlf;$GXG]1qZHCG42[dH;=pX.Qd9\gFi*f[egO
+ =F1&K!'hm")]G[dc`Quo:fPQj*<:VMTHU>Oh-]qILGR=>:P?bCF@h$_0&MmT,1t&&*b^(?2
+ 8J;'mq60A'GM7GQ'G?N=#VrmaSC(bU*M]*frLC^\[_SDODGV+#`":K2tWbLggOUXKs&Pi$q
+ +-?!.[e*Ki#J&B/"-_B.T[aQ3Q8(il:7f!!"A,qh:VuhT>eRFI&Yc"@j2$>@Hb0l$?PP@.X
+ ?&PH"SQ4_IX7Y\=>IT&DG-U^`cU+2%)Xmf";3N\_L#<,.p-\F2*>-6sk4Vl(=F'NA%2eCN3
+ nr-69neQJo_-6Md\7F>4W*_QRW7VTr49=lr^H_FK=4ZON#ce8b4!t>eA+GG,P+]PRlGN8n7
+ oB#SpAp=HKNSTTU@K6B:iKB)hhn!EFcaZi$QE1!=SIlLRN^FGt+`>6+`.8Nj?jWmJ6aL;bgLU/C
+ WkCq52,dqmUs@
+ 65MhXqgONe?k-s1tA$2i2b;]qb.;JhLh7NFJfoqqr>Yn6n?!T&^iuoA$($?%or^_O3$;,oF
+ c>QBem=d/P\R`Ug\G`MB:b/rA7J(b5m=h^ZJsHB:.G4Rh#c9lI7Or&R7q:@V!.]+";1:F2a
+ 4U:@Xu@%pk)GnKg)]9A9fLlMo.1sQXio&J@sA&W^UW,."h#QTqf1dEpeShh2b!0k]o0"!'*,T8/iBC`QRk@^T(7DHIDj
+ eJtnF57n'f@s$#h4kO-pNZZ\b65Qg?]pTIjuml-B:(V0eh+94Y6ciDU0HHon(!)PFFkDUk)
+ (nL+3>.l5M[4b.-7eE+?J\isqk&9=Qec:)6ZD8@g5G&Bu)#V6^X:=s?\od0\nZAf)%Ij;87
+ -"AG*QJ5I@@]Fs3#fK!>L*A#04m
+ ASA#ZJC5jLu9+eRuLVKoh/U2M3.Q5_q0/],1HT+Z3*HS!07ei`P5>Yre%/`k"ji^i**X\0"
+ H%aNaJ&Op4Z:?N]f"&)[($p%sMM*q%aala)eq7Xh`@a_+,4*+RX+3HNO]iB+Wo"1i^FeuMl
+ 5fsCWQSkSM7X%/&7B)NG@9(;HDm7\\M!/4Z2WClV<&MqRoL<[a9oW!sm8%d!W):V-nCP>En
+ 1.t!caE^46Ol\adp=D1'^!JE'C'+Ht6G6A.nBC<];Z??793DOaIQsBPHZ&R9H%[gfDu.[c#
+ QQQP*f8_79uZOZ+?#cHAp=I.jV7`.p-q66qVUrE2%fRpL:tO)Gn3&g2S+(t9)g619K+seo?
+ !>6ZhNuC%UKLSF/Sf.O&krBho?3EYbPfck\"5=e>ZqU;qKc0-8[uZf%]r)#LC7<&I!d+>ip
+ dm'$pV?ae@+'lgZPV4.lTU!2O!o")PYPp=C,D9?BMfj;j=Dm0tU2/uRrEZiU63:;'O=]2pV
+ 7Mn'?.:W;b7TkIrTq=K+LlZ.kWhT4Ak(8WQa+aiH*>IU>"QS,uJoNJdS1:?*tZ8F`$mJH3u
+ ZnptA6'E+,cDn@s_Ns^F%ML9B5!F#`o`+!%>d`kihS"F'ipuU*g&AHuIDMP]H#nYNHf(u3+
+ 6%bIlDo"K+&?<*^]!Q8^]-I)VC$NLbi`5:?+P7Kk3rfD[$E+CM5,4BdjQ#S%`iM&:_i3n3;V7QcaTk:'5l.DU
+ H?!sFb^GIo];FOgY.Zd#n[am+X&Lp?IVRREr
+ 3rZqN9[]+)gBVmJ;(.?J:[4mh^kX\s*L>F*!P=iAKefP_,WD/*+@;`]1M>"#ME\+K5eM5RO
+ 7!Nr57+G;K\9nsEMMB=u@!_k7[l_e92R?kWqfj_St.SVmAl8_(X@'8-BLd+.S,95sgX\;u-
+ 9^RD,YrdSAU8Sn.hh7*n)O'c8)P/D.o\Pq:aXFEd1h1k*_edmjB:ICSYF"+J3*7Jlo@/R>)V#B//)2>%/ts2KrfX
+ ;q?$TJ8AaGoC#\5TCh(c`*8X2UJ,LK)6&YOFhb]j5U'!PO6LZR/G\=3nKD$HrAC>e90r#l,
+ %:c)HJHl!([717X7\9<:%#\76f6$]8SLjeTOUg4I'>D"2&dB$_^J]ipnd95:nSai6,L!;n*
+ qe,-$"@&H<9$#*+eC%5ig[qZqREg*bepX3#I=+.mC3#%"!/:%CUs&oT]gTK`hl7
+ L$V<*^CDS,p3CI`nDd$S%;Pqk2/-@p[OfGX052-[;X,lg1;-G9oS80e^(bsIdE3>#]jn/9(
+ oKYlTXPsg;B0nNkI!(tiCOhhSgM3c.c<+03MZ'LlgSc)+/>9,V.h#Ho\a8Do.2c&dhE;<]U
+ :VN2VBZfFimEAd9jdU(cfM)F9rqkq,lN.!)og3spo_DLZ`U>G>P(;mJ8pKlcQg)1'ZfaK8(
+ O'<-0%'=lc!SMrZ&@hjF@O15U4-"phngp#t)XNQO!G;dsc7.i1VY
+ 6f96"g'Uc:afpr=V.!m"]s@R&jsSnUlu(I\q6M4t'F4RK)4djuCe_'(5S&W%21HiH&"RG6`
+ q8csc)2l0-:\iRN]+uebX&EIHD_&+M(G6-U^?o41?l$FL\c&lI(,h^iiq,GmH)lg/6I$
+ .c:Z6uro,A?GHN@r5`ggJT.tlBqSU(TZF18#1_]s]>(]*7a^?h$@.+V])!0iL8Y9S,,9TrT
+ aBcTc5R%!NLiO8iRL(*H6:IHTl-kL8hbZ&9;0H0*#rjK8qldmd/2/3u;s6[;QnFuqng/#V>
+ LklV+lUjigL^]#'I^n,.e].8]@:;d:Y;WIpVu_&uZ2<^6Qr>tQNg<.p%Q@E,i76W]U,2Duh
+ 7LsN_DA?4Xq*\fd(]u/&/[04:Jl_c0c>Jeb5:q"9kNP*R"ndU^.Bcp)>4EO!`hKubS=#+T`
+ K/RS*ZB2g^k>3J]p@]-?Ta7S06S'T4_W/eU@T[sX,_WP&U^AO/8Hn\$8b!JJ/"g'"7/8s6cZ2D9Wl#YRGk[0$3"3O"6,V,<(T)/(0dcU\
+ nr&sB8jA=+F"d6p5pK"t;X>@B`2`ES!Fp(?&DiM<%)I=T6!'AN3J7Z-V7BF2L.G%4mTE,)o
+ CgtiYaSE:]c.<&^Sqo'XiT&/&Vi&4MbnC]Ce,Ue,.dUh86Z,'&qYC9@o`-9b2q1D'6R8CkB
+ JO+KrDA.NfR1I#AEnYWcWQJfCt\oVB=Q/"BnN;D#;<`Y]3jMA!\G9k6hgQ@h1UH7o^m7*Se
+ VtT[C*EfIO*3Olq-a[=[)8U&)[($p%sMM*q%aala)eq7Xh`@a_+,$9HJOqQ>lXZC@Qn--;i
+ 7D]mI4CA,\&)A!?Tc[?ND:FH]fF*TlPJgDMpa2&*I*-
+ 8Bhng^R^Sq?C--2aJ5d65R+jHW27u8K!Ht'?YaC>1%'7.h.J*U-!sAVV`2)"),5fal(]N+#
+ 4!?p48fg1Vi+)bQ2"?!Unr9]DHWS3`%8BAaaN
+ 2FN/hT%#NQutuo)k]9I!1t`Q6-)4*QS:g5_
+ MaljX@CBDm>)8ctSEF\HQ8HFr!0e54Xm*H/Vm>6CK?^R>TfOX=*%AeNd.HS#>a(ESO5+o/!b!-MQ^
+ =,e'E\CY+JqdIBqXdt%.5J2DF67PHXt
+ Fer2lF5mnE1iclR)u4Dr)JmmbX:7j&BK%A?/bEhRiM8?!JGB4klUT$Vq"Toi8SaO!fp(9eL
+ PVhV[JAJ'#s[Q&IWr'N*-"V'.!8:c\LOpG)KMMs)H(#1URD-Z%*K2!)&Pe,T9B<>k\BEB8U
+ 3l&nkQ"9pF"=A79M@FRSCCAJA8I-_?,UT$
+ T?4HUY2L)s$)R6`NST"tj]9r=kS/>nZNnfcm0*JTl'SY>6:6_(O"JX6Y[W>-S*=1*D^^5eA
+ 3^K;QSATDV/Y4).S1QqSE0FMUm8hjdcfUVj'REI.)St,IgnQfeT=+/6,3#gU"7ugmg++iG\
+ 7WU2dar)@)^G-F<*Mj`/5:Npshu^)`i)fQXB0XTjLGcGsk&Vc/fa8I\_tT?45ZrH4il/ML%
+ '4E*Pat+WV=62LXQ$+Q6ae(XN*=K,#^\P4NeJ4a:"5:,-NS5f[9\Qs4:$q=SKUg\cFcNA\?qJUds
+ W8T51X!Y#\@+9g.)7nN3eX>-o%86,H_%s*hd:c?4A<&l:0#$B8lr3Q[dA!?:Vlj\SSd$8)/
+ ^np<1[>L*kW?WE%2O[;[iJiS:Oca(u4>WN)n]NS0Nu@P-Y-'D4\%:?B^#jOYb32a5?[?GA@
+ ]J4pXQG;W`\&G_X^&qXoIB-nkTq&M'IK;`7K^<1/!EH[Qis?KQo*r'>%uB$NA\?qJUi4"8X
+ dpBnMr'Lg?sH_i=WlZ$NP_*Z'9t3=MX6*@pV=nV%&S+574-)!tG^E,R4P:Zm<(G97@GoNm
+ /7h.)bMmfo/g0?te_s98Bn@HOI-4bY&[ps,a91YHf5Etd/piT'GVO!Ngg89?O%K0rga"J/r
+ "&DRF8M#i2j-C%Z'Fm1Ua2bN`-!\m/d8Qkuc%o=;&8#oC8f*]0?T?l*m+RCaN?j=S$L%9`=E*T,12$V"DC=`Hh,j+3JS
+ :aC`C4o/g/u=iAXoW:4iACoE1r)jQ9i+`sVceA??_@E$!,Q+CjN6taP4e\iL]8?^Qaf2lr#
+ k`j5u--/lX0cPP>)J;H'_:>`>:m=>Aqa\Ni#<)t>cqaH^
+ m[f:a9U8;[\-BH+@N'6=/nFY(q?-Mg-qTYoaVUN2W8JfOdg"@I-)=qb\+M+1%AE0S,d!dXO
+ 7qk3Drsq>!akr0h)jYOeF)aEB:ae0U@39p)b)urWZ*a306Uaes!HdDliK#?4]dI!PT:`;@T
+ F2P?EM&UM=>5Y?dY]s"_PYcq6ErPg%k*C%WEfVMpC"+J/7RuMYQlM7\Wg.KV?WuML=
+ [[^`BeE&ob)Qn^#-cjL.9a#k`c1r!!*).5Sc[D)I!ZToj1e[jNuDS?]g_32HA4_BGkQ8.7:
+ #$Hn3^?]RbgumDUQUY&:BQ4nR+9$lffq11O*WK#ja*D^9L=
+ >g<:'&+G32MCD4o423LFm2FpUP,^)%)41Q*;UCdeCj:Y=8^&[o=l\")k^f74YM?4j^tK0e!
+ Y#\@?k]V*Udejp!>`oi:OW))%],+U*>a*>Q8TE(1=Q:c\Rmh?ja^a`E.1]9Mp'#To`2W%4H
+ $8:P^deBE2ap?bi\H4@P);E<_hi@l*[o>k@Z@R9f0t.(N!_>1pnL1kl*1l<'n
+ mRUSdb2!sh4g?=d,MM6=8B\VT3G>&*$Q!pBfMZ*i4WH4S49)7)drK_p!kik!hbR2rEdQf]X
+ d0BNP0@!AaHPq[r*GEe"2/d6]!1OoGe,)jUBtVF=&RZu"bS=#+T`I1W\qbAT=aQi@dN3\:p
+ %CQ"?2ss>%7V=P1ko?UIc`N@qAOmM/G8$tFKXmm:9gURaWCo^E1"rRlqlQSbgZ9!JG)`0h)S(]a81XS;-_I?
+ Vo!UL&N\O(&m`>o.^V9W"'Ds`6qBro"p.@HcYGDp[G]`8$\)It!jUWJhbnse$/&_2V'/&fhp,J(aVnR`n#)YV
+ #M>`_JV=uR7+VOJIKqF#r8Z?1jAPs`f)rC#]WbM%,d@2b-(`E^BIV')k[ZmeA2CTU[3u!Nq
+ 8n]N;!\WQ2LdXG"XJ9#C!6\En>6i<.`BW*]sTH0,G=:kOgQFLIaFH4UfO(DhK_.;hPljg"1
+ X=!JHcA[YR.THWn6;ROI#ib78!=^o?QOCYa;jq0->MU:Z"TalUq1(T1g%BQFq$68a'&\#>Y
+ O5E9bq-WN#4N^7pcJ^r'SR:%A@`FX1m5dHYBqH%@R7\!6IPVtl,6Q>fE9_nr;BqlLhk/Cl'
+ QXN_0+Q8Cj"8S0Q&n>l8!L=W8^?/5JM_8lJ;#JWOMa\Qq32f&&]+Z86=K?N/pGk/ht5tL>p
+ ad<;I)PC\/ljPN8b#D(.'mIC`*XU3i/H51
+ "0[m);2<<.qj=aX&#paRj(c]4sO:/7;B][)8D^lm,/28R2nBG*]VN[Hh
+ VDR4>F@O15Xo'If6SOrVO+74<,")!hTZ`2E+nn!X6E,VHN?/2)KUV^8h=N9&F+:n
+ O$:=G[21k-)B]$q-7V@3,pDo,iA(hnJ1ibE@'[Gu&Gql9aiVRa)db`7Nl"`nD$O.F=G4UfKeaF9i=EQ%qiTAaP1HJHcA[YR,UrC,BN@TNNJmZju5
+ m[A!]m1\'2QNXJdkMIr=@O9S5XB.pGY\X@f]";"NT?a>n!&H)MhGD^b?l614"bel_i.:IR\
+ =,56]B:gkg&"Vk8mtP(P*bJ_3P[ho`,FHIP8e'1UC\a_p%4`k%R/,RbUo@DtXGY_\EleO:?
+ @^=Q``s[po'#\'lZ.lRH3l`Rqs0\%mhr4?cmd#DY=";HW-Nn6ciC2n"-g)uW"!pKSC
+ lI_Oca(C/=B]kNa&rpCY+>PNeMa<3%LFo9MA^7r)RL]e>iVIpR?tT+;t6>\O(%B^0g*sOt*A964^F[hFd/iQF.Mi"WAK`^aA8
+ fW6n]V84D,4o^M_%:\c+G2jiqjr=IW4H@V=TMp;Fkg@ZV:u
+ ,tjX2=C5FN0G`g0i2lTX=lJGnJ!'iI0[9G;3Wnm@jNtaMF0q/m:k9s7%7O`MB,dmNm(?1_P
+ af;8bNi$>Fb6U"c8q9W,uqK#Jm!F$)upmuL(1>J/FOIc^TMSA-$2Jr01NG-^;nq84TZ'(!+
+ 6IQY<[!=*;cmjQ,dDSX[pPAr5[=q.3a1heS"EabIAf?H\rGBI,j=D*dT5Hc[3MRXlKYoU&e
+ #]rh$Z;I6f2b&+I[gLOAU-MRKtRp%8KpBD_;@]=GIY]9Y,HW$E^m%1.<2hnuYp7jSBEN\af
+ KOLl_((X=:r3d"+j9eL9a=+<\.aW(][E:DG)YH7NLKa.!ro_8qJWIGe8cRMTEOZdeiER5dN
+ !'8kFY+[OpN;7dM#/eH3"5Ra.o9_c$g,#"/J5pHXMCA3!
+ 8,6Co)P>T!Q%rQJCj?U:&A4h\\9m`FCl=F4M6.7C!"\5VB(%nVF_t8.2q-UF\B5\]O>6tS"
+ !']rKWX>:HUAACY+>T7/YG&X8(^6Cfnu2X".ATT:`;@0CZi46/8r_$PptG9;W00;"sD6kb9
+ DLJR`1+H$TsnM[gj.GZ)t:1<76o*%#hh@=..0.A%'=rmsB:b1O1_qeA4aFN3:cFqq->cMR@
+ &Zb31qFq$^(-'Plo,-ebdNE%HOhY;gR20D&m5ZQE=a-,OI"!7S["#T-K)dX\e4iUt)RR>.6
+ p<(X[$`q%g,L?Dk!&h)Bih2:`fL7rM]",HIjjOgic;goOGB%nQkg2U3/nCE@_J]es+nI=qa
+ `"@faVcsN=SM7>k[4=1-gMSC_k)-cGh9)/$-,P"5+Zl/VrrT$4'+3[6MS%
+ cV6%AW,L?Dk!&ft6!NoY9Uoj$/DXLP$cN3shGM\``)q!%@VG)9djHOi2o=HPZL!8HS5I`K5
+ has$'Q?&[u;o_9qL@OTH[6OF#['DHD2X9T9(+p#)hLSON^W??C\=BcdD,?!$dJfB8ipj!k9
+ L=@9BK[=hAJug=N>VetGuLIBGWIUo.V_%\07[Oth,cqF]N\=,i=Y"\no[B(=Nn`)#1d,E&S
+ Q[p!1QO,!-s]dc\9O1ChY>BF`fE!V;3a5d)G*T^.d7HEZtDrhBF.17ZA>[`Z$]@$[4;n]kF
+ 'GjH)d:BdX@hj+
+ g/*W_B[]T%;TAq_)ZQ7,o2%[SKUEc),E3QBWd.O6#2"%C#dH]hT^F>(Zp@VYf*2ql!LWTUe75iICK1A!1DY?tc>Qr`(POLlMd;UTpjqtI@[3shdY&3GcUZ+DNQDdr);E#<94Pu&tamE-sh=l[0cFTlY0/"cn
+ E!,Q,R"rIpad_0ud?XI_8S"$HT",r+`;jaK5`.Yn=E[AcPc^2f]@PiOOj[+?/
+ 2)VpdMD-DKI!k"jJaRXXO7(+@jf+MLcc5Br?MV1l7et`MO`OWOTgtaV!W[%G?`ui*9F]-?$,OQI%nL."
+ `rb3rOYO&51u+"G$$UH3mGGZSC?kZZkQTbM_6?d]9\6EXH$K6J.r-s>\7!.S`5K(=YEG(*U
+ E>o]7cbKAJ9DOODC5=Mr3j>R@/Tet\p*W*j5X9?ZBmdroB$=&pV-R2]eEJ1FpOICUHPE#Pn
+ P+KW+SmbWlW\io/g$UHC_Xi6\c.,s&d9=.m^(3q`ne>H4JT-/!5KqeW=%/.0JV_'$hYEZK`NNM/.`:+)=nchBn1&;a7Jl1p$VcOI[`fS-:aAgJ'.5
+ M2!O8A_Au'6TC=A:_NY^1o52m#J3cJb\90JRN\nuC%p6&Df"HE[@t#d?C[0=JbNH"@YUtjB
+ (Vl/(d/_e#>='oeDXLQ>dC-c&[\[$Ac-aCI0U2UeWhXFbjV7"9UPphU]K>b=_-W9
+ (u#UGT"?lQfn3qBp&[2j]/0)ICOj&a-u@a7)?HW'oD&+%n`-5K$C\oGp*ln?Ap=GTrGl6?H
+ 6_g>k?8dBZ1^M.5Q_,hfE<+c)GT>p.EnYT",$tTR?E\O]4XpKo(#RjKGY:5_X5![mr,qShK
+ aD$1,:aNq;dY"k#1?N;)tMtJFXX3/e?jLEJ3)D&Ue>++GI#5^*"]^"nU2OCd[!'Wja7?L9+
+ hN"`Q/=COkR)!df2UR[sC#2=IfTMaUd+V+Y1/FtK=E:7k:YG6.LRAF5*=J-H8ZYR*-O24E=l!0N(2d]p14su0&YgM:?0/`2b%8b\L:fBStTKA]%AB899ntF2_R;:n)@pOgZJl-\oaeUB
+ d9r(V0\e+992(G,LT>9g73IQ>u!+i06B^=7fYA2!.]4
+ Y:+Ic^I#p9qY"@"DA5kHt_[6`7Aq!*TmAQ_I1B^\KVA9X1
+ DG<8X=4AMheU87#LRHa7c.'ldM0['+D`Oe9I8Uuhk0gD+em@R#Ui&ug*k
+ *cuY5\C30ge2`DedZ"X1'@@"@o`j!]
+ V7NIHIs._R?iBH#&sM\3;nb*_/p?CG0eM!Mj30!8,0VjeP;.%uTM,=T/?e`a(ZDs2bE7Np;Mq_ULHkU9KF9aWf!.[f1ec8.&&";[MCq#LV9
+ JgUS8ZtVU&hl?C71L2sg=KJ-9,CYi)IWGpr&]u@Q!hb.??^C7Gj*L?(G95j4A3d#%1m,hb\JVnf\Ofs
+ [=A3?WN#3YUDIn(#/`q0!.H.NG#?SWDXQq@kt'sG:79*aTP/7$'B7;VC?=$qOn#Nd!)C@&@
+ rC-kMcO]d'8?,5;B')AM4hbXH"K%&k)\7a%f#gDEhDO]gppTu[F4"$J,e5F-P`d[kc)Ro/`
+ [-T+992(:_hJnbQjqSrr2rfc9(W3KDqDul"P%5V0(&#S_RAqd0lgFGuip-8iC@50QU`16TG
+ U[XmL@>hR;:SJ&uWX^l:R/hcR@*$2lb@G:W\tR*l%np/WsmmL1q@^7'M([26V-=D?"(RqU3
+ LD/R4:D5duLdR6d"3[QU;N%W?kio]B,=d_Ysp%8Ir(C"TT<^Jfd3"8Js=8[fRTGmD0$BACJ/N#PpV)IKsukoOAVd-^%'+$_S
+ R<3X-NF_>u0oJd2=7rRG2*#A9lL/m=i9aA$!lG$tS`/!'od6%h.!N`u](XN-_!)ep,lfa:9ADmr,4s4^On6Lm;f;%$P
+ +&]"6R-pBROZ..tiL^AH%o7#5V.nS.=N0!W]%Sm$U9Z<'%pa%nPFs//IX9kKBt\D)?^em5,Y<]"@]ZF)r(V/u,/tUlHkIt#bC
+ )Clch(JD=];))`0gI\M::]ci>p=:pd^#$*i.O<"oM3tD30C)8VPQqP%NII4HhZqkHhNs
+ iF649GHsusf4jO3eYM/+cXOj1`LhJgH=2h&$E3[P>7H8er?3=-gqi$jNMB_#QXi@DJ/"emJ.beD5s:=S<&u/PUa\S37*\W*)/?+i$j"nk.9lskBt
+ PbTY`@H8f3Wf`(V!MI=:lAef^s^Ye#1ZUh#;d$qW6o'e&HUhICF1S6N14NL-IXA,(atZ4*J
+ j"f9\.?_1Di1EH*?=It.Laf<9](rV-5P-N@#6-*LX
+ gRVi9Ddb+%MB9]K=%Zd)LcSfPlF9FbHoJ!WF
+ !W\m8UhG:Q4-=BATj^3d*)ipCLn(/bGUcNW&Q"k+6>R`d3Q6"c/>+p$qXslZF6N&[IeiPGD
+ OWQ\p[?FF%idQJbEaa8f=Sn@^\R"2ra7dRg\1714)j*XD-X_uO\YiRqsR63qEP#O5EV(j^:
+ q=aY-&fe*e4%8T4eaBVTC-c?VAnR!:WX!N,<
+ HGF@OA5Vf4ut\+ul%^!IA@Os%Y"!5Kq)COjJaaNuU`>Na'9Ci-PJ$^sAn@S/'1NsQPTW2ehmB:<2]Os4:=?r+)`E_2,@-rZ.J-H8ZOFhno%OLi
+ eoO'Eb87=E9XTiI2Tb]`9QqKn>'s4`k1=Q;hE"ssYfKRa\9l.F[qXLZY0N#2$+sOP9nS[6u
+ *>fX7Y6PmW'#LV_a,V2+h7GUq/ff?:!Q(,oLpXNGqCUN3d;+^`5<_4nS]e`erVCZJb*Xnn\
+ 6hDpjHH&kD>N4H+27X?]@jN'S#k=VIP"F;\Ffj$"I&KY7@g\_o%LKeVbWe/p$,Q2rqbraks
+ D-+fDun3L:+<>Vmp\4\AO4.5!XBq*;*oI9CoRt
+ "JmJOs`Q"kiJ`Qg:%OqCS\CFl,*;hcm1P0IU(W$
+ "[=L5F@i+h)l/qEjQ`b"N'lu<5A4kDQS'Dm-49FTVU5>Ues8MtN$Q$B:@)7Eur).ucQ\Gnd
+ d_1!O?XI1!-b")8EEqY]Ycoh?\pru/l.kI;U=]8$M_AC_kp9D4fT#T0Js?EHg]tW
+ @+9^K(]]p3,mW\D*k'ooNIuLrV.MGM4:!(8R>e%B<;"aeuiV4DQTl`2-b-V'0VVHN=+C3`tlGNQ-?2$Bm[i#`":rGn!3BBT3
+ 2Fr.^Q)J*Q8YJD56gF02N;U5f$GJqXSbUr5f',-\4.d)NY>9BZ](c/$NL>'LcZ2q2;/ec>#
+ VMMn@6@-rYIXJfP`B?j1D99[gB'nOAp@BIIQ2Qeo]J61cE/46('o\QN-Pk$Wb@@qPeZhgqtE*sFD(Ks8+C+Zj6,t&OlOJH'biLHj:kIt:BNHJa5e`4DQ(
+ O=X8s)2>9RWGOA=fpiZbsTi4soaNus_G+16X=S7/PDpBtgdWcWKji('TAO<%#0"TV'oRE3l
+ kbQjptq.%6r")43hDmEr47]L-](>Si0=M
+ DK?SHs,;cK!BO(V&+?G?>MSf,hM^[0;^9kKf>H4FV+0'*SWGOKHV?B;*C(=pA(;j8`)L;FK
+ ucKG^T@a+;=!_op<@,Asb\%f(Sm0.GiBZsW0b3CS#Qtkqdn>Wgc5Q_,h8>/Bh+K*l!s#_O"
+ 9b#J3=YOF\Ml]#^m?VCBY$8Ag!hGgme^JSi-3*56"Uequ]D"8Pa.T(sgu;1"7A'AMG]GmD:
+ )suc)9+g7*PJ3:l0@-=S++i9+9+Y0KUJ;BC+'JkKde^o*TCs2]trO>]sWj%)aFU(pK?%h'B
+ *ro2^USo9HYVJOlomdDmB"&0,..es#.WV[2/fCV:2,VJ\A];c-HC]s!opX&.%SV?IZ.2/)S4QnnP-j]&OuB4+"-fuP*mkB
+ ]]7CG,Yf9#n3M%V>>XZtE"X!2X=f0fP;'"U.U-%1R,k0!2<1i,a'8RI[GtDh6/k(%.k!q4&
+ S\fcMCcLs.2YNb7C?bV^*6U7H-V-[LNP18S]8\Kc\\RaVR$k5gIC[nJkbXa8gBjl)n##P!:
+ h2t%QNXHRIL$/oeSXhAQ46KSY8PD;=cSohWCkCB*b="F)@C2ip^>>t"C14bNSUZXNLDaj\3-Vk%8_/DW-oRl6UP9Ycm5ctR$@4a\$MqYQc_8/#pSns_O]B5+&]S9g
+ Q%;#_!?QOMhUhC.+[J'dB"kVtKbs%$(CC%KJMOU&g.SIVc_"NuaY`KY
+ OqepJrd\11.iMc-,t(Oj!X-Yo'-_OJ2c5Y't2YM6E*]T_5^Z75&2
+ cGY:Fm#^$[7G[j3Oi=70cb59enVtZ\E^]K'I8"X-nQW),^$b^KZ=dT3i'#9;jNJ7J5E_HcX
+ +EB:hbtpbbAdG?t9n=3jq7O+;$rB/Zd/ZUZRS._76:ek#V#c_sNM"837ue\kPhjO_b"sT-M
+ CS5r660/N0W-a<%C3.X6VHIAe/i+&HN=+C!>ogTd8VqFV4OB;0u&&bNJ3X:+@icd9LUfQL4
+ I/%%'anp7g.]t5KhCS+=D>JJEEKfH?hZBSc'_FNeNnrk_4BD`Xtki^[S^UHjac)JFh3cY?n
+ i,:E-3--hlulVV#'tH!b_dE0LG4"QhrOP`7cE\kLF8em8=V;uj38WmPA#@&V]YWH-G1I]Hi
+ cO?YuX3LZ4CZ98q[XeAchNN&Wa:eR[Cn0oj*&nsC>`+"8._JTf:+sNh0pMR^ZhL)=5K41Oe
+ HXA]j=.og8(%ipJ2a5XP?hdhuCG2/aLbI##!U'7QaFOHLl1cDh*ofF::hHi2hNE714O/K]!
+ cuN$@P7(&YkCC"5Q_,h8-E'$eSE;LO@oHEUnd1M'pW*+#oXq,1b6fn)-J[OVM[i.Gr*RPUl
+ +Xj.`;t1Zn&I>A.>T?"8T4*mWZ&8jH,8&V-8-g4RW-e6jFJ5bW-[]IjTIhCG0eGooc>fO`O
+ WO!<>psa?lgpP:_E\49O#lp+7#E?<.@N+EB:hbodm,0f>hc7R0ro5"10-,0'bN>tN7MF`ef
+ kp=4TEQIKO.?![F6@:UVtlH)%A0@]/;`oVX%`BeFIp&Y5e!]6Q"kg5\-80s^$"144G[\NEo'pVr()B
+ d8ZR+G01MFKim'Mp_If?273p'81d_M(9VN`9N`'GY(+e7KI:)EjG/V#`+9IV2P/oDM"ZQW,
+ uL5[_m*kaeUrj&p`&$a>Ei!'halFf<]T%nJ"8;!#$H0bt\#4Q0,a?iSYob\JV)73eHG$>;g
+ qaJ_tRhKWO"@Gq^^8#e:kM@-U&:5$ZYMqcS=dXW(rNAIQ!#'^+Ef<.3>5[Y(T.G;58/ZgQT
+ L:%ft!#:#jLB>_4VFBVL;Mf!AT:PdrV3n"*bGn)8KZRiMCFE(L,G6%a.%/KXH$k##q!h/Mm
+ iBe#eJLJ=Kie\MSq0W!N(bi5=RhI&\Mp[h7hNbo%Bf>m:]b+9*$lt]Q)tfoO8Q#?5=HP:!$Ro`k7$M1nX.Ck6iJeNn:N^#r\2XCDiAaPXh7ta]aIS)CjR-;jS(mXbKVK+h!6Dh7p5S]_p@bCf+Kof0HI>b:,'6&FQLFJ0jF
+ 45!3^(CG0cqER7pVpLU])!W\kpS<8M%HHOpscH&=c8'4@qkp-#1>[
+ :Y1SU@]:)PCan6Z]SZFjY68Z8VUTG]H_&X_1V?jJU9#N2k5)bqmR),j27mMKPqu;$/XVo'Q
+ Dl=A+K:*GEZ4W'jR5rDJFpTUIfnBRjZ&0kY!?bC!0["J>e$bGY:a!Rs8IG,*o1ONoldU!
+ MDkF?F9sCa(=b/_eUshu!u0;?9f=781dFo*%FpghTUIecBRoKPD$G4ak(Z>c0+&BplG!2(n
+ jI_-op0,YPm/dZa&n\m)9CM>>sS/[p=D1']`8&2!,#gclqGRCp7KM?k2-5eGs.Uer?2ms)n
+ SY>fC>7978k(mS'A!lQIE1<>C$%BFS1HG&H55JN/F?YRbTaI91[13L]OJ2beF"`C=E6cm-L
+ YT-q1GmU$94EC+iRD!iiMU1(:E&XsE/gM`KUF\hAQ84So!8\t!5"Pm/c?%8\sG\inkms*N=
+ '!!#uK1U7R8-=p`bcfKt=L_)Vjf@QM<$">T)FEd3>k2n/CeqBFu78k(mS'A!lQEt4"FO-Or
+ FS4k]"oOLW)&5U=1q@=pQ]RAE;e^0>b_jX76NIYapTF=2(#oY.gpR?sf*4c;r?iF5sjZN
+ \f:Ki6Z@6f/#9$XA4_mm7J[*@tPbrI;#mPE/
+ t2jl*E>$=Tn\=8t's8IGF[-6]WgpY&'O[!7(Wn6Jq)*2jN5?$':j6@h]rB^;Bn`-79C\daM
+ QB^atNjLm_X]dPHkF#&d>)/u.)J[`S$8>@H,G;UT.)QU#icJ`/aX%m:],XWcW;H/;b4L,rZ
+ 2CI]@"+OQgaGCV4!L'"(B=GXTSG(OWc572VM"uLV)9==F3^6/e>Zq'Xr&#i'2F>Ej_a>>qj
+ 75h0Uo3?MNQKQ\[=Y(eqX'4];Xp,+!49rVqnm8TE2pR9aN],V?q#C;FMh'\dBk'&<"t[s82
+ G;'/:e)c_0^L?Rm9naTcXj%+Jl)*IWAkCG,Yfl2[i9)GLM?;G4Qlc#_063ELN@U*Y!qb8b@
+ t"6@1=jku%pY6JYmEB?S\G#GS+0dY=GRjP3W8/7,7l7/G86S-BV?(&_7QH=2"TM/2VAZh?2suTJMK)J4_,`&N%&1#C.Yhn&$XL:Pcb%EQ=f"0'l&8H^
+ R'C\8HZVNZcL'2]CXc4f)R[BC2X-;:d])g`$HTh3c*;VWb;N7@f^-X@Sq0#]gAEZk?:-=T^
+ L!..rToCPN=sF+[lF$A9nI:1"NW'6K;$`8M6XEQF.M/!-NfcA83qI$qMsu]kdTIR+miScV"
+ *N=L9pDULjEV0Qg=Y&Yd-r)4?3CDM*NfKn]e0caLR%J7%?jmejN?!'=pR)[$VW!(s2`dK

"L[Nn@3`R.14]1)P@L<7;Y70):."E!.[*q-8IHI&dG.5 + Y2oBRq/TV#N5j2g@r3O[2)VpdY";A"l(n]5[Lj)pFI',62kLc%@+a]2hUg#ss]=YS`-0"`0@`4Td^*S5!_=)Z2T%!$Dk + a,#b9$HpGiD&tTOYBRn1OX>E9ReX.MQRQ"7ci0Q+"]Y#oPfiJ3s#BaD9>'VH@-U+&bNPjf= + @EDG\;`Gp?2]2T<&S*(aUT%olWqg229$dR#UKMu+1]iPb.Q543)N$$97a=<29^j:l^ + ?i85EquSREVgbS'X.m#5T.Wa4R6V0"kHu[!7V$)Of?`-U]G5ePcOoV#?[sX>0>6o*((1cQm + &,k2^TGN^0g(_.0WJ["AfK)q_HdGdZ?>QG%E_1-t!^%J235N)0l28Fk0k!!7V$)Of?_^+B= + FN5m'N8Au-A[W5FU%NJa;F"B86aPk8;^rdFPKc8JSC%l)Bh.0V`L?GRmP^nJcZDkBU>,+Mg + e97ir.)89oP"-eA$?]8Ua!WYJC+;:.]:$)K@(%lBE1Nm"!(#9kl)Ba&W/'T1SFi\C5 + *U&WAM$`@Rl&j'1gP15.`s)tIe_.86'bVtWLR=jM[4QSjE'mL!PKF-16]H6Gg`5(941/*): + 'gkX^XODq!Ll=VF>b_1[k^&I=F1&K:^tS6Fm'tV@:r9r!@c6iZ./i>?qSMfX;lk'e020onB + gdB9>RtYs3sjJ<+>Wi7nWS#ju=0d^MlNLP6qP07#c?HH>=X<*GQdg=t?:=aU.CDZap$W:#< + rOXM"T6W!7,23qR$iNE05#hYura$-mQMlptI]rk?.[]6@fp?!:V/o$RX?hm5mq+tOe>CTl# + @5_Ua4Xq5(q)-se91MYDnDDESVF$")X()slaB2:I1pV*W+lRb+ma$91>E0I8pU8>iIKY+e* + p@$mo8rJ^9^hk#!)u0S:Xa6NZN1iTDnP_g"-]rQa5X3iO(Q9I9'OAo&a0VRP06a4ik5_q`7 + &i;@FP,a#&TeGj5,[TbQ6(.3/"2-PH)-ZH@\WPh^%?aeDj6l:7c?V/TJ;eDgt]"g&@:Hqe>Zq'/eL[m7QN(RDd2\e^Z;m"P!t^n[$`C + )-tq&FKC@8Y;:-aJEo_C!:DL"sJC7j6(9MG&PS/dGNAhTpnEYLi-1/D65T\JD."=@kJX%9('n6#5OM.jsE5k1k1m+aeGc/D% + 7Mq[3@X+U6mH(WX^Et7V>l=_fc/g(hin"k)iPjLmu[-1HY`#]b-W^`a%Y0#n9^+OG2B@S;H + *J3\m;7(B=HcTH@0"V9''5NJRj1jd26td=j>216V<&;WqJNqEC7QELZd-kdJj_Tj'oDWhH- + &)'R@&D,n1s<\iYFYd/#-oO4M.Bu7]Zq65u'$.?".%3'6B/2D4ebNi#rIgb&"J=?C.oF?'l + ke`n7,Gk;LkPKsB4q'+MNOd9@&fRF55Qc*djn%&(Db4R."TUeFBL>d=CaLq!)\W[b[^MJS; + ,L1f>[1O,A$Z*D-H1C2IYtsP5M[*d3HU2C7Q!%\3?n[\W3(A"k)tk'&&.f@XL+BoVE?C!o. + eY@KS)S^cc9_;8$+K\/kd!S6cC!'Nc<`=6'FW&")3j!?XLT%(Jc"J1@fOu%Wd5D-D2^#'"u + 2R$+b('o11;m`&'s$P"e1U2!-RF8n``q!Y*N0'MVeO,r(Ig(B=HcTFFo;V?X!UA;-bt6j%7 + ?C2.EqW3*0Z)NE;Dk1Gi>l2Ng;ba2nXSTJ*"k0P]S)qEa!m#2Kp[IpR0lfeG#3Q&"3luko[ + 'I2`h,lIRf\V8q#`m;oa8LnXi9hd72CU/o3o[8E1`e]E^3m6.,RpSYA@+a]2hUg#s83_EH%S033Ac%7ZE=0-Uk;?OC,FTJUqdV.b;[PXVA! + $8@;7NOP*$C$k+?6HA?WZ^^hrSA3bYh@`=6mI-(*i%0)iNo\aZn,(;?HWS56 + P5oZ_c!6e2bHV;<7Q[KS?$l5q)6(<;A^]Wh3M>(aB8?9A%R\OG="s(K=@1,PT2fA2%8\jN> + .OZ+=d@^Li#>PJfIg1?j70NiX4ZtqO+^kn#-je5 + F8JjL0cR6=E:fKa_`J>^,nZ&^nFnfI>jJaA-1::eG0P,tuh_,[N!<_Y\m`S``mhk@G4TdcQ + %ZgrQ5c<%,<1,[c%Vm]t!,;S'aOFnM!#5\3;=NtVCZN,VKtFFfN8gFkOc^%l9B(Mu&MGM+R + G[h'-or%eMA4%1TqT<]Nraup)JaBd'2X-,0R@:dGK-U*5//iBn@3c2X_jU^$>::Te9rXm8n + ``1!tEVV>YRG'/79?20)tue!h%-ZB[?aE#*&2P5=rO\freF]>>#R3W2M*s/hR-a-N@ICMYj + 3n2ck4/*/Y6FLa#:XC2.L(pg\hRdIJ.G7*k-RRi)@mN>rTFc>D#L3A5:iF.]#q6u_3%rV>R[TZ` + )B*@+CQ1en2/iVH0.]lqe\q%Y:?bFq'HN&C7>g*Tgt_8c`rN*5jYUY$'$]RNRpO/5?fG`d# + rD1DnQ'LEB[#rOW66W5eDgQd$lX1I)d[3.1'8!4WLO6T3u>Au[2/fC250(CLGm^?G(r9b<$ + mt+ARj\C/O?((ml0cKeHONa=@B!bU:KDZIE!neo9CgdUIG^Qk0h^:\$J_o0!V[>HM2H%GOM + #i]&(m4JrY?CRGfJKo0l<1M$\BIF7%l"&![nN]n"iq(cLpiXBP9X]pFKa*Q6:J2kS"F70*9 + g?XGL9r)7\h+!8glP.fY5St6%K[R./RhPu8C_TtX=FO[Vt[#L4fo)jE\-S8T*V1od)TZfY' + F=P6qDp\Q<[2/fC21\G3C:)^@p\jaIdD,ptGCBT&:f1IhbVQd+;mg*%#]L4%X]!??Hn%`': + !FJi([QoKU1[,7lE4@#Uoj$/DXLP$cN0?g(K75lOgm_r9M@DdQC#(_GOJo0gO.,;/+d"Ka+ + N7e'K#(4_=qZ=W9=m:+&?cep[6jj*\*lHi,B.peB4o6!g[745[XghCWmG5&)=c@R^!A5D0V + `Tap^*lViik&'hggl!-AJmcNAi'Z@@g6]E8g:bhB[S)`0fKEP80ji9l(@0or^e^bJ[+p!Dp + 5D>1eXm>)3NPU`,j0@hc.$*-J?/hRZU,$mo83Nnfml-b8ep:>EqaO9s;5?E/FU*]Cmkq#n; + (Od`=XJc?E/_/%\(SuBdOP51&PdN@)EpVfeFFqpZo7Uc>ljI%>dK)is][-Xi"ra.5Tg?`TR + X3Ok!!(LO1dEo:5?cb7?[r(>)i^2M']e@C"&obi($Fh@HuXpm[3NIA'MVdt`nCe><3%BH1c + 8XA?*FuCM4Q;uG5MAAQJdt0!K*0i<;+Nn5[N$:?WkeWDr*$#EQQDi;%8!_I'`)>[JrtaN/i + ?JJ6l&UA"GMo@FE=l)*6^FL)1c$bWl8P.eN;KS9"ZqLHm1A24?4#g>:*/P+I%Ic"G%qcgk4 + ':#LMp*bP-(=f5;<`Ht_i[,/N`2faqqe#oYum"oTs*_Ug..Vn=:85,8]_pfcS2#(&3oKL^(E/sj5Qc*Le870%H7itd!!"K9 + adL4X2XKV;d_;`_.\F3$i9jsA=iC0A!rme*KLO?j'M\ph2QHkIc5EU1I@FTdg(DkVTZ\b7/ + gqD[YKgQFB!fH^HS'd&#S*HMr4hAB%Bq*;W[o^@8^@S@XLMJ5YH`pRci@V])PH]3YUp=Q*< + 8?;:g,2$+9ds6C#A'>;TIqC(K[U\PGq;:'>62Kn>tAOfap + ,ml-A8\/:8TKWF?-0L\nZ>hG?3@gAf;lO;,?/^[-!d)G*T'4\2IWPpot!FFPia;O\DF$l^$ + *tJ?RTs;P2ci@V])PH]so#6kq'(]4P!<>qNeI'Jf#&I`p='F'5j3d$+B6hhu-Dc7C'*X'EX + LaKVGZOL'ACcckc;HiED=352^no5hD5Y$SpS/H9)^1FQuN)ZFm;MaKuIGKVV3 + I.=]6=4QBo7EOqVMZQ@K1<3Xq1?j5!gW?A?K&!*2q27EI!`3XR]/R=PS+4OX+$Uqm4M0)tu + %7VS:3J5)j#8o&?^423L)[E$qZTXV-rTFs5pA4,d@?q_J92,p[fNLkK3j]9rmW"NcoQJaU8 + Y;WJsR^)bE_ZsST);T?q1r-\mij;4IUSu<+GQ>O:duj02XM&Qici@V])PE;(>>q0ND^&sM! + !!!I'REK2]/!MNU->4N>(Y3'@B?Ot)B^otBo + bAXQW#HiirK-1^.BdKo#6lq]l4f?NOPkWZM$UT5Qc*@%7QP;7aGZ5"TSN&7<>r8^*GZf[E$ + ou/%8CmLp]=Uk)Q]!DrdF_Be-EhS9haEFUa0BpLS,3S-K#oi&pEElcR(R + deca$'>5%\'LUUBJ'WNZN9,H;bI@;D#'YQEg"df*pp.cqEUuqYa3d@rEH+H;7RBGYDBLTSc + fra(rAPXSU+pC2We:?XF9TA<1->V?Hf7Nb)NkbIJ52hZq51L']30I]!!#8A1fg,"R^OERho + +e3a[f:FODe#(n6N8u\[3kCHgn-!L.9aSW!3[E/9,^PL;W'6EOf[2.Okc4$I[DP'+trO!4e + c7:%t1G4Pg%kg04(b>q`1OpZ@aZ4P?>:!*GE\#,`$rY,Xl@-n?+LQb@hjGf[^)C,n'^-oNE00@W=ODb9%X/jFdapJI_ + 1,:VJJR$RXVL)'^T'h(q6\@sh\0N1.!.bX%nt)PO)=MeZaU'dh-]p4OQ0T_rXM"T6!2)sJ% + A6/3iX^a9nGRD[9%CH?+hpXIdF<``@(<) + aPJ(Dd(^TY!qmSF/Mqs/)Y?@>m/H&5>".-\k1;rAMET[20;tWS>nWN,'O4iUZoSI5 + Dt5^oYUQTHBNDr_lhF2SCm6$g;&-c4p5:0/GM19*G!iqB^%6j5gX1kEh)D=T'AVP^5FL5+F + 9>,0JI%HN-/2ViGco5t#%S"'4m>YRG72#r3!Tq4jKQ=SQQ3/e9,J31b3em@PDBRnC$\Y1ac + a&po!!!!#G!]8?!d:g7$-uH3^7??6=G5YOYZL#E60YLh9d"!=RhaFQj@MYu%ZR'(-i0'f_oA&q8#373`+,rpo>O[CB;6&?M%=lh=s6P>=fd1$aLK; + 6WJ"s[Q8,9nq)^k`&_-8a1G5X7T(!CX_`&/59/9*,:uPu#YOCX)Kn)JGT=HE+"F^T/uilCt + oeY3P;PVs]!tpl)r:o[O^U,q+;CWfKjh;dFU8P:ps,(5!U"3OC<$+rdX'!!(YdQ(F,MCnut + ^F0Ze1,qP+#4#_+7G.t39XJhE.>E/Q_DTDin]!1eQ\b4qVVXkRi!2QeVlTbGPU1/u-Ih1in + 9EmLB90s-8*9c*U)A("O$31&;'tPc0Q(H*'^6L&;'52Xn*Sn*cMg`H=9GJ=\TP&Xe3Zn[+< + Zdg"ZSZ("ViPsC0L#>`1*+#i!!Js5!L65Y7q"/uDF+'*c=2k;1l%Oh,FA*GB,q-U!/ORCX9 + AJ)13%eSPcjJ/NLO<#Q + ?CNTC5&&39p"Nl"t)N/1!4b2eH2lp)!h!!"]'Y&uGp$+.?LWeTL0D^+6_p#*=M)3H<4@ + V:RGg5QV7cI_!`=FoZ_FK_+c=r?.aEniOZ#g8djrM!;M.@=eb^]:mpTPC+eg#X@7DR<+A6A + lR9[uB5)m0^5i6o^h6n!0R*=noFkn0[&YiL`(T6p`_V$b;RC%+or^:*;=G0336(e'n&k + ^7_ck97FM)XQ`t*=Dk.LoKfI=l;IPi+4XqgEoGBWUq(rBQ!qP!#F%d:b#^/+VSNth5)U4/Z + #0UH4LYl.[qU-1G7_g.ma_R*"[RnYAMD8h)+(I$_X?K-VQ?]6seMk#ZkYs5n;9&DQ+P[Sc) + Y\!<<+#Vd6"?Esn/CChued*$#l**KF-mrEL"b,h'RK4Tl,/5Y&<-aVW4b[9.\aOR"M3.4-+ + Ih:/%&1nZT\#3f9@Z,AI'!H#osLj7KJ=::u**jiR@4_gL6W"1GXh'l6,d@@MJ1\@B(]/kWk,lA)s#;cb(3"b6[!Gdnm;Onci4 + nUBq,2Pm%-aKu[5gK5"u743;&t7D3X[HL:;/]Y!pFU0U,HXu!:)%,K>-]K!KjIYYSL^58Wk + Ibke2@'NHGp8!!!PpVk%$60"(GRhA(g3DALT!;P!4A7tiJSQ[#Yk3f.aFO<3ReB+Am&@#2O + s(Npj/*=->ZO%km"q;N/)5W:1EA^"K"3XX>L=""G>6Wlof/W^&k3JHcG]'!NC"TSP + ;>TaDbZe?j)M9ATk&u5bo[U%UD!3-`Fn;K;+58DY`=;OX>:)`&TWD>3RMt!YL(snS`^d,3XTYR*2%#*o\WB8i@^./+ohV!$/JLY,*-:rGSdL86" + MY!iJ?8@"2('NP<&FKG4i'L"TE#CVm"H'[+H + `7T*p1@ZCUrm]YQW9';32TSWd2H@4dQC1bH;>;RgUR*`q2.Na<#<:Mf8*@SJA3&s@i,>cpk0iW]L&_FFWp3l0[F%RIUG*.g'&b2>]d_QR>o<" + X-N"+gLQJ5C4&#A6'nW$7:rs!@9IROFBRH^+d&6Q7s*l7B$\FRZa$o!%fJ!9j]Oc?L02KND + p*O3f`iPu7Sjd$TnDRc/AQ6B$MpA]UBhd8Q#2Q)rei/N&l;'EA+5;p^#jV0Z45eDBNHqJ]D + 81R#YXT(:ef.X-`EfoF-1-d/W;Qsf7%!Rch-^`rt^9mC,h?qBOs-dO@M2uWf3kpi[X?+uSH + 'W+/8Jrs%b"$&Wqb&[-Zk22:%!'n&KHhqKoO%AZOMLE?ZjHZt[8"?N*.sKZ;H^OLblWE(l. + RR\Q4[Z>-4(KWt_!C7\(^G^Ym^.)u\HS6'8"h^G!/$--)a1b8U[Vt8a8q_@I0VQ?YHlI%,6 + ._""5SuC9pF`j%EN_d6gm_25im[QkbKb"+8UmN"0X-OpQPjL@iY^TerU"#WN)jXjdR!mX94 + "Y3X[J&-57IK!>nUImkrJ>brQ1F-k1u#Z-tH`B!8MoL(>VT,HpI@q_m#&!!!"d^pVZs\u=" + n>&A?oC\G;7q!-#J'ka$\sS_>O9;SZ!!!!QR@^F)]!P&r]uku&crHa\[7\cl]l;*Ih + ;\2A?Nc+1q@p*%X=[R#qV)&IMP5jO#D6;FkLPE`"$ci"U>f=n;$lP:9]5L#1n:Kr6hD1C92 + bWT62ad`!"bcbrju.HPe1b-Hai-J3P',a+ki@>J1S'_d574$qQI7sk,n&$WFd0,jbWeWi6q + VbFQ1/?Mn,FZqJ9e/^fi>P..f;<@lCZW$_h@3(&%],2,U-Sa,g + ">DdFb=6K9^+s<()Xcj"*Q?O\f[pIFbro)"3D0IuZ"A'EBIE#SF3OCCE2]RPq/Dd*hZ=mAK?ok>t`G=46WCr44)_9/,)P''s=#U6Xs4'@UA';!S5;gdS + 6tP.`M`.>n2a?_?rFn;*Q&9!pCh.(R)]s$59*(p+98HlR8XMjB3i&$I+gMl7B"fn-CbhRa# + 9h*2)`5AF:E['bSEIIQ%LQmsG*8i!I!Z^7$InEsn/T>E*ViN-Bb^Zo0roA+lp[O9:+3EEjK + $2mm9YqD9O0Z4=g37$[qN)]Yij=)V@XlThQ$[FEu*#OhNA<7+d?"lK^`\s3LjZ&Z[($9^c0 + ef=,FmJZ-"J%9OW_WfOIc^?TP[F\_HHhOQ/QO'`8+PRm/c!S_c3RcmCs-mr@RIp;R>&N!A% + !/>CPAYOHoP:54PB'4j!nblkcP>ROkP/U>:h1JWp6RNf- + W"V*Jh7^.0nLTV1lW4,6"hACq-B=l+\TYB`JdM!1)-;:l8aNh=BJP[_K=tH[EO!c9(F\%u- + 5h)B+c0,T\!J\mHYk*$AN/)%IpohPf;fhOpO7f3WeucfaW)gp![oVE%dclk=!FopZqAJ,fR + W!@.Pe0-;S@Ud=J"Hj]h%\ + ;cs?7NTe*>cL]Suim88?J;)fsC`=K:Z6D5G@q0TTn6lP,#?tD:H8mT4nAZDcb + ^,(WkTT[WKgN%TaV$Zs4!uDR:HnSBrRqcGpgF+!q6W7<0T^XeLPJB'g>BJZCN",uY[BbHJ% + oRqe#-!VGOOCuZ"`;Y1u"abIBSJ/,O`ADmbG?okKK>]>;tu9::b'.hL"]Sp=Nl^I.QLFl:o + W/cU=o_b/se[Z.d*a]CF1;47mR2G44(l^_=]_n])_m'g%a6>?4[$A!28]U$LO2rPus,Tk/E + 0d*N=eT3asiNJWM>gkTCKc:3GHNA>`G`i`Zik/`Z0go'Z6dncT!H^8!DB[J$l6b.='P3rha + !!!/e7UFcYp#-dp=-]lCI4[;m2i.`SQ(H*@p+,V<5tr:+UDjlXaV&1bAtmBJdX@,'Ih1he= + r%<;#;p[6j1]7O'=1,9I^*3?^$Rd6AtAe*2YHe8@)\!<-J=0Ee*bu?N=M?B9R8$KTAGf=ptBMeWHX&VXdaF-N8+uH + [6(^q=?Hc56(QP]#+^P!(!@].[M + TVYe8b!S`n3YGt!VQDc-ZS2IlXEa+Y++p?Yd!OnQ/#pqI5M3i\lm&T@(kdj-\@fP>p\%d7a + 3hL2Vm2=40(>#3&EQQF7V4EJ,Xh5Ic8.tLCYKh>48K=CTh*[Y'r.>QCE)>F$"[<,gA/(2UV + tgL:"/HhgYH>6q"tV,thjqSE]8$ps(tick?"4[GF7EH]8usJcuP3>G8SWbq5K.bnQOkq40T + kk0BMZmWp3X)kBqAIUqg:/[L3[C(!/Sh)dM"3)Q42Wb_@sh4$TV3]D!<53-7u?DYC*1"hue + bgt?GDOtIi]0aQh9tF1kDTKSjF:Mq($\5X[$^1k-6+ + GCl8Z*8?I\M2k8"DT;WN"RT@Dgm2Eu-K9XACG9Y;Vc#:;gedF + .DTK=3)!]+Z;2W(EM[AmkXCoYQd>_?f=HWV;sSXl>6QllV""K`Piim`@@1&I()ehq#!qM\^ + dm]]F"1JPT+-JX]>5/aFT%0-B;1>(,E7Fp8U>H,\F(R'FX49iD50BqroTbGl9n(I.WG + A)'D?LE3Jh5GZth*0Ec;o\ZI?mp.]un+FO*01_p;Y4ZIPG;m4Yb*=KfIm*\qZZ0u)p[6l7k + *p9IDr.R`h\c+$`XRmm&!5A8eK<_Z_+_5u!s]=Ko#`Ifo&n/\/+c3heq%WJ + /H!<>C'k['j<,t2TmA3+teKHELd^8^BKXNXtaQ0n_#1V^KVXJhE84N\))F(h)AM@>1unN4Z.Za + oHd.rBXUKkM2C0q(_$rbf'Gq%.[>&A.lF<`lg3<2)`DN"3HM("Xf[5._]*O,Trsb^;cC#=f + eQaFE8e[/7uqEI2o^9LErO#'HKeM7,#p2O<2dpGN + qr+^43(C(>3WYQ4a>)Gj:3'mV@RdAP>Io^^rt&I`ep8QQR:[-Q#>%i7rpMP%i:!M+1NJBc2 + VR?K;p;&1k@doRS1Q0mpnhZ!TN.=Hr_#hnEJfQjDJ-H4&kkf@eWp=a9pM8[L.$X/*O87uA- + OXm^-4\T3>WP+Xt3\r_:c>7<5FE2CW8NZtQ!"?9W8kK101EF-O!r%OZ^cRGll+_T@E*AR&: + U*]_30I8=e8SB]E8;dk*48%QJ3?p*FE50b_#ih"9]m)]rWg5OF?SnA + #g01Nn;DJGgA2=RheF^7[uADV(4F%7S(9Zi!_$9^b1hLhX9F+E'8Olueogus,iZt9R1C=Fa + df/:^fZGOLbg&=kjN.8po4Q@= + )&O43ojb!$RuTA6\,cR0bceWX-GqdMt+ADV(tM`NsIGCO/1f + I*aW+OX4`6C8LAi=J:M_Ws2bMqm)dkg12M2@f_*/TX,hJhcWHX!XdORkigPj7f)Rcb[/7L$=UQ/= + !iN03rf82T_2Z+;+2PL=W0P(D0-C?Y3:%%ePPTG-?n.qS1I/WcrB5-'CPW0!m1OeQ`;>&,N? + $LI0r,)lXNj^:_G[YG(m6;,=Lt*nO?h&lW?Q,Ft"GYG?R%1#;TjWaT9gKRZ?%DLXT?1,!rb + <%7P&Uj=Cc(X_VAd$NM#7l+]^k5ESc.N[E=SLf7AH2:C6k6GI=.BinX#tS`;'pAT/J!jS@f9:,d*eF8(W" + J6[olR$-DNC8- + a[/2aBbZG**"oQ[I[S"lmQPWqURS[p.;k[hPSJ6Cnj$E1>2SI-,nm)YN039=KPn-t!! + %\NVlH?VK!QGFkXN'7-3a(#ZuE."BtBV!b;pD)\ts/'g3X,PD8kZX+Pd7E>rL8'-a=.L%.9 + 18?;6[3H1/Vq6b'l8&1+o,GF,=37q&LSj]b0X'g/:L4@U"M."l>W?mpGXqd*PD"!JuIaeA + =sj-$-Z\hoic)_=q4:62rFc;O!WZF!,J?nkh&7^2'^qYW%IKE&P)42!76^#RoGb`*JLc`@T + '4M`NbFiKM'h`7SbZAWsC_97Qb;fX/]_]>clC6) + )&jMEE5npSnX]_(QT)KfAgD`%m,L1s?&7.8%o!!$&R8kmo8F-Z`OW*E + Nm'@q,%@cc^M)gQ!`CN^g6W/lLiDOH\ADhhBP>7Qb/AX/rDXJ6=JqAReK1!@tB1a#[!)#sX + j9VH*t#l8qdd(neZ\')I8:rrjXW;lnu=JsPtTiUCq.L\l8]r7`Tq/G%Q7lTb,R(8>\MmP^0++UcQgR-td5o*FP + sY!"&&0ramdm]RF'Ojm@=D.dZ*9l_PXM6Rl^gC&'\?PQ + 9's?b4]J_gm3g5-n='@(@@jLYHQNp$Se*1j0-=k8)2X8A'RC+Xn^$eO^(&C]Qcc'l)9N8F[ + QE!5cmtJbgqP.u^\b4q7c@3,nd2jA03-8aD_13HUe+8KG_H9;O.Q8kmF-gfV*JGVAN/4BgF + VJ<#jT$MM,FR-M!goKETqGn+N[nIdN1cbq#I(ECUY_a$Iuh49ls6?*JLH!/!PaZTrb"#,UsD"5\h!d%s*9 + nQZXDNP?YeNrOdFI"pP96#6FmWED+hY]do+\d]!d^)&d"%Knn',TuMaZR?K9=3'.Ku=bjmJ + -#7]TrV'tO_.oa/Z5e;@B=OH(\*!#@q#qf_P?b?_iIDVN?eUKXL,XD5D#lfn4*9*; + JjrNlNkO#/?cGE2Q]pJPT&6^ll?[#01JW=Wi][\?IQ)qN"3YKR + :pW6]!Efnk)+2KoZPG3J*)&bjahkg:lEF0+S3a@W"YDYt\*JLa4Y+%,dOU5;fPgPb_FVM\[ + j]F"GZ]7?toZ7,SrNKES,$jsWM34T3l,&,^D/F.#bn83DR9P/js-u)jSq$b8XK8LtU8"j*q + PpTsMfhhr+>C9og?W6IMq76VbZeB>'1R[1lPW7f7UFb^pMDZ5?_f>7F>-8Q^$$<+R@L)SF? + HLG$eN2CHuE:&E^61E*#H<#3Vnp]]35Po^'g4\&+Xe?'`Js5kb]:13ah0KhKhp8!+<$3knt + (TVH4WR,D&T9Io$0I-N"/8."mAY^XlA)=[sVJa8n'$@)2ouOOhu`m\+=&b6"8^m^^@[Ilo_ + O3@cUQWDkc52%:$*Z473A"GuR+\U4\=e/*Fcf#OZ]?YNphPU5tQ2(ALucrO6:MUO^PX>RLj + ;>^1Ls6#:D05G]jf5O\uem>uCA0ngB\"e/FqaZjbn$oE8b:5\9c)ibnTZQ(d*4UItZ5e;V. + td11!9f87*?s]@O%N#X]4sZS*C3HN!&>p/>^oI:=?/Xo^b.LsdA'3Gf=ge$4"!gqr:8#a^\ + [4G1^=3b,E;?QD3^]dH[Mg+Qbmm/.e6\;q7tkL1C:!=G.aZV+2X\d7bWV+[.3T;c-?/Ir*mQnrC#o]ahk/6S.%QDS.b\^sG!&dj\/;m + 5BNfsQA%1dBM%eq;s09o">%6,BC2. + U&h6LT"\%VDgdC(Qj9(d[VXCpm(dg&Bm^\HdrolFf"9d>,348W + .mI!f`i()BNVfp5kTk5^[I2SnTjI(!7e_4N<1*Tc"m;2OJ^+7o/dh[!-sErEkh"DESj"V9M + >i9-M\3cr0p[#<,/-6!Q$!f#0fB:3Va(-:Q?[b'J,9f%W3]0iIJ+Q'XBW//rT*A#\'pKN55 + ='J^ZKC)J,]90f<=)DGE9rBEToba9M>k]#Eq\(oWOner9)jUmY+lRC`+*.iKB)`LL5N+--\ + )I[S6:\h#.!>k@`)1q;d`8<`N/I_rg+DTV*DJ>KXY1_o%,D;_K[S0"/0qp%7mhET78:*JHo + -q;d`8-@Lfb]KGjnlL"!#p(At,HnQMP67\>!q,!b]cod$3h;(dUJ)Q(tVO@UWdPbj6+R-XG + 54d'j4)&DCZo3?`1\RsNn:s6T&mo!Qou_!?QI'XSeu%]P5Q7q$]mX@!+rs3C77Cl"$ioG:; + cS<]s7+n+>;KlpU&s*2_eC=?",m]ue]"?F/.J9:C8/oj7YM]GlChFg!fmm5+)>e#;u-oHHD + [*>kUok01ru6)Fd"i*ERnd1>dZMJc/e=G'_L5E`r&9]56*Cc`JAag9QrS2n5JLtcp\FJB^o/>k + MdZ\Mhf(p?[IHb*[k0-]K'/&%W]h86bfKQ,,9Q$FpNh&2*Dc\sSCTh!RU:JXg_h/`)CZl3: + %FN'@T6t\-\'Wi%1d_f0h;'sG9?43^OTX[qI/a%hmNKhgAbg$>O52F@[o!OB[qf_n`r8X*H + H*\lSND$D<*J$8hg@d%kqC<9g"C?McW&Mnl2CA6VuML,LSHj`!*I&(VY9._q761WR1A(Q#b + f-5/QIF*Ih9AW='"N&8m>I4I`-WE0BT5./T^Kb#WXSQ[ZgE>mZBSi,^7p$2VU^[d77U8@nc + pQQE8njdUn1JNXnIsJ$Dcd*?2$"A)aWk$ilT54[$Pnbmr<%(lM.J6EeYT*uVCdiVG;UG?R$ + BY+&N`+Y$uCJ9H*Z3bk*P6q!uSEcL=m:J]3a&B@/[uU3XafKWRJQ7Wh%-pe^H*gDIO73dU, + INmb^\hYiHb2K-)>C7cJq@ZEChtZIdpJPF=/7Z\D/((3*B"FD(ns#E!*I\JOjP+nA_"EPEg + ?o?3Vl^0`m@(M-3L6W`V#7io\\+t;U%6B'-$0!5&%?T-@K(1[S"lmB5P@YR1?,&3tLS^cqN + o)V73TVcRjrjpT1K_!e&Fnh7$rWqcup\iU.*S9]_S?_5nFbbIFqZ3*egP7j/(Y,b02A3S%% + 59OgC9%R8F2C(Bb0p$9&p[Tr^V]mKM%nt`(WYtl=NKM*q32>/$aKfU98c'907"4Y!sET@+t + [%gf/>6=s0kKfd(cHE1+@d@@H\8Qfhlrj!"SpBH9R\qG9Y>*IZ:H\.Xs6pPkIJ+PI!s8N:r + E!/T+&4?[$-RG[/m5fuiM].lQ)9:_qCY7Udft]5X2*T'VK;(@1M3i%Yk-5;R6[1(Y;sVcjc + !D&DqrKd`m_WTOoDsMiCE)lm0_rCcOh8Qo?GDJguVa]Q3P^6/G/g]!8o$"]pI)=#WM=s::k + FS*JG?cC$Ei^oO/bo^eeGY4XccMPhH1[?@M]]HJ$s*\np%T4$1'JTtdt0d@L'\9U]7tElIe + nTOD\g[2*d5;(*.=^1>[#_!3haj0f-Bna8FZC@2&$W[c9nEj[=GWO'1I\k-sn]!l[RCtm%P + LeK/%d:diBfQn;d?;/O@;Gu`I;boPfA5m;@;,Qt=IJ``33A:H;Famr/?(n>*3C&;0ChLNJ? + #d!p1Lb)f4$#';q/De>Fd(Tl@pMccR(>f"=]&D1Ad@._?.sd58(B9hDh1E7q81MDUJFB-J] + ?'Mg,<(?ID/b4!1&XU3hC&Xd"b8$@:]B<^eErYe!qt%*JIAYZuja(P'%IJ5R!4=V#dZm&/$ + IHMP):JhrkmjV"Z#bj/8<,iJ-aX7KWr&ptIO)47T^pfeT"_a^db+6ep<*7cj]]!BV&K>/V` + H>$G4gHL!.'><6Y*l-FkY1Tf`;Vk0olIkW5-\)2Y(P*3+kjiU0PK%gSb^A&m2-4%)I^AROp + I4LYVm,(&%CrNu\me)f.GcmQk^Bldr=]#t*N/5i(1nob,uQ0>@45bNj2Vpsd4V:2)k+0 + ekDigtpoEk-&:8(pc+X/iEV(l`['D0ECSFPu">lGA7*Ie*bsGB!7rD[F%S%V(0lW>HXgb(3 + kL'k,kcm59f_L%@Xfl%CBE-&#YEA4lB^L:\kKDo6!O)2--o@_1IY$d;%pkNp]\WRV6YNnY& + [S@lVrRRs)D$%t+KZQ9j\?3p3`-_H9dA&_$33HM]0's1<3r*(Zg*H+eO:p>!%8io*rg/7;+mcm)h- + f#N$5!4,]Ut5NHGEg_7h#-/i0@H?<&iVa.WDkom%T)mXC;#:dDr/-p[[5Q@IffcTeboMDBg + $4d:a"O?E.`c[ZSkPXoM>MJjQ)!V^];/;"!-4Le+:,D7:f6.(Npkb/?BOU19e6jWB<.412f + $eSN-nWAYi+%_KGJ&R#j?%P:?sqK''iK+:*U*4`.Kfb0ZMlB><6`>H&/^JmQO + .#/X8b0=j"Pa%3N.M)63;d/=l27[bD14f%1OHIJpOZBDW-Br3*85](V+ak*`,g4>:PZG:m6 + DF$33C/+[sHo!f;e5-1gL,&!^G: + :%8@0U8X"!&n`H?tX-HfOKuUo?KG[N6?0`j'`tXe9pf*(FrOfTWi(SSE];&8Inro`)HC'p. + mg@"I]DpJDg(N2)QA='RGLSU[D$2n.kT;`i["+r)qJQ[:.qKFU,'_Zs5!P(<:8 + 6".]K9kc,k";M)3Un1sjWEH]S.umCc3Mn_iWHOF",2*3L + `+98WG)&aal@6s*$6C/56;$`cAJ'YOP>h2aX7^5aVd(_Rq6\lD;Hm+J08)A,9r74p6^br96,'Y<%:ltQ#1ATXFgQS0\62b;(?20a + /8"0"_B^jE(qJY2iMHHqFHK7*9V:tV63%$iZXsXe^tZ> + :O,T#[FQh*IoB4LI+973(Pne5uQ!N$f.!PJfDBN"1&b3(-]nq^?hn>I,UYmHi7:rV'h`GaAY*RCjV1!!!Z^n-ID[E + F*T&'/D:-K/&+-qD)Zd@NC.V%!M<>cZ#dF`]=ZNMN*V'!>(0BKEQB'#QS>aJ#.i<5W7*-43 + oKL=SY4)[6V;6U93>dI2=-fBe.]Z)/dL$3Gk1k4$^g]Oh'b6sg)T$&<hQ^rQN`A`@`\BmW(cb0%lQcS$q)V[N-]WpBCdBt5&m06?\Im + Co\W+VXNE!'n'T/fS_0e?Y+O-l!m1/g!hu*JIe$SfG)"M9>oHs6@'@:7RD9r_*CLh@`^!#2Qgd3^AP*JKk( + #70>)*Qc(meZ[ELde(;t!!'5-[o3Ho2b$*%CgdF%8DBR5W%]IX3ZK\c[+ + oGW"d'/$DAp[NbV8/A/tj2h.c,"%DiEI'B:^C_pVc.n:IQW4SD^f5;LqB4]AY0GF##MKq4!:W + >\HUZiL0r!1hg,Z7GQ"!G,$?aNk^#fI%*f>YM.M-A@1)trU5C&G(WE4H#>oQY&`;;?sdiO`$=3)gZo_G-Zp + [7s"]j3kfK`0fRbq&o,JknDlUlgFAl>LAd@-3NB9T3VrAIe[(:Q.!.HbHEW()S9Ee + EXt:ucZS\=\Tk#0ta<:coid`!k!._oRO,S7KWp4(m2W!GD&C&d_&7S'`* + G4t7:dP<]c3-+K)K,T8XYqrn94E+Km;;=N<,VY2Q2+8d$jDTDj13$8G3!+79]rP6j38=>[FAD + V'i\XoBWd*Z]nPn/'2E.`8Zb-MktEnYqGJO^"%(6o'kUPWk@<0>47U&_>Cb3478$S,qcOJl + \l)&aa-pUYAj6RrE:TF\g[]qe^=_!fkZb]J-\.UJO]u?o[XOnL5nH&r_PBU3 + &j``C>k(\qZ,FCdBAn+o4#d5 + 0,HZ^opIM\c9\q!l%`biYm375Jh!98m$4<-*S^73+G^b*s85H<'f;YLH#hnRmYm!!%qf=]% + hY1Y,D?L!JPcbI=d;6?m1Y8aX2n8&9!87n0hUrQng'!g!KeEBk!F!5R@o3kDMmk?!DXj=Cb + 5E`uW(^=qcr.]jRhQ&BO611m^>%>^gfFdK-#J)QC9'q..u$Q1%Y>5YC$EppEo%5n_kH\c9M + +0hZWBc!RKc]gT)ThV+pYoI.S=n7.JIofa>5kAi0\_FUjZcW<_o#f+6N.[G;!P\>e'/"&rc + <5:)mIi1tro<+OY73Hp!!#Dp\>M!.L:be_K1YIDn2nopp!tu,4oK/62tG+)(C>N:*'l8$#= + rJZY$m>=Vr:kYB%u!H7`YT3!*BjK#23T6e[sg]QZ(-9]rJjm6ksu`9)6:!fMo"F<-P=!X'q + si4bZpdJF]g\Vn]WD1T_Jerbf:kb^FkVG[*X+eJC(049!tVr4P6F4E^XEXW4"n]jI*2LQ.c + L91\jN_M&KKVa%J'R7h\q.J<7a#K,]MJ)&?;dD3P!n)"$7\2c;3ToB7oq.m19:/:elZ0=#I + cPpe=Qo/Y+9f/WUg9G(F>qO>!mW\+\3;gSCG+.j,WFrsE>.Ss`e*-"@Xaa(;g;1T\g0WKJg + @k9uhl40"n%JJ%`ub,MoWQN/^&.ZOWg@qjSTp4ur"m-/i:'N,MT=6b!8t6]2PCWk>O3#H,H + m&K'EZ``;GA5rlR7"[-N(qa4,X<\(m"j\b2-Tu^,^i"Vh0RA+92Bl>5>rr\"L%BI?P-qHu= + @W@mVM$It)"94uQF'jP-1UTCaL=XW1aFdq^b&NbG<_T(j+7\g%&5r\p8RhtkUPZok,K$gm) + lBuf9eYE#(Sgq;=PX/g2]o_cOX@4PBgWgBnnpXdG%q!H\sO2_;$bD=oR&.^Y`==MW9fl8i,*jC1S>82F+@W<*i.f)R& + 7%t*CLB6\<$dq!8rLgT"_@jlH=t3\06U5Sc-&N"NM!,/9CBqV/"@^dXS*I?Bs[hUjM#^XW6 + 7j>;o.LpM0GBNIUUC+IL_inl]YDHSt@):`7DRfQ=NfJUm?@Md[Eph`9a8l>B9Vb[7 + VU.,`FVI;Z="&uT_H9;O0UMJTY6dG13XYk$PEciaftf]VCLM/l:ie`_ED0V/'feO164OP,J + ;8$A)X:g29@iNs]53_cHdQ+d>tbU]54hg'Sa#&qDO!F9#A-'p?.aF9V#TkmldX2\g8rXnlV + /r9=HbU>%WL4YS^qg%8\&i-:K.kOaOTR)3-K0(RHWkD,9h`!gd!s58%IkM^P`UA,AWUHO95 + Uc:`JcdadBb6cpOPVeX8&RkdPD$WcuFUntZap:fOn5!HUU<:ogC\F!s>R<*!"!;&QdDXf]( + Af51=*9F3^E!!&T0kifaL.'!V6E8#_E`rB/?is/r&ZVX(3;n-_VSt81?^Q[4NFBnI!F@CF= + ooN4WDeqf!#@i?jS8o*Ygj4LZ[aW`Slh0qASS11Pf)9^GrW$XqR]@H5F&1-OoN[l3ApCgpn + RAD^Q5n.qJE+@E7m4Z5c?pWY/*$[2!&W(lYYA083XVWm3VmF>j9OLuIDU[:TplRX&#Ju+oT + s\CecIisXcdGQh@HotZD`^c?=$CGe?5r,ZgE)n-0,%,!!K+W(X]Y<8\1PC>Lui]Ad9'?[JC + Wf.YgQE]M>Ll^c2"*V^oXEJ+r_uhhH-'J:(O@@f=V[T/LOie>N>KPliS]8t;hE^kn4mldl$ + AYO=#:Rf*7Nqs76'I^j`HoR(:aroVJ^lK?K^27'&&:VE@*Z=F2q+-`";ErZ$s!ip\&UXf5; + HAq7-:[=_*C:0Wkl.RtdT:1'K0^r*8P)3Mg/a#$^Q>>%sI-$WY/M/t>J,/XOZmt,:!<@5O( + _L,g.un`d7a^SM(\D_$I9TcE2hUf;-4EOj8]DiatI:Qr*Z$YfX_3sdh*9;s^_>f0hg^,'2[jSCn2b^ + 0hWjB)bEf]kg.kk^d,F`6Io$%@6\fi)NF^S?P06(9k*^^rB.dB[_bWMQcRleVpWqU'qf=?( + hg0(5HF4E?Ts\(+VbO`\Xlm=,/^YOSGhgp!$uPJ*l&X3"CQ/]A*W6qe&hadZ&V.A1*+#)cYXk*-:B.O9/:>oE9,jZAUN:4KeK$$r$iH&+8db;2: + &gpR;q3sBjpJ,4lc;4O1_Zf36")@2c1(SZg]@mWLc(h+tG0:WDkc524873K1R3k#QPt]_`` + G41YhZl%;DXUq+-![ZU#s5C;;4oD+f\AkngRm2m)rn.#$e[,cn + kF0`O&cMb6(gZ6KQQPLnde-"/f,qJ$V!<=qcFEC1!2+YN^bTAkiKN8-!t?91MH"99!jG(oLoq + mNK=TJL>.;*>ph,CY?_C + -;.=%tMn(MMe(]42ib:K<.h>`=JO*JJVj<=Z7:[oD?!E6@S@N1uN"Qb#g9o]4ISCuJA4&1( + =B6OjY-5U^BaO%e7Bd[c]LRh`>JZBD8FZJ+Lf.O(Hg+.hX2`-!c.<=ZQci`Q&OQh;hZBMA! + >9_m.QS#=ms_9VIGjs:e:9IO$E!/uggJoiGP*JI?Y0X?PSgep#N>rK!KJr`A+L,'d^WQ<+@ + &F3eg*8noO$P-tP]"S(c\Yj)nqa.0u,N.qSD_Ni;U807Ka8l>B#XtG"kg`((s-8nQP3Qh^\ + b35,F=U<3**'@XLVe0IPm6JnSE8su]6nD!:KUcX55Oa0_eI`OoBH)CWckpnlu/"4RmT!'gS + B^5=@W-A-DreXrDXt3D0HV7q!+C1o'o5Su;W6oH#."UeOmQk8(us$EI + ["*8lH5!.XXh<.BCqJpO<;X&Juq*@4]&(NP$+!.lmc0Z6uPbBES@mCl_k`i8O4t^ajDK8%90[cb#!AqLlGpCl!"3*?.eMN=X7chYRo$Bl!#QMX$I`Xt%sIWM + %`E><;KIcIlsLif0Mi&\6`>s%%Nu67D0a.a!!`bO:G$s6Cd1%/55Or8'gI/smSV_/Ck)$(W + efR$IJ,&3[@WSMn2o;:hs6&qUEe+Bs2A-IAknutaNBeJR["VCOt,Yt3C!QETeNbWTo&Ul*k + >LXr:fTHc9B\O%k#O!AUThLSsCLKHEGWq9dB^9Z2t#6V.e,6lfn5HUG1J2=&6j&<>`kE*u? + 0] + tdk%BFO2TXHE$55l'!?e)/l]RFVamIlFKNmc/B+j!$7Y^7]2tn_a?(n*OiJWUl`tGKBC4YK + MR9eA]DkdiY!V,l-;D5C;b%s(Q-?kiU.HI=5b=Ks]._rU*qrLEG1&:0YB`8b;aR5.U0`Y;5 + `q+\JaYJ/f[3J="V]KjTCX_=1WP$V*:S,u_^mL(K:pL-&R"u# + o69DY?]]#fBFVFmRi"71*@A(k2iOZ##<5gm*CLhf&0`C7D)+d=Tds=gfM_hL,fC?W'>kllg + hPTBPR?-GBm1o>]b0s\pO2&CY'8(`Q6-A?hjJDFEJ<.%p&l=YM6eIT3G'/Zt5.+Q + e?G$>>eAi$+IRGkVt`To7\TlM?%[I!!$&/dMsAVSkLP8!<>f(V#P>PlrAZ*'(GJN[*jIqek + l]<[^0=Z>ncNPpnamg5'Qg'ekoNuj)]_uD;D^V2X6-7r2]ht_6c+CENui+s,Arq3&phdX1$ + X2QHLk(FSpK.@ds).jkRDQ\TrLrY-(*/5!D.S0^r([Sn@2[ShEK'<Y=a8lWZ6HKQ + 75_fE%&4(LHGY?SKmHhkS$3?7BHO2adCC]IB;3qfkZ&Z[nR32`JZU-1E2mjW59pTB$:d+LE + SW/F2IfB.U\;.FX41e"nks=ciIr2tooBM[t^9*ncduIa*'/u]L$W0e:!TX4]!3?lL!3d)@3M\k4+C2K3nTk + !-cp?YMfC8M,o.R:UsH=@Zf5N6_MsJ%SOW5JT5 + PDPqV@rcaFlph^j,#frni-eA=qokDmP7=G$i=ujC8X@1>4!8"@Ml+(k,USI"-LF[iFRl?Wb + F5`ET8&,#F.k=h-EbPICjY,+45-7dj8]`>QQ8h,#bWcmY*M:afOTQ:Yj8]2\X9;T7_'G6O, + qAtGM+I$I"Pm#3jhkf_]Acp__/&EFAYE`blR;N3UOfX\Hk*A'pm51E!n4M/kV\ha*#JS6+% + t(iSlr@C^ZN&AEqr3U=8o8&mBi9;m`J>.$_8Td19s>>b^ + BhOTQ:Sj8]2\XMeK2!IbkQ71i4@T'Bfq:pL-&d%N9=;UA\Np/KS7G2L;#$=9ck8Z<,X@3#N + 4?o/GWN6_O5k+nf`]K3K`mr(F;hp(cgRBpL#Rl9XU(,#(co_Z#VK[t4M^<4b"\(BBqaUC83 + 5n6^2O95UcYS-.1:acuLtpOi3^Ik;A2McOHZWYOFWgU)0d9p=H&Qk[4G(sGQnpo2G + ]3BTk9IO$E!9eU/9'Tj + =Q+9)h'!a`>s0nARX_GK/uLoTs\CH_WC5&8T]3$=JsV(RrbjPFTVA53%`eYP!*BQg!/32%A-DreW=(cu$+agr?'L8u + lsLh;Iq:_=h,6,7Ne/nuY+*!pW`_i#m7`cI*4]9[psRJ0U]JeVO8:SK%D[R^JdOZMd]8`O: + f1+*#NPjc!3F+,3P_npI2Os-?B8O`@]J(625+Oa!&1B1=\6`hh5mA*ggF2Z`p?_"7n-Vd_F + L@'6g6D^d9e)q?(oJcp;gOZpE-75Q2eQ]e(I50s5?B!^T=WEbL7*b:Tmdp^WEMZ+A/ + Y#LE%E:J<_g44[=)L!3LV"F_%-9D"j3HJdm3;amDj.L_WHggpWcL0)XT73N.6)O;fot69=Ysehus'E=7=L#_cq + Xd;A0?rhS7eF(NT7=l3G+*^`7C[TI'0Y6pBu0?"H^P\*:pL-&Ycn1i&4&7:/.:67(R)]s$9 + l%(;4G1F/*eU.Tr4nsC@=%.J!Y:#@/:l$rJ)U$GNAb.1A!ePQZ"kVL`8LFVJPF^bCd^djN0 + M%"W/OcO[0Hg!5M4jP6644rLK^YkAt[(3&rQe0Ds(5hOp;8qql_qje$5"7-iqq8dh*fp%JC + BgcF]gM_@8lcPsRgb0#Nr@#@[lP$,,'<`bofREj+UmG%T-(Pbhm!W]I/g?9eJ&$'\%27M3c + N-,h^e?2U`HA8_cJetG2`K^ZuZ&Sl,0LlULTG'qtJqb6f!.^?]-O6SFZJ!r,don^n>VU;sS + ^pI%)jCH3Z[5Zb:7BetNRTUY:[c":\710Xc[Y@a=I?n:/;00$!.a0N[DdgR*;F\U]@>\1\F + H'7jhkdI+U;+>_;7`_?-0b0(`S/VO97mBY=qW%Xs>rX`"Vp5k%^KBRtBkhDZ;g` + u2$SVE2J,^=Q(Pbhm!W]GeWP+Xk1F+_'?ZZT6Q7DHmTPJe@b2pNTW"6ula8r$2.LsN#!WZ= + /K6)QQS*2J.oL$1eUX@K\dEulJVWi!T4>TiK61_hqZj!&Ah?q9+9VkfBNeM\jk)baHG_ + 3/!G0!.a1]KHCeJQ[0Ai#6Z'^R?RmCCJ;f[*63PqY0&q!PbFe#,F9A;RX=W/f*G=9jU'baLCf1C"a7q$T9r7jk;GW;5=df+`+?9= + Q]BR[X5Oj,MQ(CMCnaQY;Bc&g&4#E1m@ss/DoFo_IYl0MgII#7(<;H$!a6F@E1KKZoUe]3. + Y?4*b^0JfaY=L:'Ouh87csPJuC7rtBF'!!%<`*>lq + @n>ncckA'(6gqldB2Ne4NWlbdM5P?:*^e._1*+ERTW7Jo"XPZ5U&3C!QE.jY=@P*@kDaMPQ!+8F)*.Q[Xd$&(6.N';)2+%in'[$33>@AV'_2 + m6AlW$H$F9Gb[ns2>S^S7`;WnJgH-:VH2q!ekprUj8b;E'F3\!![@eZJ#QS6Yr_ + a7%0W)2G,UP]Nos$5"=TJNdn,CD,eD[J,fRM6EKPd`&FBD"TZ>;Pm0Y-`MB_u_E``Z4YeBl<;kfe48\\XBji"c)g>IH1M3g + /mce4%#`Q[jH@Vaer>iXR$Q=&9!!$%$3C'93a8l>B9N>RhAt`iclR31>E8>WJWL\/G]HEWO + g1lgZe[sfj64U5[!lg#p!)ZW/#NPjc!3CiUb9>l7:pL-&Qn#6?eNcV`lTbkX&TRkW!e0mJ8 + u1!tP!%OK-^hGI\4t[G%lln><5eku5QCd7+kC[ipa26,!!!F(lk:`$1tqWpr6g*dekr['%`eYP!*BPVQ9t]T?K,SprEj(V$r847X8i5/E;=IAE(A + Khh:+'bpHk3sXjT"+Rg7,Wo][j)AfV%K#WY/7<5eku5QCd7@8&\7Xq^a1=811`:3-/#;,O% + Br;QY5jlRUq?E2u%KT[&MJ-#MMZq0>](2b$bk2^lqU6]p9N7GnC<:>]S*Ddsdk + k^jcs8ugm$*$>63Q*!?dPIu"!*p#Y!IfI\i/N>P##EiGIG + FOoA7O1unqjd\3C)Oi%M/WU8slCq+O*;E^HH5T/-gqPA7Q\0r3)(a4]gt1Zs[jWN17S/pWn + a5rK)=(N=XKFIU.B`bs+Dl+/s7J54hd6W[_JGa%F%T&?eWQ`N + -3cX.Id\MnQnjiHS3,.]u,lg^l=>TbGfV'mkm@p^uC2,NcmKU!`%M/WU8sh(5W+4dcF+B/a + r=Egsa%hil[!]3Sp0pG&_K?NY%(*l$'*&"GU!mL_BFO2T$rjnj:)/&5FVN%.p[i%@?H"r49 + .LO5WfKkc*?83Uf-H6'.5u7=NW`&;eN3pq>^D_]#j>rV&OP>T.Sb4g*56'g: + F`$2O!QI0GidM!=@47>M%EUA^^Mdk(4Qq!.^?= + 5RoJ'neZImO6U'k:bMbr3r3]2IfKDVeG2?[TCgG1WqFq#e]"?F\HUB_7.m^mY**P,.KTUN- + $S$5B1:BK(kPN=)7*BRG4i'LKT5,)\^GsbD[)cN2$FDk$.e8s,jhWe$L0m-7`]=IMWJa?I#W][]$IG-%3C + #_:FEH!rM];EX$O:T"&6elh6""`S!&%r+7nEIbGIl,3HoUM:;nGU2 + /H>dbWJsXckQ&5i"%/5sX0&^VB[5$+JS&d/E&CL9DLFM1-t!B5O99;oQKPd^WTu7qDXO/!+ + Za`Hdm=NU!5M2L#:PhY9K>?q]!Z?JaJ<%$N7k6GY++]c;XUo6RVLpa!.8alU/pF;b;ot4'm + PC6B:"-j<>t,:b;ot)iY(=FN + [.I[UO*-uO98H$*>kOJOc#5&FT9<+!sO#2 + $ilqIgqbjcW>^FoM:#^:-.SpL\$:t16Lro`W)Ubt$CDa + Q*HLWT9qH6O@IR5=ke(Da+Vj3YcoO'-F-jcRb@aeC7DscQr[-68B)PK^3e[4.XCpg6EFB:1 + n(f;-;?@oR&1R+0W#T13`Opeks5IR4eeiVkl2u_>BOu_;oA9(^i>h!!"OF<%>5[Z;-oLOTb + SOT+QKLoQ`;O2-K\sTsA?KFHYEjUX\/$1a')(HH*f&!!!ibB5)l]CKjel*2nce@3(%j?&XT + ;M00Mu@(#qr$D%!5J446sW5erD0K8%m!0%IM%_7#"hp^,LHZsZV!.DbCMRF& + [.I^>WK0cMHPS4O89ZZfX]GT)ejd.ilSU'5Mg`HE7q#9V_,60uRB3/;]:0PC$J/!cngQt3j + s2];ZI#EHoQHI@`IASnc8Y-*!@C.R0QM[D!7lm"p#Y;sFO&4Tb";cMU/-P.,Pn5"oBPW+@X + Z`g8-WBaS6!"/LLf7V\lig4PopqM!.8t%WEj9--,`RO.;"ImW\R#^5%/P9@3('T.K0!G9pD + oC!Xqs$0F)8p%Q6-&D3iRVPHPih2rjr>!3Ads>8s.#X/`1a8nC3U'n&.8):9g#T3#rL0C,C + qDsjuS2C;t#XPKH3i-fKkGcUIq&9"fS^`&_dhq";KB,u[LEgL]]="%3A@6%JN5,'-g^:17: + k2_GmcNL8GVak$V.Olnt+sJ5d35>=9G<]EtFn!BM0QK;V#5J/cJ'Y@>+TMMHYhn6nY-+q9[ + Pg20?O"6=:PV+YqPQMb+nOLcE2gNPYtl4mBFf:ZYRV!?i,>bFaopFs[O + ro'-N"/8-nL%S-B`YT7:5Mgcnj2*\p5!jHrK[9POe".-^JZJoTM\loH45i'g1`##QOi)KSX + O'Y,CG!XkAh#j8Wc\DP3`8o"5T#@m1l/(FTb1.d&K4(M;3V8('uOh+gmstLB<$M4 + $7Im3MXP3F`S,GokO=6V$I@&3c^p]j(KRpqq*@`gdR=2PGAXgX;TI%%`3IHZ7HGb,oiU`36 + a$qs\r*2(VkbNm@prG3X3u^;%d\.)S[cU*O3^&'kB"8k5mHN`[G>g.!!"u&EHQ=aYIGu+-> + gWt/>(i.d6!iD$t0@N`T.km//3?(YD)YTQj..YcNR,uNbY]9KH"p2O + ecGLSXArVMg,!j^jLm!&IHTRTpf`utE_i.t'D*=W1K`M&dL4VhZ,/e]$bc0)*k/dfBbF0%VOX`D@unh8F?L&B%e7Zu2>\K`D)Q!"/L + uY+^/3g`(/oVQ8`UPehpNk"Am9teq?(GrDQh=>!oDNJ%%4;80M16uk/;UC]QJC?LXE7;>*+ + %C%-:]&9-/K85a3AVl\&!fN;J467n!7%5UnP*:V]#V\alp@NV!<<*"e4G%j9'iWBN2tC\6='LDs/n[Qa6 + Jg9!tK0iXZ`d?ES:9e6N3_MNc%*1adk.He5D!!!!+'*$Bt-n%5#PpEO#Z[@@#LW>7,KRj,L + 3jE@X_p(;\.Ord*CQWcSu!`ZRNGmmtXn$Zig$`rH)>J:eK$QJsAf>[ + =4R/0kW,+R*WTFi6"V$NU5-!(NI`2>,t_q:OJY9Wu7[aFkMs`sDj!O\ECu<$iS]\r-J!DdoW16n)DqrJC"/6M+$ + LX0mIuc&MAU8lsD)L1s;MMTV3e_Tkm\Y&h*!>-']k,g,)#R)3/NG+$:`.n"H[s' + Ga+!!#Io3=JUU=BMdMo'0P0gT;g!MZPTn`%SjB9s$".fi8rYTQColQK8eH1i&X='pWhf^l_ + =gH6/Op_1*m8!!!!K-iVMB40Mca"(#5o8n"CA>a>HTl!]o-djsoR9teu/oY]MUl3tu=V5pg + VnLQZETW)FB,Ie-:LfM,5:&Om^]s1`)63$uc!8'nKNA_N:QUW=c[6`f(:Ah0LYu1W'2Cad@ + j`%]r9(uH?Ek+s0.dZ;e\d%\"X)o*Md83Z.1F'hPnkA]!mC_Gc$1jY4<@M2Z!!!"LJWRaaZ + YR%-bITgNY`#c5mT%hWI0V_@C&(NER^cE3Z!"^U.:%Y`gsd9=/6\fj(%uW`DFA>^Y0p<8!I + )_fdleI-dqpZ;!!%P39`,9*>^,AT#g)dGG!7BI4FV/K1ng=VFg&MqIA5 + .ifYR6FI)E=fNg2!0/frNlla9$F[NAP]&-)\1!-WOp]XflW5gG=M/>(kKaFr;n`Iremj(^% + nch:Z,5ek9D/Zl#4juCUKa"BdKFFmq\iq4Pq,)AGg8f**E + 24peT3/\1;KJNo$8R(+Q0`DrG?t2^$'Z^FJPb0c(-ptl(S.X!+8U^o'f-Fn`%niR9 + kFl(9P-Y=9"qj?Kn0aFEapo-?\+6[TcHu(LjGNonhcb]9KI-Y\rV=+.^)Ckpcm+4:?kSGEo + <4_l@HUEmBW*T)Z4MdErOE)QM1u-;BqnOH:UH?$#2S4ad%>QOL%#YFdq&E_B&`q!=oNIO^< + aHfg`/cC[C;QZInXf_!82 + rA`WJ`qoFni;&GG:mLO9C;E8p0E`pd!WHb"j=3XZ_pTk/p>TV[Gp?rDt!?aoCI$Ib^7XhuYiTnrdY2*(<$iU+S[kKHKt0-[h"]#BYMB# + +kX_,lace*M:S09.ZYJ$jKS5$IIY_ZDJ,T&;VP\:HrV!"I5+4?EQF+P.:H_][==?(NF`iNS + L5(FTgVs.QSaQ4=gYu.gM2@EC9eq4ngiLf`]1JRNrU+k1!>WAg + CYNtYTTftPYP@s0`%X&?MW!8fXPb8fgpH_O\6?VTQillHDS?$d4'(Pcm+\dAk[$R,Gr*=^Abr:\IqP]YmH?sn[)b"DfUe1,;Hip?gV2H+88DBR]s(QS48,j[6\o]qnVD3OYDAs7t!gdF$F@:E + MZAX>p-e^\t:eU.?R1!!!jb&%bO.fnF(jDUiNTZ@/()X\U2N"I,0-,NS,r^!]p5W_iHXV&Q6UTs<[$Gkf/1c2Jq<,e + Y*@oC&Pp^TUg:uB09*(Ir4\oY7;?=IKlo"+8<0]%sR!!!",pb`eOT8uT"9O!tI'.c2(`\OA@! + _/o"q[M5mbET0H<]AHf48R4o`)#--LGBX#DRpCm;s>bc9If&r*Le!V,lmkgni/nnR:i,EZt + Y_)X-Mk!=phdP]Y*l_I90L:k_kLM#%HC0%W!,Xq*S#0HkXA7hd*GG!6r8io5T<3b;8UVNrp + )/PIJ08]#m5ikmiUL._&P-:S&8-cME+Jc7]Zq4aXX$Ll_+T(Mu:c3]Srq]Fk2E!%:0=%[Y6 + &b*`j)i>HSq4RRB!Yli6E"It#;m1[6Y8loGbcK>#'j5sHNR8i9']`K5H/["2U?+S'C(472I + 0#m>$S[kK@Vd$m=SIcJLA0/U`V59$(qtBE@[oc8E-;L'Zhmk?b,\4\.TQL&pE=uLD#AF*Uo + B+:N^A+E:b$D`/=hZ%fY:#QQJLGrik4\tb?ClFLSE/4%?^6(XYJ'Xu]`%=!rpLL6'>OM>>O + b-hJ,OL_571$eS*qda8ce(rP:+=Ff_U.^e$GsEIeqMh5P=dFn+2J24BC;oDr//!oQ4f)FAl + ,%pfTc[r:@g/#ljr*<9mk%9mOr8ERBn,@K,N\\/X\Q*VrAME"o_%\HN?bQ*.u)a6#jIJsEK + JJD(s31VEjTY$up=6T7$tSIAr%LKu7s-Wn#/fTPuPFEE1kLV(+-9q42jI!sck2NR"Zjd/eP"X-478OO\+>ItF=qX0Yq4'GR($P&-f,;-/Vt* + WnG`aflDq+cV5;kA.d)!:aq_$ZX)o'V!!%Pd=t\E`l[Pr7eI$QX>NY]rMcM:enO'a&GlDT)44I&3mZd->@[4W1c43-gVIEJ5V5f'cKHTO5XFJ*OO(G=j?L0# + T)kBhOqQb*B,=+>-(NFN!FN%0`Rg1I<)R2MSH`2g#Sh=[!iI2u"b(UX;c'1?H`J1Nk3`OHo + I6FA[OMPa""=d\O-Xa+f>'8pAJ]!!!",Y,eD,2ECMBi4>.CB'7HE;7/!D0G(IHZLs'oQQ9Q + e8nhhQfsP%LY$rL\FmiYkDc"$&r\:g'kd<^:Z>'dPVYOIsL1e;Ukaa!4ze>BSJIXQCul0u3 + i$1eN?6rn.tIS`tHFA[PjqkgOTd-.)^`:$Q%;7U,h;PgE2Lhts[NcO#Gfqn(k:Bmt#\dAk> + C\nS#0Bq$#HDLuMzCJ8Rc2q!bR6u5Wm=IA7fFtn0d]uh6_1&qDQW-c!11-t.SqBg[W`UCG6 + 9inofIM69SekJl86%G!jUP=a\7.8@l$>_Pb.:!2Z!!!#Ol=$%DVVYDnR34+pZ@%8CF\Pe33 + FO%<]=[1TWT3,#`;KIpLs=q'>j3a78,QcD-Hp\82l3NkacV%)W2/0n`K#)s%4J&4FAplh7&?sJgJ,@9cS%uV.f)ZJ00*(X%r1 + CY4VkJ2Y#DnCfUmD/Z[J/TlJCoCBiV_[zY_2(ZkLU_])lpghka1AN^ETe`>>f@P.C+(LToEo+4&-)\1!)BNh>h/YKUb&. + rFH;,%&Y&*m$Q8jBoVs;b7f9P?>t*XG/W"ML<=CM"mW"%;QBHT[247d%]MCS\/%[Uc-Hm9U + "I1SBzL=Y2OlLL:JG%W4/ + Krp:eDl?>hTQCpQ-h56[,\"))/kuiU!!!"Od;le#4D%Zd?WcU'3CP)GfCg-h!s-Ns[9M0G@ + ]d>K3TZCV%Q(f4?pWjJ]i"#DCiUd!Ga;,ZDi)d#S%=?E)'L@0f;X7s56(Z`!">!UbB9'V#E + I&g80'Y0q!s1*.JXI<.KDipS%8fZ=:?BtjpD?^%\2JqT`3?(hu0caCmIldmCZo)$\@-h83` + ^1'e'(0E9n2R8FkX/puJ`>$N8loG + bp;Z6:O+g2-@?[a=oo:oO)V1I?8eQX'*+]O.z$n"tXa7Y\p;bNkWg)t+cJ[ScW8f%X>.k.f + >5$+S&+kGF#Y>-)sa!%bbqWu(N"d)DYd5UU.B6XV;'pU:T#jahSjZ9Y[9t'LGa'(bJzL7bH + Ij*"c!l0u3i$1j5'?`@L&k81#d(VF21dY%kX.6`*8a!gp@XDF'_?$L6YXYf*'#/ie=4) + dST4!op*Ypt-nSZq7fW90<(c_%2B)=2jr\"6O!!!Fik&XPcUQWPQ^:8bIND+"BQ76)O?oLe + Kjlmfo4.G[h?&1r/[nltOJQ'V6;=i+1aITm$g4"\&3-X35!r)5]" + 1n-g]Th,L"PW9-[9J;m;.Y#FpQ&Ieo?ftPXoY/6WSPr4t9JP'!Pc*dM)gmKZ0am>\3>$?hN + @WH(6Yl69U!!!!-Z^/dW(M!2Mq^tM^2b.,Ah+0c5nf^8K'b>'E`@G*991A'P6#+.2=[PL>d + Fg%8Y/6og?)B0Fi7iOr8f*)1BJc$3Vlq@T1]QP>z$MpX&Tk[ePm`ZCpO3Bd*\F/("K:7E,^ + ljV\HVQ+qUY9]s`M&dNI+,q_]/,=2@[+%4U'o@1:G%E$\dJ)!pjEjkR"frdD*NDaDFEd"3@>TE\[";LOb%Ho&%bLq1I>i?F-SARG7=_PU-,9QYc'B66+%;9bN6 + $rZ"98E%!783XQI_OO@o5cj + ]#V[OJa9K,eIr-Rj[p^T=2aQ+\r,>ZLMj-GQE50C^!$+TG,M-&kph!&Wljr@'^nI_(BRft- + gPl!S71,L2;\BIzd&Vq-VM9]NZLs'#D,AN:OG`g]XR-:9C2[q6nd03E>c2Ze]ssYsIr'"Ud + T,r-d-.+$n5bFpr9g&#UXFk3-s]7p9Pkea'BZ@b^38n'c(ZngX6@OQ^&!r7;LD`3(Qn;N!bp.W6[(q@FWlYd[KD8fMkhQF< + Tl&SW\l#)'S#$c2Agd!!!#7M)?3p/k#0Pnd-'Jm&.b]DW_`j1(_TS:fB#RO=Hc[=IYh-FS8 + >'X6AuomYp/P9hJL7h>+"FU6$4gX$@cfiI=PS"onW'JCATHRS + '$BdH>Sbt?9%uc!!!!fZs9cG[/KLAfdkMubWi@Gc.0LR'i*).ZYCm:c(2C3D1b]$PB59_A4 + b(*&64F\2tb1,hdpPLiZN"nQK@prM3kIS(UsJG!!!!IlTn6noo?D2"d,eEk(o(b[NB,L(kt + =R8Bg>f3;];RZh]&;60WpSNJnOMj6"o3$3tVb418A.035NQcFY[aI_;(TJb@]Mp3kM"(Xh. + >1->ZWq`4D!"TSN&!*IY*fR.PNiP_HJ.?D]uo*_VQQHVl4$m"ka9:IWm^5H#N'U0Y\R74G` + qpY(5o,mFTkaa2.TEO0NE0J;3)'KFg!rr<$!;&oc9C'"aL8'csZjH?#Ob$b=@OP4E82EqDC + <&&%;?lp:D-Inc%akR1rj[)D[g_al9msUn6LiH0:DW<6eCJUoG)orKFCfY#_uB]:!!!!$,H + `Y;lA_^Zj2AA*dFg%NGGGfT_S-A"n!:(O[+F!,%'ZG`i5:=_BnL-/NudSQ!M3I-<>!!l?I' + >PU-?1CdjqXJ@P`4L"TSN&!8*")XeVS_o^(;6ftPXic[m_ZiXF$anJ`r?>BF$9O,TGF*CpJ6RbAbcIMHU[u8!!'eGBg,U@4t9.-%2,#" + B@h$<.OleS`*cj)Dm7hkZXeU[blA9hpJGO7Aq"XSOhV>XhY'BJA)lL>,7GX2rr<$!!!'p9d + 9(QU.OiOg=L8I`470Yi"%JMbF!F:%'*`rX4u:"J[aSkf5;fNe/&h8EK::u!PqUR7\i;?Roo + 5IDhfbSg4FC(!P;9rPs84NWIedR?lM"5*?TWJ/o]FDfK7An8(_:BH:G%E4p`BJ9!!#7rG=j + @-egDB5/^Ml=.6>#p/tg4@80IU4e?L! + ;"]jUZjH=W`pR:1*rl9@!'j[=Qg;T_BqA[6L1ebgNb5W-"Ep9'!Xeun0iREqi*fAYA+91d_&%oR?nDV:\q>$@0?*`)2NI + JEB?']/,C!DohPX/..6EOa`fS&:HUI,YGG[S>"OCnG^ + +q[(.?8r-k&[ih2P:n1Uml:$d7LhXV7""9'SK>d6$:A,bY`IRXO?'_0Io4t8#!1Z6u9"7Mr + aze`pm`]t.9pC.XZ"L(te!^U*aMdR?Hu`+pUH/$LolGJIkTR/qJZHhR=KJ:>9252>H[!0l3 + jN3p,=?iT[k`Ig.h1VeX,([Z_4T0NARF#$!L>ha2DCP0Pek;ROba:&%K!!$sHS^$nEPB.+S + mq-eK'J,'Q[/KKHRX1fgK'M.:.o)Qf^ZBLl^^fh$!IfM/^n88Idg3b(*Y"JkmA4T5\i6:?M + p$(2l7_/ts"8QRT$PIXLS&g<'^q5G1I>2Z#ljr*!8sN]>$>j?+"u-WRlYF^[dUM[Z$Q`Y@I + AMB;Sdt+JPCLXQ3"G'SN\mL^ZR`[hu2V[dqAX*0q'i"UKrB>_OTh>HggEQ0sfUu)7r,as)` + 7iQ%BI":S*%3D`*tVKq`0U>tDqI5!%U4TdhAG3lqkqoAbmPGtZO]IRT=#$fl + 2R*!)Cz-d^DlH;e`5%c*B;Z1-uDPniid#!D_ic:#f-il,7='#Wd;zJFe'=A\+F6I!4o.FH;./^<=[M-f-;O?i\DAG-A1uD8L\j + 1?e1Xh(h75MRQJaD(q%DepY'E`Pprd`u^44N(uP1T;$2Vo.Q1)NJH/2kff0,).h7X*LH"+t8$^S)!i"+4I,_eXB0E\p_`LZ0gqtTqO,R1h.k,HL/N[f:$?&n%A8XM%b@a55"d,?fgl<,CeS[d(%M1>4!'T8!<<*"!$b<=;>J2`4bdZDp + "H)1;+\7gMRbbhBaT"OMIu+Z]hXm[Q2r%Koh.CF=/5YgahP8;&1l,Xk7h)qcc9g9^68>e1M + P9Io)A2N4Ho#gS(hUL).6raJLtLjmta?D]q:CL6hsZHNh&<.a0i>.nof;.0<`-Q[m,+6pun + L5a8h"Koosjo(0;1_e).YSz!%2is]_Z+(Sh-Ml%*sI`cqQIINtV_X&7$liftPXEPB2)"lDE + E_ct-8(fVEiukVB2CXOk2qn9h*Y#&%]j@(/hU9%IX']8^He47ViZ77W,;3O:<&BJa4ppAKC + OJ!c0g"un_K0%UtJhN0N<7(d2uXp"e*!!!!6\Q;p4*j[A@k)-MPo1t.^M$mrp>DLWq@;%Nj + X30o?&5U"87VUkXfNts;\_I+3NW\qErZp!!%Nq%r1A['+P^-LeRPF=<+p:VVW`(WKf(C6`#*!>0`'NaP:Q[5JZ: + BuMi^cp(V^411ok0VJAj=Q[XQ*uU1 + dWY5EKJ1(7HsL$pQjS.&XMkCMk=$bHi[m$7Yn$\,eC]"k&R')&=u%pn,mj$/D2GM + CUA?EEt6^nM\TT03)Ehn$CZo(IOlo?UpCNNK=4=M7lcc)=pUC8j=&fMVp`FmF?fmVT/>om* + u`qtp1`2d[B2f4.5s4T#pQ\'Yj:ri"S__"$r5Bsj/DG9jo+6\diJ!us@]`j2AGS4`sI*Z[J + i/O6/LSqi8F-?",I.=/%*sIPa9;Ji!WW3#!.\M)BIl4eQ'CADS3(d + \A\nIc`oSW&)k0VS>'"LtKU)JD1btaeAs`G"B*KcQnb'uQT.N\d9!^5Pbl4fI@kWKMlMaBF + +H?lW6/>'rT'6t/YPe + C/mptkDO`pRlgA+G@L!4',\_$U_D!q?"AX:[%OaI[)1;JGQYLV+\EG6*KMjGW++92BA!!&t + NSW\lQKEJb@=/:kGF)"9GD/q8-I7L3G\n@Mb)F(3O + cPC`$@eC7,qUj,q_!,;.AA:VPQo'2s2Qn4k;nJWYN!rr<$!+5pb[<9u3(Rg,1c0)*k/ntO" + \lYNc'3lTb90oB47in*mn\d#"S!<<*"!!!M+j`4YW[cF3i=6d1Z,nZVblAa"?*$R8Wt3:EH)jiF>h4Xe^Hue"t6 + [<3m'PZ*^q"WgbM3-k(U.k6Pf1-2`r"#Sn0S[%,ZaT1'7RkMeLOjZHppBCTt!!!#me_\r+C + &;?!b8[8HTf+ot0[MEVP6'A`M]4ncW6XPt).;4$VR#lOUji@E!!!",(j%[n^UE$=12pNr=( + &jraK'[\gk]c#/7j>a/hS5q][>4"EECahiaG2Ark*O&]"*fl3`TB`oS'Z)ba/2r9244d*bm + NA[+`WKp:Mc&U%nDl`fG<[a,1lg"b>FCQFo@50%/R(m%d46M.:%*=%W@LN,?uQ]p:qgfO&[ + q('lI@rk^^iY7CGMI&a[soq-X03qHCYEpAUrdmgtWn`-iQ[)b + NJ,t$o1*&Oo>@]zPq]Uge0a>oKuBdIS!3"OoJQY1QAa:#uPZ0=lYZE_pJ3'6N=BJCHHZ;D?IV@qG'PE:o\V7l=+6-f[sjP:X/(&$?bg79pe`Q#64`(!!"!BbN6=@onb[b6M0!)e)>9U"f7.dr6B`@LfhUnoO;+&3\)5-XiCg@"lELT!F^p[HAimfR(G/%6 + fX_]]lz!:"*0laWOL?Q?X+FkiKL^Td<,8IoS$PqL4N'Zg?GZDfDX]N867[QZFp/$LicU#g< + c;Ioh.z30:;/esgtqETj9a7qQE2/it/?j;`4jD92cHhplk6Qe1,*AUQ+H8PS"rFfJK;)5G_ + WhQuB.BcgK]!MK7$jaBNE/hYT.II*b$O,7qt`ibL$)&_2)*?#jekKSA)c#'i_E^`E(-m&"@ + 6j>&GW$_]!l*Wh=0tTp51,f15zK4erb\=H]KG4!ihc[[R=@*tt"/p,n1'l4rs=An]3>4#k" + n*WBJXR)%5dB-`WZZM"g:shB-1muYMk3eTrnOIV,r^&Z:s,eNJM2p!Yg!m!)`Ig?3B7Su1G + \t4Skj4Qp1I=LMl#1,>z!&+hW0X,AA@[9fo?5k/DJRYD&FnJP&).6Lra&AmN?!TrlUB.3N) + `NMsRcXFd)o2[]]<0#+[Uan8e!ZeUq$UmnA)mZDnj[a["Z&F6WiOj>Cm_['f\?af:8@mjze + ?#@:oKr2qS/EJj)!EA.9V33\Ue-W<33btq9VsW.3F5G)=$(Uqc^X[1:?Oj/%++h\)U4Y]GE + %LCH`G(mm@%:/OPU6U@]o_n\Gl_"$I@91o + 3$A3.&:A#R'1mC.RflW0V@>e"`TllbJ6GO?H['Tnf5f(KMKVt1E,$YjT5DJ7*%%=LhV+(O]nGT77n + DI_<;)qq0QR"m.YUoCu>7V(YR[64V.Cb3rtr2%A&%NYC2 + nXrYe)5)5s$5Q%p[6^&a#?^O!z!'h"-WGAHdQ<^X:1?FYO-Pih`:!Qa=DIY*tUo>pJCi=-m + 9K4/s7!!)>@@$fkz!)Oh;>K?E$r8Q'tWT3+T/;UCaOf!j^S7I08cN*F"=.]t`96k(AdFg$g + U`XfjF_:[Sz7\J&hqq(N\$?bg79phR?]Bj"n*d`TlD7>u1HcT#oJ/Z\"DGBYOc9X6Ona)cJ + Zpq]'8g>!Q0%UQp;ucmu!!!!q`5=4VmC_GALs6g/!Cpe+XGGamR%1(TV=gM)X;gEEqfNV5! + *,BeMPp%1?@A,8Y\7%kOp;Qc!WW3#!!#9NCd(oHormaAL]_SY(#/:ZL3+En:h5+AC]hi\4.G\Gfps:XXJ<+'MJ(2R]GC + PJz:?G;C`VHI.Cu8g'j5q&2DRuf+p7*=QYHfM(/'pCE&mGdnQ<(rmZQ:Xi3=\l-ioAo75Mk + 5FoC:>[/b6o*hYFQK1Zk[7ITg$Zmht=\I2=]Q#(Yj.Xf]j>29XUrD7''dqR1bpZ.j?G4mhM + q9&:aAS2sY#p=F%,n(I<(RPV_a2>(V6DG?TS^F1?s4:?dhOT5@]!!!#73S^[:.?E.n*X6eq + Zq?sj9K6uP4KdHS6o + +-Gz!!$%^W2[PC=+;uE?-4Cu:FoZoqT%a4=dtr9ld"$Bd^"7PRu5@8rN%RgTH(8J\rQ'aZ* + UcIlr]6Q1-gh2N-nCJ\)e">LWF>m`m@kpI,B/n\=d7(E!Cj$A:WRe2,nEc2G@>D4*-+#b*_ + l1z!!$5F2W)9\=+=],g4TFWXO\>?ZF&AWOp]+6V3eV4m[6/iOo\_m#0io'3?]*/;CVb_Xet + 6]SNEV0c$NKho2eKf=J&l4I!J*5K_]3F'BOR!!WW3#!!!#-]9.P)mq9DD^/&D5rKDfu:+_< + cV[lE)S,r>RU?h4FKYd/7a`Jjnr[m`/m`qB`Q?"eQcOO>8Yh7B@0(@V6s6A1;4OL]YiUHX4 + m`K-l\He1c>l.rq:U"LInb_#ZRtpQ7z!!!"3?dTak;Q[M';VMf.k=st5$M;uN]=t)9 + oto-USgfU'`1,jjA1dUq+.InE<#deK?q8\B^G*C08dE5=3S$Yz!!!F*VH9GX1JA_p9(go2C + \nS3_d5,alco87?TY])qa1#!!"](hb%-S/aa`oCLL1!thN:J^lN..gz!&hDi=d/(bfWUELD + 7>soc&F\'*nSrj3j9#h^0fbo[pf/#K5\6i^ANF"i84]fYp&i4ch:OG(Dm,Pzkc`-^"/j&sq + Kp`00%5Oz!!$D7$5Q%\-Khfr2F".>Dn0-)BImpI. + (talr9@V%BGL(7b%#UcO%Ll3h'C^r^id][7YkZD[T'F>qL7kt%rE.=5c8O2J,fQL!!!!9$D + t6A.E"mR=K'gUAbcHNS\=UHg^)r`)l1jLHrO!hbcZiuI8V>8;f?J#-l),UA^,jrqY%qkJ^" + @qOT>L`z^ekM("!#t!*=fI/#8nWaz!#ump+;l:%z!1]OT%'[/uHe'`T2n.2oUZhF\m\IRT) + gN\s(1bq;rz!2u*X$nrg^kO61cVW`hsrr,-gPihYo-lj$A]5$lq? + eBUfF#5X;z!!&s]V$p1q).PFm&Y74m'%+0O"-eib4'"]Q8-T>"z!6+U]"*AZ+-$@/(CsN+Y + 4N]Z&)'AnZze>ZerJ\Aah0Glu.REiak^EnY[)U4X2GE0kg?I-0tI3.JiN=6?uz!:"*+9b9P + (l-c"C2)S`4)`'7XH$V[BmQT2ac&7GSNCG]n?L21^`_^[)o]\R1RNR#"jW'6g&-)\1!!!#a + A17U#=EC?5NslR"z!7&Ep)5)B?^_,5?!!*'"!!!"l:A2p47rfgV"98E%!!%O1OTCUG!WW3# + !!'gFOTCUG!WW3#!!'gFOTCUG!WW3#!!'gF=ip_C;n#GkWmte&BXO&um!2C\f[,^EDr.gt7VZpnPHFNRIO?`e$]&*@Dp%H'I=Y*>ot"z!1]FQ%+*gYC + g#F7.JI&[=sn1:l26S^q+,Ud`m:MWe]MU_W`;\r>Q5iBDnc$NI/I3sG0pm4D)oa!)AsXtz! + 7]+g#.SY_kc@q$DnHZe:p=0\W6pQDq>\RspI)d&ZUF([<#h;]`RA?Y,F[hPLUJ2a*/t@m5KX9N)'AnZzeB(Smq + "EIW\ofN!F=pfX4FXrTZr*am%grb[D_H!Aa:A`.WRis[1Ga%ElkuO/A8JUN-mr\=J,fQL!! + !!q-VG?8cCN?]VKf\_NILH?T1F1tHhbK6+$,t-Zr"i;6Q]E&o>H2h#Pk'Q7lbl?!sAT(!!! + "L3a%jY9HsWBz!.Y_*"!dsOz!.],8"!dsOz!.],8"!dsOz!.],8"!dsOz!.],0Hj2R7'n38 + ,2&,4!!sAT(!!!#7aQ-#4TX'Oc&-)\1!!!#aA17V^Xj*FpbLb!U[.l'G4ek$:mp\b4ps(t9 + enE&cp!cdzTO/S0X6V15,t> + [VL=-Ob`*9VsW9nSag#DKkLgQW(Dc;fqn!Wb4-fli?/LM_3-V"onW'!!!!EFc-s=mR,;R6A)tTm2Jrp<7noWD,;7Tpk>=C3q.G&VUt77FT<57K7i] + C7+92BA!!!#7GEt&#J[Jq0gkIW?,6J&KzJ4$Y]"t8B4DlDEpI3C@2z!!"u>qdt?\9Co_P`R + ?q)5QCca!!!!Y'?)amVeK[lz!!#hC1-dT[z!!"u;.0H[*[cR4fK=&J%5Ao:D"pb2/z'p:=; + R_9UW+92BA!!!#KjtG`ps#$LDi#lkjX_M&A)'AnZz'q$43K + B#YIr"t,G>HQ*;cC/-8aS_@Gb`p3eTI+$f[,^EDr.h[<)]]0Mi,61p(<(?WJ+Q2GO^]11pLl_Q75Ej!u%mO< + 717cP/8^_?$>KHkHX]jH4q?Q8Y:?R,fa@Dt71k%?*W`Ij;mQS(\m#[J/X^8-9ZD[LX5W?1" + k$LZS)5DHK7g95!z!0smT!GXH$9VsV?e(IkJ7r9k20%*5:UbR=a1-fiDq5NG[I.C,R2hoVH + jnm%:_$("SXm\gc#QOi)!!!!-7Xm3Zo:XE%#2&,I&;/pTecZ!Rz!;^5;9b9P(l-c"C2)S_M-3J(#/C/i1-bg>zW0=%d:pk09nj'/f'(UY6`K1*%z! + 'pK&/d#'i,6J&KzJ3",p"4V#(FDHbHEFaS"z!.[)L!KmHbz!5Q.uScN"t"Ct&a*E\No(9#^ + XP5t^bz?mJZH#&*%k_mVCSiKLd]8?![M].,a`#8nWaz!(JM^Aq5MMbEiIrjeBc4gAu,L0G&hqVZ.*]/rI_TR'4cUnz!#V + slAUlGJpj@1*\B/j44Jr#F_mNrH:/6sQ4'C:9e+k(Gnr`,QNLrq9WjQm6X]p(WB)1TPs1>* + 9Xk1,!;?eOEQ(,Bqikuq\IHq'H\W&L3oC/h^9Ekb&z!-PT3!GXH$bX4KANg$r^\rMqtPK3- + [DsVc9e>_0_jNU^\1eS^ZHn*kY+9M`Hz!+c&N!.4FYDKkOfD)jL%-ct-?M;$\MrapZ_-pW/ + 'joPVbz!"qpBi8V_jkW,9EB4%S.%grb[D_H!AaHr7MY]O\N`jR4RPEWeiX$YD+92BA!!!"h(#o;9!!*'"!!!#Wgsh_ma + uAk>l228LL("Unz!"Nj")5-dl]iI=4ICGfm@/)!"/lLuT`idJ/h4])-7g95!z!66r*irJtG + !A7_#R$3^ZogL5boHhKJ4Yf8&z!&uUCMuscbq"V>f*rpCiGIHXqX,z!,u3:aoF[(E376(-7:04X.A&;Zi)qeS(hWJLQ8ZT0Gtu5z!7]+s)5,) + n7d@UsNZnQN!sAT(!!!"LHIs_M['HsO)5+J5'?gUaz!!)@s(c"@9B$?f-a)+%XB]r+[RNMg + P-`dUUz!!!GI0P#\g0u)+L`n3HncsZVo55m.5*uhgac3%)'a8c5@zTMC-]!/I^/?QLV<6:, + !T]GNChz!!"u8F_6/afZ4$nz!2**#Aq1fEQp07);R.H,X\'KL+92BA!!!#KaUuPo*]ir0Ue + -Wh2].eB$gVp6A:OX[z5W=^j!D]6aj,/^=;VtmW,VC]IlGpoIb0Aa."pb2/zQug1Sd!U]/j + i[bfKnDfA2"W(L5QCca!!!#7S>?Xu[PiK`/71?FdGgqbbMcZQr*/4%]6eifSsm708k/RF`u + Du]Y-+P<_hNpDH1RUBVj]YH>?(6KI/`<#HWobY#C8:W72Ic>TiO7c]tIP%\[D)@hVM%i!fh)IYC=Ub`eiu\9FZTOI7m7P+U[b + [i;mk&n(LMPR3]^N9C&hVgHlSfKgM$13Xl-3'A:OX[z:a\mRTLL_,$KsN49B9L*`Pk8@mA) + IcQ81^FPkh<>OaHXro(`O[(!-FVz!!(dH2ZklIqQ+4Xh+i+eY0k\n#OiJQ2gTg8_-C@Jz!5 + OKkc357S#,p#HLP5o>[hgt[jND=^/7/5^)s79,cN(ojjY]=4L/1nb"98E%!!!#_`la_mIX] + bB'fp)E^)BZLf[s>d[DG*SR&OoYU + az!"qpBTEDU`b6+S98B;/GQ9b]\z!!%.^JdbI%N=6?uz!9uD^$rE]:e#b'j`K:0&z!!)-u# + =o%)z!!)1?E\]oUDLjj>58bRDz!(II]a8i=n;Cj\XiKLd]8?![M].,a`#8nWaz!(MbVOo[1 + B*gi.T,kXSR2"W(L5QCca!!!"X&=,)eg=kmrZ[CTa7Z3>%01TmLnSaC/n*]H9G\ZLZ950dG + s1.L + 5,VOo:?\(C[+l9;:-3.Sm(OBp@_sphqIo3Dso'p!!*'"!!!!Q6>/-NXcl;om+!U\4El/DXNOA'7V;%jYMf8Un_C/="RbV$VM + @F[uEG>s,eNJM2p!Yg!m!)Bqq0PB_)Rd@f9ak5QCca!!!"tPGJ[aUDY;1Gb(BOEan1jiZ]a + sY-+NNV.&r"[\'\R1Wp`V;.IX]Cs2muq;l%9nu9\1!<<*"!!"]^of!!>RD01X"75\sk/grU + $rDuW`2>.tJ9UH#]9VIEr<.1m!<<*"!!"].oli$m/K*L+`P8Ws/o[F#@*cC!hVM$F%%i?>a + 2bq@n#=]n\T?rDeCWs__nq#ZgP[!ho&[8D6q:Ps6laL@+92BA!!!!93NT:gio`7+>/d86k, + WrBJ9>upin/-aK%PN1o*fTu`_^[)o]\R1RNNIcgH7V@GBY-EScQjLr'm+V/Gb?c"Zi3hGc9 + .f5'5uj3VO3a9E!MqAbNE8/k595=71kz!!&sZPQB5!e]7^kz!2)6@G?b&g]MrW+>B_0sihU8fQ + ZCC\_bIR+/Dz!!(Qlcd+h'q!dI=J,]JUGQ0BqQ3RK3-U8s\HaM:+ce(=dC4E$ZF7hGeQ_Kh + t7T=j4]7kq*aa#9YL58r)7%4H6C_nt2&P_9eFdQHXfjtqMXr3=r2d9?lC.p5'[G?-i_j!!$EZb%A!EF + ?5g`edOdB6q,U(3!!Fs_b,[VCi=6QqGROt!!%N[jDqe)-I^W"QqSjY$o=kN7FY6QW3CSV%D + temodgda;1GSG!!!#gJUBZ=f%-//ACB^ah(Y$b<(&m'JI8FoehF19=O5:V;MjAql^QU*AkO$rg?BY_HR4_g6KKF[c8.!WW3#^^%H^\iMo7$\^ooH[C4/8L5j\T#* + aHeI-.0<\gahGB\8\T.0g@!!&N-;Mg:0VZ6\s!!%D&1dD$@!!%g6%1iL>!!)"Q!sAT(!.]= + C!!*'"!$L,T5QCca!/NQC&-)\1!9-]T"98E%J9]NC!<<*"+Pnq?zLc5bSzi_9LX!!!"LGgc + Wn!!!!AhD@It!!!"T2[p;u!!!#Y9`kLu!!%Oodf9CK!!".u1dD$@!!%g6%1iL>!!)"Q!sAT + (!.]=C!!*'"!$L,T5QCca!/NQC&-)\1!9-]T"98E%J9]NC!<<*"+Pnq?zLc5bSzi_9LX!!! + "LGgcWn!!!!AhD@It!!!"T2[p;u!!!#Y9`kLu!!%Oodf9CK!!",_\iUG"&etKj@K3:($ig8 + -!1]G>/&/Q3eb\=op?ML?SQ@E\K)#BH!!!"Ol[Lg'[U25m\@_.@Eku[dC`7p$z!/'T58,g! + fN,Nh:]"O_aNpK!Wn?K/;4a:Y=-3XAL!!!G)(Zp2HQ/sn%m-qWbRWhJ51h?1Yz#$7LDf="= + aos7$/V6aNIHu@$f!rr<$!"?I$$.BCHp@\74Oo5OM:VZ8P\,S;';ZZq!!!!5NmQ4I`]_%%E + hg/jZ:$\mW6TZ:g!!!",O<&"_\Tu'!4tlWaqSdArm+=Jn;ZZq!!!!5TQI"B3T_7EPNGndiC + JAG9p-i?h!!!"TJR@:4aI^#D#I4pA!!!!Y(%ljo?_8,>!WW3#!2ld$>Q=A;P<]*J!!(qV<; + $UUINB75zS;N?n5>Zk+AYfe7RO:cjR+iGEPQ1[`!._o9Ep;rB)kRKk$I-2k>r!qqkl:\`!! + %ZC*bR_C2_G[^%7?Wg\KolL06!!%O8G%CW(L6$a7r+nLU)dU3rO*Whe!!!#7i7iP=JhX + W?4u_b`z!$@)"f=.Og(&M%6O*VuM!!!#gs2`T?LH9VF*h)VFe':pe,5`FLIs:P0\"[27zLg + J,^h5Ne2/B8j(gE#tP!WW3#5kKpCE:9g,NZG+ON4mbA)B]"[!!!]J)dp^He@Y2;M9U9THV+ + AC!!!"LU)5i)D:MEoZe8S9Qd=h&KgJjB=4E-;z&VtE/XF&l\l#\tMagAI`jn&;ncH`@))ZT + jK*?h<<4[Z(_LV&T+beL+GM/\J:\U)DqG + YYX?-YKmE_p>1R>C2/pRA3-:,B!^mlm85Mpz7,V/VnEn,15J-p'g2jIOnCXc8]&,53rTZmf + cbF)XoR@DK8"T_&)IVs\Wg]BF2/Cdme^\4dR=%1?ojS"'!!#7eqJ:\#+)]hR7:kl)S*G3pq + ?_\%)6F?jP@e^(1irG&5Re8)!!!!kqJ:].hJc]d`1%ZK)ic!?MdoO]h5$Gj1N&2brb6l_!! + !!qVKW.?m8$g8SU8n;XoL#b)Xr>o_Qa3eFGWCP!sAT(!.Z4hec=SfqVoM9-hhls_!h9dr\% + 8VFP>s-7ZJD_eZ1<,o%4%Orp$=kpBD&H%e*'+a(g-S>8o+T8co1r!!%P4Z3IhRjlsA&:$ir + $YFBT#idE'.(LE%?2)>*2gXFer\%7L$/SnQKo[a+YJ,fQL!,sK#%Bt!Ch&GK..LUb7="Hrh + ''$um]D%F6osme*I.&H+54PU._T(:G2uZeZ>^5//aosqLgu6/c\F$^D`f;&Q7X,Mo/QKE_W + eG)W3I^VadjclGp=rt8p:gEAq=r#10'r)0DbWE;ki\f0M\fHT)gD-K5um%RNIkR^s@Der'V`Ks5OX`gc4c=42^dggnqj_3cK+^dfn@qCk.EZc(6i\ni, + I]'ul1Mru-><[D)-GC&?o/Q":DDl-fS;#Bk:Y3-t4N3HJfVT7:p%qu-9H3dL;2K^IUOchBU + q!sAT(!.Zh9%59YS@RJniZ3FG/o'ZQ#&01[QcQ%/[=eBAGJ#+rGcN\Xhn1WqM + ^Ua-)hKe^1m-]>:eG<4I\?#DWh`5aio\42*m?*#3btdf9CK!!&ZcT+/#l!F'3]Dn^0_b>UXj-NH?Bp9DkLR%D"ep>HYb2*_-A!!)6I + =:MJoI\2!soD)I+^?F;6\7ab*gsq8Vpl8_sPG!sAT(!.YS[r + seJRpR`/4^ZF_9GMLYfkmb%q-AJ)/fR3\KD0$I.[]DQYVZ:L_z0EdEj!)LS-!-KTN9/Cd!<<*"i6S7c!$>P#Yp1!QZ#A/b%1iL>!!%o3%hJ^@!!)" + Q!sAT(!.]=C!!*'"!$L,T5QCca!/NQC&-)\1!91-5!;BMq]s0^8Rh8Cc!sAT(!.^eQ",u?g + !!*'"!$F8tk$*=[DKg):X+%ABJKM&lcEakP5#f/$lBEAdXjmCP!!!"lVee8\:8a;tA5/#9d + g7B::9D4C4mE1T!!!"LLuiZf9IA6@fU,>Zf>L!8O`3A?Ur')G$AGDp(]XO9!$[`TkM+_E17 + :fsSZ[m)E$F7__F]G[lg3tsH@Z(s!!"-NKgHrTcf]>ZCc7c>KlA6pFM^V';sW`6ML'gS!!! + !A@U38FSXl=*6D;*+4Wb'j7)J2AP7"5=h;'+E!WrE&zzz!"988#Noh(ZN~> +Q +Q Q +showpage +%%Trailer +%%EOF diff --git a/julia/limite_vitesse.jl b/julia/limite_vitesse.jl new file mode 100644 index 0000000..c2d7972 --- /dev/null +++ b/julia/limite_vitesse.jl @@ -0,0 +1,31 @@ +using ControlSystems + +p = tf("s") + +τ_1 = 3 # second +τ_2 = 0.1 # second + +# Approximatively our system +H = 1 / p * 1 / (1 + τ_1 * p) * 1 / (1 + τ_2 * p) + +# Speed corrector +Kp_speed = 0.5 +Ki_speed = 0 +Kd_speed = 0 +C_speed = Kp_speed + Ki_speed * 1/p + Kd_speed * p + +# Looped system with the speed controller +H_speed = C_speed * H / (1 + p * C_speed * H) + + +# Position corrector +Kp = 10 +Ki = 0 +Kd = 50 + +C = Kp + Ki * 1/p + Kd * p + +# Looped transfer function +H_tot = H_speed * C / (1 + H_speed * C) + +stepplot(H_tot) diff --git a/mesure_vitesse_cubique.eps b/mesure_vitesse_cubique.eps new file mode 100644 index 0000000..405dadc --- /dev/null +++ b/mesure_vitesse_cubique.eps @@ -0,0 +1,2386 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: matplotlib version 3.0.2, http://matplotlib.org/ +%%CreationDate: Fri May 3 14:22:02 2019 +%%Orientation: portrait +%%BoundingBox: 90 252 522 540 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: DejaVu Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain +%%Creator: Converted from TrueType to type 3 by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-1021 -463 1793 1232]def +/FontType 3 def +/Encoding [ /space /hyphen /zero /one /two /three /five /seven /nine /C /P /a /b /c /e /i /l /m /n /o /p /q /r /s /t /u /v /acute /eacute ] def +/FontInfo 10 dict dup begin +/FamilyName (DejaVu Sans) def +/FullName (DejaVu Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def +/Weight (Book) def +/Version (Version 2.35) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -130 def +/UnderlineThickness 90 def +end readonly def +/CharStrings 30 dict dup begin +/.notdef 0 def +/space{318 0 0 0 0 0 _sc +}_d +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +}_e{359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +}_e{202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/five{{636 0 77 -13 549 729 _sc +108 729 _m +495 729 _l +495 646 _l +198 646 _l +198 467 _l +212 472 227 476 241 478 _c +255 480 270 482 284 482 _c +365 482 429 459 477 415 _c +525 370 549 310 549 234 _c +549 155 524 94 475 51 _c +426 8 357 -13 269 -13 _c +238 -13 207 -10 175 -6 _c +143 -1 111 6 77 17 _c +77 116 _l +106 100 136 88 168 80 _c +199 72 232 69 267 69 _c +}_e{323 69 368 83 401 113 _c +433 143 450 183 450 234 _c +450 284 433 324 401 354 _c +368 384 323 399 267 399 _c +241 399 214 396 188 390 _c +162 384 135 375 108 363 _c +108 729 _l +_cl}_e}_d +/seven{636 0 82 0 551 729 _sc +82 729 _m +551 729 _l +551 687 _l +286 0 _l +183 0 _l +432 646 _l +82 646 _l +82 729 _l +_cl}_d +/nine{{636 0 63 -13 566 742 _sc +110 15 _m +110 105 _l +134 93 159 84 185 78 _c +210 72 235 69 260 69 _c +324 69 374 90 408 134 _c +442 178 462 244 468 334 _c +448 306 424 284 396 269 _c +367 254 335 247 300 247 _c +226 247 168 269 126 313 _c +84 357 63 417 63 494 _c +63 568 85 628 129 674 _c +173 719 232 742 306 742 _c +390 742 455 709 499 645 _c +543 580 566 486 566 364 _c +}_e{566 248 538 157 484 89 _c +429 21 356 -13 264 -13 _c +239 -13 214 -10 189 -6 _c +163 -2 137 5 110 15 _c +306 324 _m +350 324 385 339 411 369 _c +437 399 450 441 450 494 _c +450 546 437 588 411 618 _c +385 648 350 664 306 664 _c +262 664 227 648 201 618 _c +175 588 162 546 162 494 _c +162 441 175 399 201 369 _c +227 339 262 324 306 324 _c +_cl}_e}_d +/C{{698 0 56 -13 644 742 _sc +644 673 _m +644 569 _l +610 599 575 622 537 638 _c +499 653 460 661 418 661 _c +334 661 270 635 226 584 _c +182 533 160 460 160 364 _c +160 268 182 194 226 143 _c +270 92 334 67 418 67 _c +460 67 499 74 537 90 _c +575 105 610 128 644 159 _c +644 56 _l +609 32 572 15 534 4 _c +496 -7 455 -13 412 -13 _c +302 -13 215 20 151 87 _c +}_e{87 154 56 246 56 364 _c +56 481 87 573 151 641 _c +215 708 302 742 412 742 _c +456 742 497 736 535 725 _c +573 713 610 696 644 673 _c +_cl}_e}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +}_e{60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/b{{635 0 91 -13 580 760 _sc +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +181 464 _m +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +}_e{580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +181 0 _l +91 0 _l +91 760 _l +181 760 _l +181 464 _l +_cl}_e}_d +/c{{550 0 55 -13 488 560 _sc +488 526 _m +488 442 _l +462 456 437 466 411 473 _c +385 480 360 484 334 484 _c +276 484 230 465 198 428 _c +166 391 150 339 150 273 _c +150 206 166 154 198 117 _c +230 80 276 62 334 62 _c +360 62 385 65 411 72 _c +437 79 462 90 488 104 _c +488 21 _l +462 9 436 0 410 -5 _c +383 -10 354 -13 324 -13 _c +242 -13 176 12 128 64 _c +}_e{79 115 55 185 55 273 _c +55 362 79 432 128 483 _c +177 534 244 560 330 560 _c +358 560 385 557 411 551 _c +437 545 463 537 488 526 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +}_e{540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +}_e{285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/p{{635 0 91 -207 580 560 _sc +181 82 _m +181 -207 _l +91 -207 _l +91 547 _l +181 547 _l +181 464 _l +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +}_e{286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +_cl}_e}_d +/q{{635 0 55 -207 544 560 _sc +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +454 82 _m +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +}_e{55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +454 547 _l +544 547 _l +544 -207 _l +454 -207 _l +454 82 _l +_cl}_e}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +}_e{122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +}_e{_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 560 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +311 560 _m +311 560 _l +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +/acute{500 0 181 616 415 800 _sc +318 800 _m +415 800 _l +256 616 _l +181 616 _l +318 800 _l +_cl}_d +/eacute{615 0 55 -13 562 800 _sc +false CharStrings /e get exec +gsave 68 0 translate +false CharStrings /acute get exec +grestore }_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +90 252 translate +432 288 0 0 clipbox +gsave +0 0 m +432 0 l +432 288 l +0 288 l +cl +1.000 setgray +fill +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +429.165354 269.805354 l +12.904646 269.805354 l +cl +1.000 setgray +fill +grestore +0.500 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +416.3 257.7 12.9 12.09 clipbox +23.410613 12.094646 m +23.410613 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +23.4106 12.0946 o +grestore +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +20.863738 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +150.910218 12.094646 m +150.910218 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +150.91 12.0946 o +grestore +gsave +143.269593 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +278.409822 12.094646 m +278.409822 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +278.41 12.0946 o +grestore +gsave +270.769197 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +405.909426 12.094646 m +405.909426 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +405.909 12.0946 o +grestore +gsave +398.268801 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 52.936367 m +429.165354 52.936367 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 52.9364 o +grestore +gsave +1.420271 49.897305 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /three glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 99.415926 m +429.165354 99.415926 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 99.4159 o +grestore +gsave +1.420271 96.376863 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 145.895484 m +429.165354 145.895484 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 145.895 o +grestore +gsave +1.420271 142.856422 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 192.375043 m +429.165354 192.375043 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 192.375 o +grestore +gsave +4.310896 189.335981 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 238.854602 m +429.165354 238.854602 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 238.855 o +grestore +gsave +4.310896 235.815539 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +grestore +1.000 setlinewidth +1 setlinecap +0.000 0.606 0.979 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 30.397671 m +25.960605 27.322296 l +27.235601 30.315376 l +28.510597 28.387252 l +29.785593 27.744864 l +31.060589 26.427048 l +32.335585 26.553799 l +33.610581 31.119803 l +34.885577 31.335061 l +36.160574 31.354072 l +38.710566 27.792366 l +39.985562 25.58294 l +41.260558 33.176275 l +42.535554 30.872756 l +43.81055 30.951861 l +45.085546 29.891123 l +46.360542 28.448085 l +47.635538 33.236602 l +48.910534 31.714296 l +50.18553 27.027384 l +51.460526 29.964363 l +52.735522 26.776869 l +54.010518 27.492386 l +55.285514 29.805503 l +56.56051 28.565131 l +57.835506 29.325772 l +59.110502 30.653041 l +60.385498 31.059123 l +61.660494 30.013414 l +62.93549 29.133894 l +64.210487 31.032115 l +65.485483 28.610655 l +66.760479 31.623866 l +68.035475 30.626343 l +69.310471 28.77256 l +70.585467 31.019427 l +71.860463 30.796524 l +73.135459 28.585546 l +74.410455 29.551238 l +75.685451 30.142763 l +76.960447 29.677708 l +78.235443 33.533303 l +79.510439 33.333993 l +80.785435 34.564162 l +82.060431 32.831938 l +83.335427 30.04986 l +84.610423 30.234881 l +85.885419 27.899816 l +87.160415 30.589755 l +88.435411 31.151219 l +89.710407 27.488244 l +90.985403 26.086693 l +92.260399 30.881645 l +93.535396 29.065444 l +94.810392 29.133478 l +97.360384 29.584491 l +98.63538 31.255131 l +99.910376 30.731767 l +102.460368 27.998868 l +103.735364 30.305104 l +105.01036 30.053537 l +106.285356 31.022104 l +107.560352 28.794534 l +108.835348 29.29443 l +110.110344 30.793598 l +111.38534 28.265998 l +112.660336 27.175624 l +115.210328 33.352866 l +116.485324 31.755292 l +117.76032 28.788599 l +119.035316 34.256096 l +120.310312 34.0437 l +121.585309 31.952661 l +122.860305 29.390976 l +124.135301 29.200288 l +125.410297 27.265598 l +126.685293 29.88839 l +127.960289 32.982058 l +129.235285 32.265949 l +130.510281 34.281271 l +131.785277 30.580706 l +134.335269 26.975709 l +135.610265 33.865877 l +136.885261 29.48668 l +138.160257 29.654899 l +139.435253 23.318987 l +140.710249 19.388345 l +141.985245 22.982113 l +143.260241 21.218185 l +144.535237 26.026973 l +147.085229 21.767212 l +148.360225 23.782005 l +149.635221 26.358483 l +150.910218 26.194531 l +152.185214 25.392683 l +153.46021 27.999031 l +154.735206 26.368904 l +156.010202 26.815978 l +157.285198 21.355135 l +158.560194 28.126502 l +159.83519 29.089218 l +161.110186 27.303337 l +162.385182 30.446202 l +163.660178 29.496739 l +164.935174 32.096539 l +166.21017 33.278129 l +167.485166 28.29152 l +168.760162 39.881658 l +170.035158 38.842641 l +171.310154 38.547892 l +172.58515 39.642956 l +173.860146 41.054587 l +175.135142 41.365575 l +176.410138 45.067219 l +177.685134 45.682117 l +178.960131 44.634979 l +180.235127 46.457115 l +181.510123 54.455269 l +182.785119 47.817174 l +184.060115 48.854279 l +185.335111 55.70706 l +186.610107 56.026947 l +189.160099 58.584939 l +190.435095 57.683078 l +191.710091 65.000112 l +192.985087 64.480545 l +194.260083 70.887471 l +195.535079 71.917363 l +196.810075 75.697355 l +198.085071 77.538685 l +199.360067 75.883384 l +200.635063 80.708205 l +201.910059 84.029392 l +203.185055 85.542608 l +204.460051 85.33006 l +205.735047 86.661756 l +207.010044 90.881595 l +208.28504 89.703031 l +209.560036 92.82468 l +210.835032 95.357279 l +212.110028 99.365676 l +213.385024 99.586526 l +214.66002 102.243655 l +215.935016 105.259821 l +217.210012 110.291691 l +218.485008 113.120556 l +219.760004 114.747024 l +221.035 117.286933 l +222.309996 118.710887 l +223.584992 121.745348 l +224.859988 123.170978 l +226.134984 125.296663 l +227.40998 130.16939 l +228.684976 131.116353 l +229.959972 131.266208 l +231.234968 133.201425 l +232.509964 133.829325 l +233.78496 137.977361 l +235.059956 140.095983 l +236.334953 142.553953 l +237.609949 146.624061 l +238.884945 152.418506 l +240.159941 153.353889 l +241.434937 155.787883 l +242.709933 157.775451 l +243.984929 158.434416 l +245.259925 160.174264 l +246.534921 162.181593 l +247.809917 166.257074 l +249.084913 167.519057 l +250.359909 169.785916 l +252.909901 173.897601 l +254.184897 173.811621 l +255.459893 176.615108 l +256.734889 181.128768 l +258.009885 184.710402 l +259.284881 183.369692 l +260.559877 186.738023 l +261.834873 189.148046 l +263.109869 189.333591 l +264.384866 193.892433 l +265.659862 195.91853 l +266.934858 199.728997 l +268.209854 202.129051 l +269.48485 204.231119 l +270.759846 203.309952 l +272.034842 206.593433 l +273.309838 208.198489 l +274.584834 205.001196 l +275.85983 210.561779 l +277.134826 213.283739 l +278.409822 210.584458 l +279.684818 216.87694 l +280.959814 216.979754 l +282.23481 217.836384 l +283.509806 219.854742 l +284.784802 222.108052 l +286.059798 223.601439 l +287.334794 222.730293 l +288.60979 226.929921 l +289.884786 223.933229 l +291.159782 226.871339 l +292.434779 228.991309 l +293.709775 229.297516 l +294.984771 230.593848 l +296.259767 228.38594 l +297.534763 229.278783 l +298.809759 246.559522 l +300.084755 231.237701 l +301.359751 227.745781 l +303.909743 234.460553 l +305.184739 226.880916 l +306.459735 228.55189 l +307.734731 226.677754 l +309.009727 230.353111 l +310.284723 218.064589 l +311.559719 225.824687 l +312.834715 228.04353 l +314.109711 233.14947 l +315.384707 235.156732 l +316.659703 228.806103 l +317.934699 230.405209 l +319.209695 224.150217 l +320.484691 227.038609 l +321.759688 226.604964 l +323.034684 229.213019 l +324.30968 228.579565 l +325.584676 226.386945 l +326.859672 228.123844 l +328.134668 225.262756 l +329.409664 229.141777 l +330.68466 223.33589 l +331.959656 226.375967 l +333.234652 229.854944 l +334.509648 223.068843 l +335.784644 220.653746 l +337.05964 225.595546 l +338.334636 221.211275 l +339.609632 222.432816 l +340.884628 212.718132 l +342.159624 219.098384 l +343.43462 219.704196 l +344.709616 216.8424 l +345.984612 215.980133 l +347.259608 212.743395 l +348.534604 213.532055 l +349.809601 215.938108 l +351.084597 211.187544 l +352.359593 215.226262 l +353.634589 209.853935 l +354.909585 212.177923 l +356.184581 215.147663 l +357.459577 207.775932 l +358.734573 210.396538 l +360.009569 210.60185 l +361.284565 208.600626 l +362.559561 209.887565 l +363.834557 208.007831 l +365.109553 208.40682 l +366.384549 200.468448 l +367.659545 204.012135 l +368.934541 200.935869 l +370.209537 197.485748 l +371.484533 202.276668 l +374.034525 195.401154 l +375.309521 192.556357 l +376.584517 187.083027 l +377.859513 187.337226 l +379.13451 186.12934 l +380.409506 184.347516 l +381.684502 183.076674 l +382.959498 177.170737 l +384.234494 176.488572 l +385.50949 169.100511 l +386.784486 164.490845 l +388.059482 161.377137 l +389.334478 157.893459 l +390.609474 155.555422 l +391.88447 155.018695 l +393.159466 149.871124 l +394.434462 147.915119 l +395.709458 143.53216 l +398.25945 140.243347 l +399.534446 140.147377 l +400.809442 139.41177 l +402.084438 136.310238 l +403.359434 134.715136 l +404.63443 132.910291 l +405.909426 129.945599 l +407.184423 126.417186 l +408.459419 125.457789 l +409.734415 121.656087 l +411.009411 120.282936 l +412.284407 116.527165 l +413.559403 115.435203 l +414.834399 113.018054 l +416.109395 111.715466 l +417.384391 106.745445 l +417.384391 106.745445 l +stroke +grestore +0.889 0.436 0.278 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 246.354224 m +25.960605 190.210314 l +27.235601 193.113136 l +28.510597 199.848786 l +29.785593 200.175917 l +31.060589 196.489465 l +32.335585 185.674975 l +33.610581 185.479649 l +34.885577 191.563422 l +36.160574 196.628948 l +37.43557 199.033334 l +38.710566 193.733679 l +39.985562 191.168426 l +41.260558 191.570849 l +42.535554 193.63288 l +43.81055 192.673286 l +45.085546 189.704887 l +46.360542 185.659697 l +47.635538 186.719843 l +48.910534 192.854243 l +50.18553 194.602296 l +51.460526 193.966655 l +52.735522 197.229513 l +54.010518 195.154114 l +55.285514 192.788072 l +56.56051 193.786841 l +57.835506 190.127503 l +59.110502 191.035859 l +60.385498 193.827718 l +62.93549 192.451983 l +64.210487 192.877284 l +65.485483 192.432457 l +66.760479 189.997396 l +68.035475 192.13227 l +69.310471 190.491332 l +70.585467 192.143415 l +71.860463 196.694596 l +73.135459 200.082104 l +74.410455 199.336114 l +75.685451 195.180889 l +76.960447 190.424069 l +78.235443 183.766786 l +79.510439 184.806564 l +80.785435 189.489731 l +82.060431 193.332679 l +83.335427 190.205562 l +84.610423 190.000368 l +85.885419 191.021695 l +87.160415 191.086609 l +88.435411 194.575951 l +89.710407 195.310519 l +90.985403 193.38493 l +92.260399 193.132598 l +93.535396 195.882064 l +94.810392 191.836599 l +96.085388 190.301743 l +97.360384 189.82766 l +98.63538 192.492602 l +99.910376 194.398252 l +101.185372 193.36326 l +102.460368 192.938581 l +105.01036 189.459617 l +106.285356 188.91969 l +107.560352 193.773991 l +108.835348 197.032754 l +110.110344 195.491008 l +111.38534 196.833208 l +112.660336 195.896473 l +113.935332 194.417419 l +116.485324 192.319152 l +117.76032 185.566429 l +119.035316 181.281507 l +120.310312 189.65702 l +121.585309 195.758189 l +122.860305 201.315937 l +124.135301 200.366399 l +125.410297 195.360372 l +126.685293 183.970581 l +127.960289 185.855158 l +129.235285 189.669146 l +130.510281 194.635839 l +131.785277 195.435662 l +133.060273 184.285379 l +134.335269 177.708994 l +135.610265 174.431658 l +136.885261 186.850743 l +138.160257 194.952805 l +139.435253 198.924871 l +140.710249 194.383094 l +141.985245 191.752989 l +143.260241 194.636276 l +144.535237 193.76815 l +145.810233 198.872324 l +148.360225 195.302825 l +149.635221 188.834811 l +150.910218 188.63424 l +152.185214 191.627643 l +153.46021 193.034789 l +154.735206 198.766998 l +156.010202 198.8521 l +157.285198 198.288217 l +158.560194 196.549216 l +159.83519 193.371931 l +162.385182 199.740865 l +163.660178 203.43727 l +164.935174 202.577576 l +166.21017 202.180989 l +168.760162 192.558242 l +170.035158 200.951221 l +171.310154 200.290326 l +172.58515 195.887149 l +173.860146 201.331774 l +175.135142 201.444474 l +176.410138 196.389426 l +177.685134 198.548013 l +178.960131 199.491188 l +180.235127 199.316993 l +181.510123 202.354716 l +182.785119 203.248095 l +184.060115 198.954743 l +185.335111 197.09079 l +186.610107 204.55525 l +187.885103 207.538869 l +189.160099 209.991628 l +190.435095 210.613414 l +191.710091 203.703032 l +192.985087 202.224822 l +194.260083 199.845109 l +195.535079 203.739373 l +196.810075 203.616543 l +198.085071 202.568539 l +199.360067 202.461456 l +200.635063 197.778249 l +201.910059 198.652676 l +203.185055 200.3903 l +204.460051 203.773802 l +207.010044 203.930847 l +208.28504 204.54063 l +209.560036 203.907975 l +210.835032 206.939941 l +212.110028 208.891547 l +213.385024 210.276442 l +214.66002 206.328296 l +215.935016 203.701068 l +217.210012 201.927745 l +218.485008 201.66422 l +219.760004 203.949903 l +221.035 205.851831 l +222.309996 205.441597 l +223.584992 203.411397 l +224.859988 199.872309 l +226.134984 197.906167 l +227.40998 198.993631 l +228.684976 202.959858 l +229.959972 204.763371 l +231.234968 208.685311 l +232.509964 211.060782 l +233.78496 210.35247 l +235.059956 209.855196 l +236.334953 205.443449 l +237.609949 200.600377 l +238.884945 198.047243 l +240.159941 201.086497 l +241.434937 202.315152 l +242.709933 204.360361 l +243.984929 205.168842 l +245.259925 204.699908 l +247.809917 198.99929 l +249.084913 200.440512 l +250.359909 204.571395 l +251.634905 205.813666 l +252.909901 205.828851 l +254.184897 205.364758 l +255.459893 200.297079 l +256.734889 199.835879 l +258.009885 202.265048 l +259.284881 205.820531 l +260.559877 206.10934 l +261.834873 208.879846 l +263.109869 206.104975 l +264.384866 201.528968 l +265.659862 201.895373 l +266.934858 196.408654 l +268.209854 195.726559 l +269.48485 199.771036 l +270.759846 198.833136 l +272.034842 199.903442 l +273.309838 203.212258 l +274.584834 202.94563 l +275.85983 198.826553 l +277.134826 200.968042 l +278.409822 202.509137 l +279.684818 197.600976 l +280.959814 201.729803 l +282.23481 198.515563 l +283.509806 195.778583 l +284.784802 196.364961 l +286.059798 197.762498 l +287.334794 199.948366 l +288.60979 197.571939 l +289.884786 190.544912 l +291.159782 201.247776 l +292.434779 206.725442 l +293.709775 200.830398 l +294.984771 191.351558 l +296.259767 188.884345 l +297.534763 181.002285 l +298.809759 182.576249 l +300.084755 193.911914 l +301.359751 191.943241 l +302.634747 181.811729 l +303.909743 182.128473 l +305.184739 186.761555 l +306.459735 190.835269 l +307.734731 204.913749 l +309.009727 207.869445 l +310.284723 208.18941 l +311.559719 187.741202 l +312.834715 181.662289 l +314.109711 178.977167 l +315.384707 186.903634 l +316.659703 195.74726 l +317.934699 194.97151 l +319.209695 197.128977 l +320.484691 189.242103 l +321.759688 191.780934 l +323.034684 188.806021 l +324.30968 188.887203 l +325.584676 194.000685 l +326.859672 193.692574 l +328.134668 189.059719 l +329.409664 187.789653 l +331.959656 188.18033 l +333.234652 184.546508 l +334.509648 185.552995 l +335.784644 184.279713 l +337.05964 185.842969 l +338.334636 193.064254 l +339.609632 190.817078 l +340.884628 188.075284 l +342.159624 183.853047 l +343.43462 186.653881 l +344.709616 192.775696 l +345.984612 191.17559 l +347.259608 188.973215 l +348.534604 191.377011 l +349.809601 190.232104 l +351.084597 190.589232 l +352.359593 188.653999 l +353.634589 189.758605 l +354.909585 187.854933 l +356.184581 190.235814 l +357.459577 195.746164 l +358.734573 185.706544 l +360.009569 184.470134 l +361.284565 183.770956 l +362.559561 179.177162 l +365.109553 189.207344 l +366.384549 191.564929 l +367.659545 186.577195 l +368.934541 182.481319 l +370.209537 176.013888 l +371.484533 173.753973 l +372.759529 180.385097 l +374.034525 185.66623 l +376.584517 184.65628 l +377.859513 178.016338 l +379.13451 172.9606 l +380.409506 169.490272 l +381.684502 168.554443 l +382.959498 170.412121 l +384.234494 174.923744 l +385.50949 180.443574 l +386.784486 180.852502 l +389.334478 176.892338 l +390.609474 175.574551 l +391.88447 178.284368 l +393.159466 184.841939 l +394.434462 186.684644 l +395.709458 187.609988 l +398.25945 183.431032 l +399.534446 246.354224 l +400.809442 190.210314 l +402.084438 193.113136 l +403.359434 199.848786 l +404.63443 200.175917 l +405.909426 196.489465 l +407.184423 185.674975 l +408.459419 185.479649 l +409.734415 191.563422 l +411.009411 196.628948 l +412.284407 199.033334 l +413.559403 193.733679 l +414.834399 191.168426 l +416.109395 191.570849 l +417.384391 193.63288 l +417.384391 193.63288 l +stroke +grestore +0 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +12.904646 12.094646 m +12.904646 269.805354 l +stroke +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +stroke +grestore +1 setlinejoin +1 setlinecap +[] 0 setdash +0.242 0.643 0.304 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 262.511655 m +25.960605 189.904684 l +27.235601 183.461102 l +28.510597 194.191831 l +29.785593 201.253079 l +31.060589 203.66176 l +32.335585 195.962842 l +33.610581 186.261596 l +34.885577 179.731919 l +37.43557 200.573675 l +38.710566 202.491135 l +39.985562 195.256122 l +41.260558 181.619012 l +42.535554 193.274294 l +43.81055 198.91709 l +45.085546 192.757873 l +46.360542 188.604597 l +47.635538 182.191058 l +48.910534 187.971994 l +50.18553 194.598078 l +51.460526 192.997021 l +52.735522 196.697361 l +54.010518 194.155399 l +56.56051 196.588233 l +57.835506 190.30703 l +59.110502 190.975583 l +60.385498 189.868676 l +61.660494 194.102693 l +62.93549 195.581678 l +64.210487 190.867862 l +65.485483 192.398753 l +66.760479 191.738522 l +68.035475 192.895962 l +69.310471 190.820382 l +70.585467 189.381465 l +71.860463 191.582437 l +73.135459 197.990334 l +74.410455 198.695804 l +75.685451 201.028275 l +76.960447 197.795025 l +78.235443 186.923303 l +79.510439 185.519223 l +80.785435 181.724899 l +82.060431 188.409883 l +83.335427 196.580103 l +84.610423 194.195408 l +85.885419 186.113225 l +87.160415 186.426041 l +88.435411 194.143067 l +89.710407 198.778168 l +92.260399 188.717217 l +93.535396 195.870382 l +94.810392 196.585402 l +96.085388 194.157761 l +97.360384 187.622763 l +98.63538 187.762366 l +101.185372 197.846409 l +102.460368 194.269538 l +103.735364 188.362714 l +105.01036 192.260743 l +106.285356 192.267912 l +107.560352 189.332106 l +108.835348 187.627063 l +110.110344 197.103108 l +111.38534 204.997518 l +112.660336 193.519959 l +113.935332 189.315101 l +115.210328 195.472428 l +116.485324 200.41435 l +117.76032 191.640323 l +119.035316 180.964506 l +120.310312 182.103597 l +121.585309 187.648418 l +122.860305 197.804012 l +125.410297 203.834949 l +126.685293 194.112131 l +129.235285 178.671449 l +131.785277 198.747238 l +133.060273 199.544734 l +134.335269 186.78482 l +135.610265 167.774612 l +136.885261 177.434231 l +138.160257 182.282088 l +139.435253 200.554052 l +140.710249 202.671972 l +141.985245 192.030428 l +143.260241 189.407377 l +144.535237 190.405655 l +145.810233 200.867867 l +147.085229 198.220399 l +148.360225 194.860898 l +149.635221 193.14115 l +150.910218 196.508603 l +152.185214 184.802897 l +153.46021 185.161119 l +154.735206 197.803153 l +157.285198 202.342925 l +158.560194 191.069489 l +161.110186 202.565122 l +162.385182 188.371746 l +163.660178 198.136486 l +164.935174 204.991474 l +166.21017 208.228575 l +167.485166 202.535872 l +168.760162 189.148363 l +170.035158 196.350093 l +171.310154 200.038501 l +172.58515 202.363942 l +173.860146 199.127708 l +175.135142 192.796637 l +176.410138 202.930877 l +177.685134 204.861357 l +178.960131 195.173213 l +180.235127 193.25333 l +181.510123 198.774254 l +182.785119 211.544723 l +184.060115 202.934126 l +185.335111 190.897829 l +186.610107 200.81792 l +187.885103 202.704496 l +189.160099 210.208235 l +190.435095 210.603034 l +191.710091 206.486697 l +192.985087 210.518628 l +194.260083 198.401916 l +195.535079 198.53881 l +196.810075 201.151297 l +198.085071 208.184801 l +199.360067 206.514232 l +200.635063 195.239449 l +201.910059 198.845717 l +203.185055 200.455223 l +204.460051 201.553827 l +205.735047 200.043999 l +207.010044 204.518591 l +208.28504 208.081523 l +209.560036 202.972629 l +210.835032 201.226609 l +212.110028 205.674686 l +213.385024 212.914257 l +214.66002 210.3163 l +215.935016 206.302558 l +217.210012 201.165806 l +218.485008 202.780218 l +219.760004 203.389301 l +221.035 201.423558 l +222.309996 205.657757 l +223.584992 207.405762 l +224.859988 204.833152 l +227.40998 194.104696 l +228.684976 200.112409 l +229.959972 204.616551 l +231.234968 205.315773 l +232.509964 206.262223 l +233.78496 210.56244 l +235.059956 213.57727 l +236.334953 209.995182 l +237.609949 204.144821 l +238.884945 199.545918 l +240.159941 200.225761 l +241.434937 198.002814 l +242.709933 202.841693 l +243.984929 206.209243 l +245.259925 205.458026 l +246.534921 203.239804 l +247.809917 202.388695 l +249.084913 200.950495 l +250.359909 197.821026 l +251.634905 201.381252 l +252.909901 210.122014 l +254.184897 208.792275 l +255.459893 201.716463 l +256.734889 199.817247 l +258.009885 199.599202 l +259.284881 204.458134 l +260.559877 202.898132 l +261.834873 207.300588 l +263.109869 209.517679 l +264.384866 207.165167 l +265.659862 201.837867 l +266.934858 197.499059 l +268.209854 200.860722 l +269.48485 195.343502 l +270.759846 196.231492 l +272.034842 200.813182 l +273.309838 200.589534 l +274.584834 204.35525 l +275.85983 199.439246 l +277.134826 201.730384 l +278.409822 201.950874 l +279.684818 196.955603 l +280.959814 203.538453 l +282.23481 198.849183 l +283.509806 199.835288 l +284.784802 195.568965 l +286.059798 195.10167 l +287.334794 198.14442 l +288.60979 197.910744 l +289.884786 203.385902 l +291.159782 193.899316 l +292.434779 183.114117 l +293.709775 212.828615 l +294.984771 214.822347 l +297.534763 170.547064 l +298.809759 177.225466 l +300.084755 202.171077 l +302.634747 178.505181 l +303.909743 192.38852 l +305.184739 186.497384 l +306.459735 178.330129 l +307.734731 186.972496 l +309.009727 203.874986 l +310.284723 224.201337 l +311.559719 199.137482 l +312.834715 191.247176 l +314.109711 175.382384 l +315.384707 179.081859 l +316.659703 188.169142 l +317.934699 193.71398 l +319.209695 202.519564 l +320.484691 192.046583 l +321.759688 191.917136 l +323.034684 185.491922 l +324.30968 194.394131 l +326.859672 186.320242 l +328.134668 197.50341 l +329.409664 193.815853 l +330.68466 186.551636 l +331.959656 181.676309 l +333.234652 185.513382 l +334.509648 199.651486 l +335.784644 179.919201 l +337.05964 174.378573 l +338.334636 190.355158 l +339.609632 195.266293 l +340.884628 198.344771 l +342.159624 179.286031 l +343.43462 180.832392 l +344.709616 192.073264 l +345.984612 190.385856 l +347.259608 195.651765 l +348.534604 186.913124 l +349.809601 185.136451 l +351.084597 197.694332 l +352.359593 188.908102 l +353.634589 190.049169 l +354.909585 185.359382 l +356.184581 187.92345 l +357.459577 196.232044 l +358.734573 188.102197 l +360.009569 193.108552 l +361.284565 182.73684 l +362.559561 179.233905 l +363.834557 183.32994 l +365.109553 180.896555 l +366.384549 191.459644 l +367.659545 189.207544 l +368.934541 191.535927 l +370.209537 183.95666 l +371.484533 169.416342 l +372.759529 174.606385 l +375.309521 185.744734 l +376.584517 190.324544 l +377.859513 179.971643 l +379.13451 179.260421 l +381.684502 168.407279 l +382.959498 168.565349 l +384.234494 168.202597 l +385.50949 176.148217 l +386.784486 181.477285 l +388.059482 181.006526 l +389.334478 180.358207 l +390.609474 175.227727 l +391.88447 174.234775 l +393.159466 179.067819 l +394.434462 182.829724 l +395.709458 190.023937 l +396.984454 187.92567 l +398.25945 184.504891 l +399.534446 181.844506 l +400.809442 181.871746 l +402.084438 179.825836 l +403.359434 178.993078 l +404.63443 262.511655 l +405.909426 189.904684 l +407.184423 183.461102 l +408.459419 194.191831 l +409.734415 201.253079 l +411.009411 203.66176 l +412.284407 195.962842 l +413.559403 186.261596 l +414.834399 179.731919 l +417.384391 200.573675 l +417.384391 200.573675 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +14.000 scalefont +setfont +gsave +126.144375 275.805354 translate +0.000000 rotate +0.000000 0.000000 m /P glyphshow +8.442383 0.000000 m /o glyphshow +17.007812 0.000000 m /s glyphshow +24.301758 0.000000 m /i glyphshow +28.191406 0.000000 m /t glyphshow +33.680664 0.000000 m /i glyphshow +37.570312 0.000000 m /o glyphshow +46.135742 0.000000 m /n glyphshow +55.008789 0.000000 m /space glyphshow +59.458984 0.000000 m /e glyphshow +68.072266 0.000000 m /t glyphshow +73.561523 0.000000 m /space glyphshow +78.011719 0.000000 m /v glyphshow +86.296875 0.000000 m /i glyphshow +90.186523 0.000000 m /t glyphshow +95.675781 0.000000 m /e glyphshow +104.289062 0.000000 m /s glyphshow +111.583008 0.000000 m /s glyphshow +118.876953 0.000000 m /e glyphshow +127.490234 0.000000 m /space glyphshow +131.940430 0.000000 m /c glyphshow +139.637695 0.000000 m /a glyphshow +148.216797 0.000000 m /l glyphshow +152.106445 0.000000 m /c glyphshow +159.803711 0.000000 m /u glyphshow +168.676758 0.000000 m /l glyphshow +172.566406 0.000000 m /eacute glyphshow +181.179688 0.000000 m /e glyphshow +grestore +0.764 0.444 0.824 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 260.428972 m +25.960605 197.030233 l +27.235601 184.179689 l +28.510597 187.408354 l +29.785593 187.266264 l +31.060589 206.521644 l +32.335585 206.259658 l +33.610581 191.929108 l +34.885577 187.638583 l +37.43557 178.564948 l +38.710566 209.748671 l +39.985562 208.691306 l +41.260558 183.165254 l +42.535554 191.07301 l +43.81055 183.04419 l +45.085546 203.208961 l +46.360542 204.455635 l +47.635538 171.045866 l +48.910534 189.23349 l +50.18553 193.299122 l +51.460526 182.977569 l +52.735522 203.053506 l +54.010518 194.888816 l +55.285514 189.459 l +56.56051 198.812404 l +57.835506 197.549428 l +59.110502 190.322902 l +60.385498 185.799666 l +61.660494 196.790906 l +62.93549 189.95989 l +64.210487 193.725695 l +65.485483 200.035484 l +66.760479 181.867035 l +68.035475 194.030049 l +69.310471 199.97192 l +70.585467 183.937658 l +71.860463 188.589367 l +73.135459 198.031939 l +74.410455 190.735046 l +75.685451 202.100695 l +76.960447 202.72041 l +78.235443 194.496978 l +79.510439 192.152959 l +80.785435 178.618666 l +82.060431 186.495 l +83.335427 186.142472 l +84.610423 193.099056 l +85.885419 204.357488 l +87.160415 182.792141 l +88.435411 175.371668 l +89.710407 204.555452 l +90.985403 201.6187 l +92.260399 185.18986 l +93.535396 193.850037 l +94.810392 192.96605 l +96.085388 198.073531 l +97.360384 196.209585 l +98.63538 186.588967 l +99.910376 183.661225 l +101.185372 195.937634 l +102.460368 198.51519 l +103.735364 194.433518 l +105.01036 188.599481 l +106.285356 186.307769 l +107.560352 200.186966 l +110.110344 179.874661 l +111.38534 198.260549 l +112.660336 211.511976 l +113.935332 196.382085 l +115.210328 175.533929 l +116.485324 200.423207 l +117.76032 209.809808 l +119.035316 184.445935 l +120.310312 178.972551 l +121.585309 186.024677 l +122.860305 186.150563 l +124.135301 193.172433 l +125.410297 210.152549 l +126.685293 197.377042 l +127.960289 196.417288 l +129.235285 188.491882 l +130.510281 176.374078 l +131.785277 180.531467 l +133.060273 209.651472 l +134.335269 200.396949 l +135.610265 179.862085 l +136.885261 177.848369 l +138.160257 160.863433 l +139.435253 194.767427 l +140.710249 197.346183 l +141.985245 200.60776 l +143.260241 202.116325 l +144.535237 177.10758 l +147.085229 206.760187 l +148.360225 198.906183 l +149.635221 187.398615 l +150.910218 198.3857 l +152.185214 195.370176 l +153.46021 190.113846 l +154.735206 175.609367 l +156.010202 195.609993 l +157.285198 217.952256 l +158.560194 185.843215 l +159.83519 196.327391 l +161.110186 198.433333 l +162.385182 195.38667 l +163.660178 205.87746 l +164.935174 175.364595 l +166.21017 211.575929 l +167.485166 225.349713 l +168.760162 183.199393 l +170.035158 194.55404 l +171.310154 199.679469 l +172.58515 195.400718 l +173.860146 203.234166 l +175.135142 205.271688 l +176.410138 188.812771 l +177.685134 191.046682 l +178.960131 224.219733 l +180.235127 195.150532 l +181.510123 169.850936 l +182.785119 218.019797 l +184.060115 212.297679 l +185.335111 193.911028 l +186.610107 200.078344 l +187.885103 189.632523 l +189.160099 210.802136 l +190.435095 209.907214 l +191.710091 206.06862 l +192.985087 212.70725 l +194.260083 202.9671 l +195.535079 209.031154 l +196.810075 189.332289 l +198.085071 199.468426 l +199.360067 216.193435 l +200.635063 204.553607 l +201.910059 194.229956 l +203.185055 193.250452 l +204.460051 209.14665 l +205.735047 199.389869 l +207.010044 195.228858 l +208.28504 207.6875 l +209.560036 210.060241 l +210.835032 202.547961 l +212.110028 197.842248 l +213.385024 206.73352 l +214.66002 213.562648 l +215.935016 213.367755 l +217.210012 202.214857 l +218.485008 202.75497 l +219.760004 201.994257 l +221.035 203.726444 l +222.309996 203.904626 l +223.584992 199.438386 l +224.859988 211.798497 l +226.134984 208.400997 l +227.40998 192.737451 l +228.684976 197.800311 l +229.959972 198.060014 l +231.234968 204.615754 l +232.509964 209.367018 l +233.78496 202.299212 l +235.059956 208.118156 l +236.334953 219.732759 l +238.884945 198.959885 l +240.159941 204.606955 l +241.434937 198.354999 l +242.709933 197.70704 l +243.984929 201.331622 l +245.259925 208.86581 l +246.534921 206.161735 l +247.809917 200.127748 l +249.084913 203.480765 l +250.359909 203.458757 l +251.634905 196.215486 l +252.909901 197.548846 l +254.184897 212.260198 l +255.459893 215.376825 l +256.734889 195.626909 l +258.009885 195.792415 l +259.284881 209.709895 l +260.559877 196.642462 l +261.834873 204.364455 l +263.109869 209.916108 l +264.384866 206.498813 l +265.659862 208.768994 l +266.934858 204.302357 l +268.209854 193.451197 l +269.48485 197.720492 l +270.759846 208.349302 l +272.034842 184.04599 l +273.309838 197.46505 l +274.584834 218.989368 l +275.85983 187.502413 l +277.134826 201.678223 l +278.409822 211.795761 l +279.684818 191.710571 l +280.959814 199.778707 l +282.23481 203.854902 l +283.509806 202.824902 l +284.784802 191.501188 l +286.059798 202.709493 l +287.334794 195.02237 l +288.60979 189.571016 l +289.884786 208.24881 l +291.159782 197.687042 l +292.434779 197.085757 l +294.984771 180.79899 l +296.259767 252.685378 l +297.534763 199.171504 l +298.809759 128.887022 l +300.084755 197.090949 l +301.359751 216.572943 l +302.634747 177.84188 l +303.909743 174.538811 l +305.184739 193.409269 l +306.459735 202.052584 l +307.734731 164.800828 l +309.009727 176.711221 l +310.284723 224.473031 l +311.559719 209.669262 l +312.834715 214.843458 l +314.109711 176.913118 l +315.384707 180.286322 l +316.659703 180.237976 l +317.934699 182.070184 l +319.209695 201.054278 l +320.484691 197.777516 l +321.759688 199.228572 l +323.034684 182.321931 l +324.30968 192.501917 l +325.584676 188.39349 l +326.859672 197.039424 l +328.134668 186.680437 l +329.409664 181.242267 l +330.68466 216.635614 l +331.959656 182.468856 l +333.234652 162.029559 l +334.509648 204.398914 l +337.05964 185.139115 l +338.334636 166.771715 l +339.609632 181.888219 l +340.884628 217.991264 l +342.159624 183.49593 l +343.43462 182.609412 l +344.709616 181.283419 l +345.984612 184.591574 l +347.259608 205.021 l +348.534604 183.525477 l +349.809601 191.534773 l +351.084597 189.496425 l +352.359593 180.563864 l +353.634589 213.125105 l +354.909585 177.475654 l +356.184581 177.194659 l +357.459577 204.522702 l +358.734573 185.508823 l +360.009569 190.989389 l +361.284565 191.313653 l +362.559561 190.827635 l +363.834557 169.691862 l +365.109553 180.672743 l +366.384549 198.483562 l +367.659545 169.866994 l +368.934541 199.014078 l +370.209537 199.078149 l +371.484533 171.510576 l +372.759529 177.877447 l +374.034525 169.426125 l +375.309521 178.841196 l +376.584517 192.616438 l +377.859513 184.078658 l +379.13451 186.435527 l +380.409506 172.469432 l +381.684502 176.76762 l +382.959498 173.218388 l +384.234494 158.963286 l +385.50949 174.378426 l +386.784486 176.027546 l +388.059482 176.916054 l +389.334478 187.586667 l +390.609474 177.585027 l +391.88447 173.70615 l +393.159466 176.739412 l +394.434462 176.111211 l +395.709458 184.648893 l +396.984454 188.474804 l +398.25945 191.904059 l +399.534446 181.888 l +400.809442 179.73505 l +402.084438 184.986125 l +403.359434 180.59869 l +404.63443 174.588589 l +405.909426 182.104928 l +407.184423 180.530822 l +408.459419 179.246376 l +409.734415 260.428972 l +411.009411 197.030233 l +412.284407 184.179689 l +413.559403 187.408354 l +414.834399 187.266264 l +416.109395 206.521644 l +417.384391 206.259658 l +417.384391 206.259658 l +stroke +grestore +0 setlinejoin +0 setlinecap +[] 0 setdash +0.000 setgray +gsave +330.152854 16.094646 m +423.565354 16.094646 l +424.632021 16.094646 425.165354 16.627979 425.165354 17.694646 c +425.165354 63.894646 l +425.165354 64.961312 424.632021 65.494646 423.565354 65.494646 c +330.152854 65.494646 l +329.086188 65.494646 328.552854 64.961312 328.552854 63.894646 c +328.552854 17.694646 l +328.552854 16.627979 329.086188 16.094646 330.152854 16.094646 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.606 0.979 setrgbcolor +gsave +331.752854 59.016521 m +347.752854 59.016521 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +354.152854 56.216521 translate +0.000000 rotate +0.000000 0.000000 m /e glyphshow +4.921875 0.000000 m /r glyphshow +8.210938 0.000000 m /r glyphshow +11.500000 0.000000 m /e glyphshow +16.421875 0.000000 m /u glyphshow +21.492188 0.000000 m /r glyphshow +24.781250 0.000000 m /space glyphshow +27.324219 0.000000 m /m glyphshow +35.117188 0.000000 m /e glyphshow +40.039062 0.000000 m /s glyphshow +44.207031 0.000000 m /u glyphshow +49.277344 0.000000 m /r glyphshow +52.566406 0.000000 m /eacute glyphshow +57.488281 0.000000 m /e glyphshow +grestore +0.889 0.436 0.278 setrgbcolor +gsave +331.752854 47.266521 m +347.752854 47.266521 l +stroke +grestore +0.000 setgray +gsave +354.152854 44.466521 translate +0.000000 rotate +0.000000 0.000000 m /C glyphshow +5.585938 0.000000 m /u glyphshow +10.656250 0.000000 m /b glyphshow +15.734375 0.000000 m /i glyphshow +17.957031 0.000000 m /q glyphshow +23.035156 0.000000 m /u glyphshow +28.105469 0.000000 m /e glyphshow +33.027344 0.000000 m /space glyphshow +35.570312 0.000000 m /nine glyphshow +40.660156 0.000000 m /space glyphshow +43.203125 0.000000 m /p glyphshow +48.281250 0.000000 m /o glyphshow +53.175781 0.000000 m /i glyphshow +55.398438 0.000000 m /n glyphshow +60.468750 0.000000 m /t glyphshow +63.605469 0.000000 m /s glyphshow +grestore +0.242 0.643 0.304 setrgbcolor +gsave +331.752854 35.516521 m +347.752854 35.516521 l +stroke +grestore +0.000 setgray +gsave +354.152854 32.716521 translate +0.000000 rotate +0.000000 0.000000 m /C glyphshow +5.585938 0.000000 m /u glyphshow +10.656250 0.000000 m /b glyphshow +15.734375 0.000000 m /i glyphshow +17.957031 0.000000 m /q glyphshow +23.035156 0.000000 m /u glyphshow +28.105469 0.000000 m /e glyphshow +33.027344 0.000000 m /space glyphshow +35.570312 0.000000 m /seven glyphshow +40.660156 0.000000 m /space glyphshow +43.203125 0.000000 m /p glyphshow +48.281250 0.000000 m /o glyphshow +53.175781 0.000000 m /i glyphshow +55.398438 0.000000 m /n glyphshow +60.468750 0.000000 m /t glyphshow +63.605469 0.000000 m /s glyphshow +grestore +0.764 0.444 0.824 setrgbcolor +gsave +331.752854 23.766521 m +347.752854 23.766521 l +stroke +grestore +0.000 setgray +gsave +354.152854 20.966521 translate +0.000000 rotate +0.000000 0.000000 m /C glyphshow +5.585938 0.000000 m /u glyphshow +10.656250 0.000000 m /b glyphshow +15.734375 0.000000 m /i glyphshow +17.957031 0.000000 m /q glyphshow +23.035156 0.000000 m /u glyphshow +28.105469 0.000000 m /e glyphshow +33.027344 0.000000 m /space glyphshow +35.570312 0.000000 m /five glyphshow +40.660156 0.000000 m /space glyphshow +43.203125 0.000000 m /p glyphshow +48.281250 0.000000 m /o glyphshow +53.175781 0.000000 m /i glyphshow +55.398438 0.000000 m /n glyphshow +60.468750 0.000000 m /t glyphshow +63.605469 0.000000 m /s glyphshow +grestore + +end +showpage diff --git a/mesure_vitesse_cubique_5.eps b/mesure_vitesse_cubique_5.eps new file mode 100644 index 0000000..0ec5d31 --- /dev/null +++ b/mesure_vitesse_cubique_5.eps @@ -0,0 +1,1914 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: matplotlib version 3.0.2, http://matplotlib.org/ +%%CreationDate: Tue Apr 30 15:38:40 2019 +%%Orientation: portrait +%%BoundingBox: 90 252 522 540 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: DejaVu Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain +%%Creator: Converted from TrueType to type 3 by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-1021 -463 1793 1232]def +/FontType 3 def +/Encoding [ /space /hyphen /zero /one /two /three /P /a /c /e /i /l /m /n /o /r /s /t /u /v /acute /eacute ] def +/FontInfo 10 dict dup begin +/FamilyName (DejaVu Sans) def +/FullName (DejaVu Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def +/Weight (Book) def +/Version (Version 2.35) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -130 def +/UnderlineThickness 90 def +end readonly def +/CharStrings 23 dict dup begin +/.notdef 0 def +/space{318 0 0 0 0 0 _sc +}_d +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +}_e{359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +}_e{202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +}_e{60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/c{{550 0 55 -13 488 560 _sc +488 526 _m +488 442 _l +462 456 437 466 411 473 _c +385 480 360 484 334 484 _c +276 484 230 465 198 428 _c +166 391 150 339 150 273 _c +150 206 166 154 198 117 _c +230 80 276 62 334 62 _c +360 62 385 65 411 72 _c +437 79 462 90 488 104 _c +488 21 _l +462 9 436 0 410 -5 _c +383 -10 354 -13 324 -13 _c +242 -13 176 12 128 64 _c +}_e{79 115 55 185 55 273 _c +55 362 79 432 128 483 _c +177 534 244 560 330 560 _c +358 560 385 557 411 551 _c +437 545 463 537 488 526 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +}_e{540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +}_e{285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +}_e{122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +}_e{_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 560 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +311 560 _m +311 560 _l +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +/acute{500 0 181 616 415 800 _sc +318 800 _m +415 800 _l +256 616 _l +181 616 _l +318 800 _l +_cl}_d +/eacute{615 0 55 -13 562 800 _sc +false CharStrings /e get exec +gsave 68 0 translate +false CharStrings /acute get exec +grestore }_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +90 252 translate +432 288 0 0 clipbox +gsave +0 0 m +432 0 l +432 288 l +0 288 l +cl +1.000 setgray +fill +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +429.165354 269.805354 l +12.904646 269.805354 l +cl +1.000 setgray +fill +grestore +0.500 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +416.3 257.7 12.9 12.09 clipbox +23.410613 12.094646 m +23.410613 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +23.4106 12.0946 o +grestore +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +20.863738 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +150.910218 12.094646 m +150.910218 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +150.91 12.0946 o +grestore +gsave +143.269593 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +278.409822 12.094646 m +278.409822 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +278.41 12.0946 o +grestore +gsave +270.769197 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +405.909426 12.094646 m +405.909426 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +405.909 12.0946 o +grestore +gsave +398.268801 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 44.457062 m +429.165354 44.457062 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 44.4571 o +grestore +gsave +1.420271 41.417999 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /three glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 79.188852 m +429.165354 79.188852 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 79.1889 o +grestore +gsave +1.420271 76.149790 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 113.920643 m +429.165354 113.920643 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 113.921 o +grestore +gsave +1.420271 110.881580 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 148.652433 m +429.165354 148.652433 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 148.652 o +grestore +gsave +4.310896 145.613371 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 183.384224 m +429.165354 183.384224 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 183.384 o +grestore +gsave +4.310896 180.345161 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 218.116015 m +429.165354 218.116015 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 218.116 o +grestore +gsave +4.310896 215.076952 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 252.847805 m +429.165354 252.847805 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 252.848 o +grestore +gsave +4.310896 249.808743 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +grestore +1.000 setlinewidth +1 setlinecap +0.000 0.606 0.979 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 27.61505 m +25.960605 25.31698 l +27.235601 27.553555 l +28.510597 26.112767 l +29.785593 25.632743 l +31.060589 24.648007 l +32.335585 24.742721 l +33.610581 28.154662 l +34.885577 28.315514 l +36.160574 28.329719 l +39.985562 24.017248 l +41.260558 29.691358 l +42.535554 27.970056 l +43.81055 28.029167 l +45.085546 27.236532 l +46.360542 26.158224 l +47.635538 29.736437 l +48.910534 28.598896 l +50.18553 25.096607 l +51.460526 27.291261 l +52.735522 24.90941 l +54.010518 25.444079 l +55.285514 27.172553 l +56.56051 26.245686 l +57.835506 26.814075 l +59.110502 27.805875 l +60.385498 28.109319 l +62.93549 26.670694 l +64.210487 28.089137 l +65.485483 26.279704 l +66.760479 28.531323 l +68.035475 27.785924 l +69.310471 26.400688 l +70.585467 28.079656 l +71.860463 27.913092 l +73.135459 26.260942 l +74.410455 26.982554 l +75.685451 27.42457 l +76.960447 27.077059 l +78.235443 29.958146 l +79.510439 29.809213 l +80.785435 30.728455 l +82.060431 29.434052 l +83.335427 27.355148 l +84.610423 27.493405 l +85.885419 25.74853 l +87.160415 27.758584 l +88.435411 28.178138 l +89.710407 25.440984 l +90.985403 24.393677 l +92.260399 27.976699 l +93.535396 26.619545 l +96.085388 26.829039 l +97.360384 27.007402 l +98.63538 28.255786 l +99.910376 27.864703 l +102.460368 25.822548 l +103.735364 27.545879 l +105.01036 27.357896 l +106.285356 28.081657 l +107.560352 26.417108 l +108.835348 26.790654 l +110.110344 27.910906 l +111.38534 26.022159 l +112.660336 25.20738 l +115.210328 29.823315 l +116.485324 28.629531 l +117.76032 26.412673 l +119.035316 30.498253 l +120.310312 30.33954 l +121.585309 28.777014 l +122.860305 26.862798 l +124.135301 26.720307 l +125.410297 25.274612 l +126.685293 27.23449 l +127.960289 29.546229 l +129.235285 29.011118 l +130.510281 30.517065 l +131.785277 27.751822 l +134.335269 25.057993 l +135.610265 30.206662 l +136.885261 26.934313 l +138.160257 27.060014 l +139.435253 22.325512 l +140.710249 19.388345 l +141.985245 22.073783 l +143.260241 20.755691 l +144.535237 24.349051 l +147.085229 21.16595 l +148.360225 22.671502 l +149.635221 24.596772 l +150.910218 24.474259 l +152.185214 23.875079 l +153.46021 25.822669 l +154.735206 24.604558 l +156.010202 24.938634 l +157.285198 20.858026 l +158.560194 25.917922 l +159.83519 26.63731 l +161.110186 25.302813 l +162.385182 27.651315 l +163.660178 26.94183 l +164.935174 28.884527 l +166.21017 29.767468 l +167.485166 26.041231 l +168.760162 34.701947 l +170.035158 33.925543 l +171.310154 33.705292 l +172.58515 34.523577 l +173.860146 35.578416 l +175.135142 35.810802 l +176.410138 38.57685 l +177.685134 39.036333 l +178.960131 38.25386 l +180.235127 39.615449 l +181.510123 45.592059 l +182.785119 40.631751 l +184.060115 41.406727 l +185.335111 46.527458 l +186.610107 46.766493 l +189.160099 48.67795 l +190.435095 48.004035 l +191.710091 53.471679 l +192.985087 53.083434 l +194.260083 57.871001 l +195.535079 58.640586 l +196.810075 61.465181 l +198.085071 62.841112 l +199.360067 61.604191 l +200.635063 65.209532 l +201.910059 67.691285 l +203.185055 68.822033 l +204.460051 68.663207 l +205.735047 69.658315 l +207.010044 72.811585 l +208.28504 71.930904 l +209.560036 74.263552 l +210.835032 76.156033 l +212.110028 79.151303 l +213.385024 79.316333 l +214.66002 81.301869 l +215.935016 83.555695 l +217.210012 87.315753 l +218.485008 89.429619 l +219.760004 90.644996 l +221.035 92.542939 l +222.309996 93.606987 l +223.584992 95.874484 l +224.859988 96.939784 l +226.134984 98.5282 l +227.40998 102.169339 l +228.684976 102.876956 l +229.959972 102.988935 l +231.234968 104.435023 l +232.509964 104.904221 l +233.78496 108.003835 l +235.059956 109.586973 l +236.334953 111.423688 l +237.609949 114.46507 l +238.884945 118.794962 l +240.159941 119.493926 l +241.434937 121.312725 l +242.709933 122.797933 l +243.984929 123.290343 l +245.259925 124.590442 l +246.534921 126.090416 l +247.809917 129.135814 l +249.084913 130.07883 l +251.634905 133.282122 l +252.909901 134.845189 l +254.184897 134.78094 l +255.459893 136.875842 l +256.734889 140.248668 l +258.009885 142.92504 l +259.284881 141.923196 l +260.559877 144.440177 l +261.834873 146.241064 l +263.109869 146.379712 l +264.384866 149.786301 l +265.659862 151.300299 l +266.934858 154.147666 l +268.209854 155.941103 l +269.48485 157.511871 l +270.759846 156.82353 l +272.034842 159.277107 l +273.309838 160.476483 l +274.584834 158.08731 l +275.85983 162.242449 l +277.134826 164.27643 l +278.409822 162.259395 l +279.684818 166.961445 l +280.959814 167.038272 l +282.23481 167.678388 l +283.509806 169.186603 l +284.784802 170.870386 l +286.059798 171.986317 l +287.334794 171.335355 l +288.60979 174.473521 l +289.884786 172.234247 l +291.159782 174.429747 l +292.434779 176.013891 l +293.709775 176.242704 l +294.984771 177.211386 l +296.259767 175.56153 l +297.534763 176.228706 l +298.809759 189.141716 l +300.084755 177.692505 l +301.359751 175.083172 l +303.909743 180.100777 l +305.184739 174.436903 l +306.459735 175.685536 l +307.734731 174.28509 l +309.009727 177.031496 l +310.284723 167.848914 l +311.559719 173.647637 l +312.834715 175.305665 l +314.109711 179.121072 l +315.384707 180.620995 l +316.659703 175.875496 l +317.934699 177.070426 l +319.209695 172.396392 l +320.484691 174.554738 l +321.759688 174.230698 l +323.034684 176.179564 l +324.30968 175.706216 l +325.584676 174.067784 l +326.859672 175.365679 l +328.134668 173.227735 l +329.409664 176.126328 l +330.68466 171.787886 l +331.959656 174.05958 l +333.234652 176.659241 l +334.509648 171.588336 l +335.784644 169.783658 l +337.05964 173.476411 l +338.334636 170.200271 l +339.609632 171.113065 l +340.884628 163.85378 l +342.159624 168.621415 l +343.43462 169.074108 l +344.709616 166.935634 l +345.984612 166.291306 l +347.259608 163.872658 l +348.534604 164.461984 l +349.809601 166.259904 l +351.084597 162.71005 l +352.359593 165.727977 l +353.634589 161.713513 l +354.909585 163.45011 l +356.184581 165.669244 l +357.459577 160.160728 l +358.734573 162.118972 l +360.009569 162.272391 l +361.284565 160.77698 l +362.559561 161.738643 l +363.834557 160.334014 l +365.109553 160.632158 l +366.384549 154.70022 l +367.659545 157.348236 l +368.934541 155.0495 l +370.209537 152.471401 l +371.484533 156.05141 l +374.034525 150.913691 l +375.309521 148.78792 l +376.584517 144.697981 l +377.859513 144.887931 l +379.13451 143.98534 l +380.409506 142.653874 l +381.684502 141.704239 l +382.959498 137.291035 l +384.234494 136.781288 l +385.50949 131.260569 l +386.784486 127.816002 l +388.059482 125.489288 l +389.334478 122.886114 l +390.609474 121.139018 l +391.88447 120.73795 l +393.159466 116.891434 l +394.434462 115.429812 l +395.709458 112.154652 l +398.25945 109.697091 l +399.534446 109.625377 l +400.809442 109.075695 l +402.084438 106.758079 l +403.359434 105.566142 l +404.63443 104.217473 l +405.909426 102.002111 l +407.184423 99.365509 l +408.459419 98.648601 l +409.734415 95.807784 l +411.009411 94.781699 l +412.284407 91.975204 l +413.559403 91.159236 l +414.834399 89.353025 l +416.109395 88.379668 l +417.384391 84.665826 l +417.384391 84.665826 l +stroke +grestore +0.889 0.436 0.278 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 128.438451 m +25.960605 145.661958 l +27.235601 156.702383 l +28.510597 155.093819 l +29.785593 158.523619 l +31.060589 148.342166 l +32.335585 151.483335 l +33.610581 156.256278 l +34.885577 142.593662 l +36.160574 133.502125 l +37.43557 136.044257 l +38.710566 145.67729 l +39.985562 169.311198 l +41.260558 170.666227 l +42.535554 150.81173 l +43.81055 141.671678 l +45.085546 114.578015 l +46.360542 143.968237 l +47.635538 160.236838 l +48.910534 147.925981 l +50.18553 126.012458 l +51.460526 147.984446 l +52.735522 153.024414 l +54.010518 157.348691 l +55.285514 164.221623 l +56.56051 144.685585 l +57.835506 147.906267 l +59.110502 144.764311 l +60.385498 142.599946 l +61.660494 143.595105 l +62.93549 143.985069 l +64.210487 150.353925 l +65.485483 153.202214 l +66.760479 152.888512 l +68.035475 146.729438 l +69.310471 145.953075 l +70.585467 153.853615 l +71.860463 148.610562 l +73.135459 149.379177 l +74.410455 148.201321 l +75.685451 154.081788 l +76.960447 153.888431 l +78.235443 149.560585 l +79.510439 143.847674 l +80.785435 126.677562 l +82.060431 133.91552 l +83.335427 142.531765 l +84.610423 153.252851 l +85.885419 169.525161 l +87.160415 166.125759 l +88.435411 153.095187 l +89.710407 145.089857 l +90.985403 142.133095 l +92.260399 159.760963 l +93.535396 155.621152 l +94.810392 147.126386 l +96.085388 125.868048 l +97.360384 146.172014 l +98.63538 152.83004 l +99.910376 145.636711 l +101.185372 134.096245 l +102.460368 145.564472 l +103.735364 154.232157 l +105.01036 152.653031 l +106.285356 147.664533 l +107.560352 139.772277 l +108.835348 146.583695 l +110.110344 151.969696 l +111.38534 149.058039 l +112.660336 148.844825 l +113.935332 152.295691 l +115.210328 152.818424 l +116.485324 132.909437 l +117.76032 127.22746 l +119.035316 147.356687 l +120.310312 151.263276 l +121.585309 138.001215 l +122.860305 134.961066 l +124.135301 149.496396 l +125.410297 158.512912 l +126.685293 185.158861 l +127.960289 156.788066 l +129.235285 142.564085 l +130.510281 141.594948 l +131.785277 107.301168 l +133.060273 145.541307 l +134.335269 155.977621 l +135.610265 160.537989 l +136.885261 160.49604 l +138.160257 137.785278 l +139.435253 140.689866 l +140.710249 153.373993 l +141.985245 233.446951 l +143.260241 174.265276 l +144.535237 159.906123 l +145.810233 141.780396 l +147.085229 113.705992 l +148.360225 149.232026 l +149.635221 152.089159 l +150.910218 150.373901 l +152.185214 118.83123 l +153.46021 138.281861 l +154.735206 145.577424 l +156.010202 147.92445 l +157.285198 133.820973 l +158.560194 161.155644 l +159.83519 156.679941 l +161.110186 144.090893 l +162.385182 122.460366 l +163.660178 131.739279 l +164.935174 150.111202 l +166.21017 144.996545 l +167.485166 112.686437 l +168.760162 155.850104 l +170.035158 141.890585 l +171.310154 137.470345 l +172.58515 91.774547 l +173.860146 129.96788 l +175.135142 152.523499 l +176.410138 145.117395 l +177.685134 122.083642 l +178.960131 130.905505 l +180.235127 140.654911 l +181.510123 148.276463 l +182.785119 110.208181 l +184.060115 125.777419 l +185.335111 145.342771 l +186.610107 147.87191 l +187.885103 125.518875 l +189.160099 114.625001 l +190.435095 136.038794 l +191.710091 149.981209 l +192.985087 117.222597 l +194.260083 129.676896 l +195.535079 127.182001 l +196.810075 132.433183 l +198.085071 95.86299 l +199.360067 115.807789 l +200.635063 141.405261 l +201.910059 143.096897 l +203.185055 117.276393 l +204.460051 120.718179 l +205.735047 132.20412 l +207.010044 146.149262 l +208.28504 127.030018 l +209.560036 134.216176 l +210.835032 137.81238 l +212.110028 141.853099 l +213.385024 104.37815 l +214.66002 121.199284 l +215.935016 136.042328 l +217.210012 140.755727 l +218.485008 99.889437 l +219.760004 112.023049 l +221.035 127.26078 l +222.309996 136.223487 l +223.584992 117.782122 l +224.859988 131.129913 l +227.40998 140.871746 l +228.684976 98.262956 l +229.959972 121.39172 l +231.234968 133.650499 l +232.509964 142.160732 l +233.78496 142.731889 l +235.059956 135.087429 l +236.334953 134.252308 l +237.609949 137.115593 l +238.884945 98.941348 l +240.159941 117.77263 l +241.434937 124.140982 l +242.709933 133.180107 l +243.984929 108.887753 l +245.259925 136.608183 l +246.534921 139.724314 l +247.809917 143.782229 l +249.084913 148.652433 l +280.959814 148.652433 l +282.23481 140.820867 l +283.509806 140.934569 l +284.784802 115.308963 l +286.059798 140.745807 l +287.334794 135.984971 l +288.60979 143.103136 l +289.884786 123.383677 l +291.159782 143.182415 l +292.434779 145.533821 l +293.709775 143.74952 l +294.984771 129.042455 l +296.259767 129.234352 l +297.534763 146.910734 l +298.809759 156.497233 l +300.084755 80.651304 l +302.634747 147.388883 l +303.909743 166.44087 l +305.184739 198.41388 l +306.459735 132.526602 l +307.734731 150.729898 l +309.009727 160.164664 l +310.284723 148.606311 l +311.559719 158.575 l +312.834715 164.401323 l +314.109711 153.187882 l +315.384707 110.85964 l +316.659703 95.432921 l +317.934699 141.055651 l +319.209695 149.585145 l +320.484691 204.789917 l +321.759688 170.019674 l +323.034684 153.185351 l +324.30968 147.59264 l +325.584676 117.605362 l +326.859672 149.163982 l +328.134668 149.131604 l +329.409664 170.60097 l +330.68466 145.331213 l +331.959656 150.716937 l +333.234652 153.53868 l +334.509648 131.836226 l +335.784644 146.402866 l +337.05964 154.795362 l +338.334636 181.768181 l +339.609632 159.689139 l +340.884628 148.652433 l +342.159624 191.04737 l +343.43462 179.05195 l +344.709616 148.652433 l +385.50949 148.652433 l +386.784486 164.078516 l +388.059482 231.1791 l +389.334478 188.281793 l +390.609474 175.897584 l +391.88447 162.376881 l +393.159466 182.066599 l +394.434462 166.77303 l +395.709458 161.533769 l +396.984454 162.64436 l +398.25945 212.615325 l +399.534446 169.687057 l +400.809442 158.76391 l +402.084438 155.337616 l +403.359434 155.542545 l +404.63443 157.005308 l +405.909426 179.534588 l +407.184423 165.216734 l +408.459419 161.942733 l +409.734415 195.286075 l +411.009411 172.394526 l +412.284407 161.189865 l +413.559403 159.376019 l +414.834399 192.245371 l +416.109395 166.213289 l +417.384391 158.314095 l +417.384391 158.314095 l +stroke +grestore +0 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +12.904646 12.094646 m +12.904646 269.805354 l +stroke +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +stroke +grestore +1 setlinejoin +1 setlinecap +[] 0 setdash +0.242 0.643 0.304 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 26.604726 m +25.960605 140.30383 l +27.235601 163.349956 l +28.510597 157.559678 l +29.785593 157.814502 l +31.060589 123.281963 l +32.335585 123.751808 l +33.610581 149.452172 l +34.885577 157.146787 l +37.43557 173.419416 l +38.710566 117.494622 l +39.985562 119.390898 l +41.260558 165.169241 l +42.535554 150.987495 l +43.81055 165.386357 l +45.085546 129.222919 l +46.360542 126.987136 l +47.635538 186.904115 l +48.910534 154.286486 l +50.18553 146.995193 l +51.460526 165.505834 l +52.735522 129.501711 l +54.010518 144.144241 l +55.285514 153.882057 l +56.56051 137.10769 l +57.835506 139.372708 l +59.110502 152.332737 l +60.385498 160.444694 l +61.660494 140.733038 l +62.93549 152.983762 l +64.210487 146.230179 l +65.485483 134.914222 l +66.760479 167.497462 l +68.035475 145.68435 l +69.310471 135.028218 l +70.585467 163.784014 l +71.860463 155.441653 l +73.135459 138.507374 l +74.410455 151.593599 l +75.685451 131.21048 l +76.960447 130.099084 l +78.235443 144.846961 l +79.510439 149.050718 l +80.785435 173.323079 l +82.060431 159.197685 l +83.335427 159.829907 l +84.610423 147.353992 l +85.885419 127.163154 l +87.160415 165.83838 l +88.435411 179.146234 l +89.710407 126.808126 l +90.985403 132.074887 l +92.260399 161.538319 l +93.535396 146.007184 l +94.810392 147.592523 l +96.085388 138.432782 l +97.360384 141.775579 l +98.63538 159.029164 l +99.910376 164.279767 l +101.185372 142.263294 l +102.460368 137.640713 l +103.735364 144.960772 l +105.01036 155.423514 l +106.285356 159.533464 l +107.560352 134.642554 l +110.110344 171.07058 l +111.38534 138.097385 l +112.660336 114.332317 l +113.935332 141.466216 l +115.210328 178.855235 l +116.485324 134.218881 l +117.76032 117.38498 l +119.035316 162.872471 l +120.310312 172.688421 l +121.585309 160.041161 l +122.860305 159.815396 l +124.135301 147.222396 l +125.410297 116.77031 l +126.685293 139.681864 l +127.960289 141.403083 l +129.235285 155.616482 l +130.510281 177.348515 l +131.785277 169.892667 l +133.060273 117.66894 l +134.335269 134.265972 l +135.610265 171.093134 l +136.885261 174.704526 l +138.160257 205.165258 l +139.435253 144.361939 l +140.710249 139.737206 l +141.985245 133.887904 l +143.260241 131.182448 l +144.535237 176.033054 l +147.085229 122.854161 l +148.360225 136.939508 l +149.635221 157.577143 l +150.910218 137.872939 l +152.185214 143.280971 l +153.46021 152.707658 l +154.735206 178.719945 l +156.010202 142.850885 l +157.285198 102.782339 l +158.560194 160.366593 l +159.83519 141.564305 l +161.110186 137.787516 l +162.385182 143.251392 l +163.660178 124.43724 l +164.935174 179.158919 l +166.21017 114.217623 l +167.485166 89.515761 l +168.760162 165.108017 l +170.035158 144.744626 l +171.310154 135.552698 l +172.58515 143.226197 l +173.860146 129.177716 l +175.135142 125.52363 l +176.410138 155.041002 l +177.685134 151.034713 l +178.960131 91.542265 l +180.235127 143.67488 l +181.510123 189.047098 l +182.785119 102.661211 l +184.060115 112.92324 l +185.335111 145.897803 l +186.610107 134.837357 l +187.885103 153.570861 l +189.160099 115.605341 l +190.435095 117.210292 l +191.710091 124.094415 l +192.985087 112.188716 l +194.260083 129.656671 l +195.535079 118.781415 l +196.810075 154.109298 l +198.085071 135.931182 l +199.360067 105.936603 l +200.635063 126.811435 l +201.910059 145.325838 l +203.185055 147.082478 l +204.460051 118.574285 l +205.735047 136.072067 l +207.010044 143.53441 l +208.28504 121.19112 l +209.560036 116.935854 l +210.835032 130.408353 l +212.110028 138.847565 l +213.385024 122.901984 l +214.66002 110.654648 l +215.935016 111.004169 l +217.210012 131.005741 l +218.485008 130.037104 l +219.760004 131.401365 l +221.035 128.294867 l +222.309996 127.975315 l +223.584992 135.985056 l +224.859988 113.81847 l +226.134984 119.911538 l +227.40998 148.002491 l +228.684976 138.922774 l +229.959972 138.457023 l +231.234968 126.69998 l +232.509964 118.179079 l +233.78496 130.854459 l +235.059956 120.418782 l +236.334953 99.589191 l +238.884945 136.843198 l +240.159941 126.715761 l +241.434937 137.927999 l +242.709933 139.090046 l +243.984929 132.589732 l +245.259925 119.077943 l +246.534921 123.927423 l +247.809917 134.748756 l +249.084913 128.735466 l +250.359909 128.774934 l +251.634905 141.764995 l +252.909901 139.373751 l +254.184897 112.990458 l +255.459893 107.401109 l +256.734889 142.820546 l +258.009885 142.523729 l +259.284881 117.564164 l +260.559877 140.999257 l +261.834873 127.150659 l +263.109869 117.194341 l +264.384866 123.322907 l +265.659862 119.251572 l +266.934858 127.262025 l +268.209854 146.722462 l +269.48485 139.065921 l +270.759846 120.004247 l +272.034842 163.589731 l +273.309838 139.52403 l +274.584834 100.922385 l +275.85983 157.390994 l +277.134826 131.968138 l +278.409822 113.823377 l +279.684818 149.844096 l +280.959814 135.374726 l +282.23481 128.06449 l +283.509806 129.911688 l +284.784802 150.219602 l +286.059798 130.118663 l +287.334794 143.904725 l +288.60979 153.681168 l +289.884786 120.184469 l +291.159782 139.125912 l +292.434779 140.204253 l +294.984771 169.412891 l +296.259767 40.492064 l +297.534763 136.463681 l +298.809759 262.511655 l +300.084755 140.194943 l +301.359751 105.255993 l +302.634747 174.716163 l +303.909743 180.639877 l +305.184739 146.797657 l +306.459735 131.296761 l +307.734731 198.103945 l +309.009727 176.743884 l +310.284723 91.088001 l +311.559719 117.637034 l +312.834715 108.357646 l +314.109711 176.381802 l +315.384707 170.332308 l +316.659703 170.419012 l +317.934699 167.133137 l +319.209695 133.08712 l +320.484691 138.963655 l +321.759688 136.361336 l +323.034684 166.681654 l +324.30968 148.424897 l +325.584676 155.792939 l +326.859672 140.287346 l +328.134668 158.865122 l +329.409664 168.61792 l +330.68466 105.1436 l +331.959656 166.418159 l +333.234652 203.073931 l +334.509648 127.08886 l +337.05964 161.629324 l +338.334636 194.569363 l +339.609632 167.459472 l +340.884628 102.712382 l +342.159624 164.576207 l +343.43462 166.166087 l +344.709616 168.544119 l +345.984612 162.611284 l +347.259608 125.973213 l +348.534604 164.523218 l +349.809601 150.159372 l +351.084597 153.814938 l +352.359593 169.834566 l +353.634589 111.439336 l +354.909585 175.372951 l +356.184581 175.876888 l +357.459577 126.86686 l +358.734573 160.966291 l +360.009569 151.137461 l +361.284565 150.555927 l +362.559561 151.427551 l +363.834557 189.332381 l +365.109553 169.639302 l +366.384549 137.697434 l +367.659545 189.018299 l +368.934541 136.746008 l +370.209537 136.631104 l +371.484533 186.070704 l +372.759529 174.652377 l +374.034525 189.808952 l +375.309521 172.923993 l +376.584517 148.219517 l +377.859513 163.531145 l +379.13451 159.304343 l +380.409506 184.351095 l +381.684502 176.642737 l +382.959498 183.00792 l +384.234494 208.572976 l +385.50949 180.927511 l +386.784486 177.969984 l +388.059482 176.376537 l +389.334478 157.239893 l +390.609474 175.176804 l +391.88447 182.133169 l +393.159466 176.693327 l +394.434462 177.81994 l +395.709458 162.508487 l +396.984454 155.64711 l +398.25945 149.497094 l +399.534446 167.459865 l +400.809442 171.320957 l +402.084438 161.903697 l +403.359434 169.772109 l +404.63443 180.550605 l +405.909426 167.070826 l +407.184423 169.893823 l +408.459419 172.197345 l +409.734415 26.604726 l +411.009411 140.30383 l +412.284407 163.349956 l +413.559403 157.559678 l +414.834399 157.814502 l +416.109395 123.281963 l +417.384391 123.751808 l +417.384391 123.751808 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +14.000 scalefont +setfont +gsave +120.730312 275.805354 translate +0.000000 rotate +0.000000 0.000000 m /P glyphshow +8.442383 0.000000 m /o glyphshow +17.007812 0.000000 m /s glyphshow +24.301758 0.000000 m /i glyphshow +28.191406 0.000000 m /t glyphshow +33.680664 0.000000 m /i glyphshow +37.570312 0.000000 m /o glyphshow +46.135742 0.000000 m /n glyphshow +55.008789 0.000000 m /space glyphshow +59.458984 0.000000 m /e glyphshow +68.072266 0.000000 m /t glyphshow +73.561523 0.000000 m /space glyphshow +78.011719 0.000000 m /v glyphshow +86.296875 0.000000 m /i glyphshow +90.186523 0.000000 m /t glyphshow +95.675781 0.000000 m /e glyphshow +104.289062 0.000000 m /s glyphshow +111.583008 0.000000 m /s glyphshow +118.876953 0.000000 m /e glyphshow +127.490234 0.000000 m /space glyphshow +131.940430 0.000000 m /m glyphshow +145.578125 0.000000 m /e glyphshow +154.191406 0.000000 m /s glyphshow +161.485352 0.000000 m /u glyphshow +170.358398 0.000000 m /r glyphshow +176.114258 0.000000 m /eacute glyphshow +184.727539 0.000000 m /e glyphshow +193.340820 0.000000 m /s glyphshow +grestore +0 setlinejoin +0 setlinecap +[] 0 setdash +gsave +18.504646 228.155354 m +110.042146 228.155354 l +111.108812 228.155354 111.642146 228.688688 111.642146 229.755354 c +111.642146 264.205354 l +111.642146 265.272021 111.108812 265.805354 110.042146 265.805354 c +18.504646 265.805354 l +17.437979 265.805354 16.904646 265.272021 16.904646 264.205354 c +16.904646 229.755354 l +16.904646 228.688688 17.437979 228.155354 18.504646 228.155354 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.606 0.979 setrgbcolor +gsave +20.104646 259.327229 m +36.104646 259.327229 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +42.504646 256.527229 translate +0.000000 rotate +0.000000 0.000000 m /e glyphshow +4.921875 0.000000 m /r glyphshow +8.210938 0.000000 m /r glyphshow +11.500000 0.000000 m /e glyphshow +16.421875 0.000000 m /u glyphshow +21.492188 0.000000 m /r glyphshow +grestore +0.889 0.436 0.278 setrgbcolor +gsave +20.104646 247.577229 m +36.104646 247.577229 l +stroke +grestore +0.000 setgray +gsave +42.504646 244.777229 translate +0.000000 rotate +0.000000 0.000000 m /v glyphshow +4.734375 0.000000 m /i glyphshow +6.957031 0.000000 m /t glyphshow +10.093750 0.000000 m /e glyphshow +15.015625 0.000000 m /s glyphshow +19.183594 0.000000 m /s glyphshow +23.351562 0.000000 m /e glyphshow +28.273438 0.000000 m /space glyphshow +30.816406 0.000000 m /m glyphshow +38.609375 0.000000 m /e glyphshow +43.531250 0.000000 m /s glyphshow +47.699219 0.000000 m /u glyphshow +52.769531 0.000000 m /r glyphshow +56.058594 0.000000 m /eacute glyphshow +60.980469 0.000000 m /e glyphshow +grestore +0.242 0.643 0.304 setrgbcolor +gsave +20.104646 235.827229 m +36.104646 235.827229 l +stroke +grestore +0.000 setgray +gsave +42.504646 233.027229 translate +0.000000 rotate +0.000000 0.000000 m /v glyphshow +4.734375 0.000000 m /i glyphshow +6.957031 0.000000 m /t glyphshow +10.093750 0.000000 m /e glyphshow +15.015625 0.000000 m /s glyphshow +19.183594 0.000000 m /s glyphshow +23.351562 0.000000 m /e glyphshow +28.273438 0.000000 m /space glyphshow +30.816406 0.000000 m /c glyphshow +35.214844 0.000000 m /a glyphshow +40.117188 0.000000 m /l glyphshow +42.339844 0.000000 m /c glyphshow +46.738281 0.000000 m /u glyphshow +51.808594 0.000000 m /l glyphshow +54.031250 0.000000 m /eacute glyphshow +58.953125 0.000000 m /e glyphshow +grestore + +end +showpage diff --git a/mesure_vitesse_cubique_9.eps b/mesure_vitesse_cubique_9.eps new file mode 100644 index 0000000..f626b0e --- /dev/null +++ b/mesure_vitesse_cubique_9.eps @@ -0,0 +1,1709 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: matplotlib version 3.0.2, http://matplotlib.org/ +%%CreationDate: Wed May 1 12:23:19 2019 +%%Orientation: portrait +%%BoundingBox: 90 252 522 540 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: DejaVu Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain +%%Creator: Converted from TrueType to type 3 by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-1021 -463 1793 1232]def +/FontType 3 def +/Encoding [ /space /hyphen /zero /one /two /three /nine /P /a /b /c /d /e /f /i /l /m /n /o /q /r /s /t /u /v /acute /eacute ] def +/FontInfo 10 dict dup begin +/FamilyName (DejaVu Sans) def +/FullName (DejaVu Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def +/Weight (Book) def +/Version (Version 2.35) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -130 def +/UnderlineThickness 90 def +end readonly def +/CharStrings 28 dict dup begin +/.notdef 0 def +/space{318 0 0 0 0 0 _sc +}_d +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +}_e{359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +}_e{202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/nine{{636 0 63 -13 566 742 _sc +110 15 _m +110 105 _l +134 93 159 84 185 78 _c +210 72 235 69 260 69 _c +324 69 374 90 408 134 _c +442 178 462 244 468 334 _c +448 306 424 284 396 269 _c +367 254 335 247 300 247 _c +226 247 168 269 126 313 _c +84 357 63 417 63 494 _c +63 568 85 628 129 674 _c +173 719 232 742 306 742 _c +390 742 455 709 499 645 _c +543 580 566 486 566 364 _c +}_e{566 248 538 157 484 89 _c +429 21 356 -13 264 -13 _c +239 -13 214 -10 189 -6 _c +163 -2 137 5 110 15 _c +306 324 _m +350 324 385 339 411 369 _c +437 399 450 441 450 494 _c +450 546 437 588 411 618 _c +385 648 350 664 306 664 _c +262 664 227 648 201 618 _c +175 588 162 546 162 494 _c +162 441 175 399 201 369 _c +227 339 262 324 306 324 _c +_cl}_e}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +}_e{60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/b{{635 0 91 -13 580 760 _sc +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +181 464 _m +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +}_e{580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +181 0 _l +91 0 _l +91 760 _l +181 760 _l +181 464 _l +_cl}_e}_d +/c{{550 0 55 -13 488 560 _sc +488 526 _m +488 442 _l +462 456 437 466 411 473 _c +385 480 360 484 334 484 _c +276 484 230 465 198 428 _c +166 391 150 339 150 273 _c +150 206 166 154 198 117 _c +230 80 276 62 334 62 _c +360 62 385 65 411 72 _c +437 79 462 90 488 104 _c +488 21 _l +462 9 436 0 410 -5 _c +383 -10 354 -13 324 -13 _c +242 -13 176 12 128 64 _c +}_e{79 115 55 185 55 273 _c +55 362 79 432 128 483 _c +177 534 244 560 330 560 _c +358 560 385 557 411 551 _c +437 545 463 537 488 526 _c +_cl}_e}_d +/d{{635 0 55 -13 544 760 _sc +454 464 _m +454 760 _l +544 760 _l +544 0 _l +454 0 _l +454 82 _l +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +}_e{348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +}_e{540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/f{352 0 23 0 371 760 _sc +371 760 _m +371 685 _l +285 685 _l +253 685 230 678 218 665 _c +205 652 199 629 199 595 _c +199 547 _l +347 547 _l +347 477 _l +199 477 _l +199 0 _l +109 0 _l +109 477 _l +23 477 _l +23 547 _l +109 547 _l +109 585 _l +109 645 123 690 151 718 _c +179 746 224 760 286 760 _c +371 760 _l +_cl}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +}_e{285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/q{{635 0 55 -207 544 560 _sc +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +454 82 _m +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +}_e{55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +454 547 _l +544 547 _l +544 -207 _l +454 -207 _l +454 82 _l +_cl}_e}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +}_e{122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +}_e{_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 560 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +311 560 _m +311 560 _l +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +/acute{500 0 181 616 415 800 _sc +318 800 _m +415 800 _l +256 616 _l +181 616 _l +318 800 _l +_cl}_d +/eacute{615 0 55 -13 562 800 _sc +false CharStrings /e get exec +gsave 68 0 translate +false CharStrings /acute get exec +grestore }_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +90 252 translate +432 288 0 0 clipbox +gsave +0 0 m +432 0 l +432 288 l +0 288 l +cl +1.000 setgray +fill +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +429.165354 269.085354 l +12.904646 269.085354 l +cl +1.000 setgray +fill +grestore +0.500 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +416.3 257 12.9 12.09 clipbox +23.410613 12.094646 m +23.410613 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +23.4106 12.0946 o +grestore +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +20.863738 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +150.910218 12.094646 m +150.910218 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +150.91 12.0946 o +grestore +gsave +143.269593 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +278.409822 12.094646 m +278.409822 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +278.41 12.0946 o +grestore +gsave +270.769197 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +405.909426 12.094646 m +405.909426 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +405.909 12.0946 o +grestore +gsave +398.268801 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 55.171448 m +429.165354 55.171448 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 55.1714 o +grestore +gsave +1.420271 52.132386 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /three glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 104.775862 m +429.165354 104.775862 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 104.776 o +grestore +gsave +1.420271 101.736800 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 154.380276 m +429.165354 154.380276 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 154.38 o +grestore +gsave +1.420271 151.341214 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 203.98469 m +429.165354 203.98469 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 203.985 o +grestore +gsave +4.310896 200.945628 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 253.589104 m +429.165354 253.589104 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 253.589 o +grestore +gsave +4.310896 250.550042 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +grestore +1.000 setlinewidth +1 setlinecap +0.000 0.606 0.979 setrgbcolor +gsave +416.3 257 12.9 12.09 clipbox +24.685609 31.117459 m +25.960605 27.835324 l +27.235601 31.029631 l +28.510597 28.971878 l +29.785593 28.286301 l +31.060589 26.879888 l +32.335585 27.01516 l +33.610581 31.888141 l +34.885577 32.117871 l +36.160574 32.138159 l +38.710566 28.336997 l +39.985562 25.97903 l +41.260558 34.08287 l +42.535554 31.624484 l +43.81055 31.708907 l +45.085546 30.576855 l +46.360542 29.036801 l +47.635538 34.147253 l +48.910534 32.522601 l +50.18553 27.520585 l +51.460526 30.655019 l +52.735522 27.253227 l +54.010518 28.016849 l +55.285514 30.485479 l +56.56051 29.161715 l +57.835506 29.973496 l +59.110502 31.389998 l +60.385498 31.823381 l +61.660494 30.707368 l +62.93549 29.768717 l +64.210487 31.794557 l +65.485483 29.2103 l +66.760479 32.426092 l +68.035475 31.361504 l +69.310471 29.383091 l +70.585467 31.781016 l +71.860463 31.543127 l +73.135459 29.183503 l +74.410455 30.214119 l +75.685451 30.845413 l +76.960447 30.349093 l +78.235443 34.463901 l +79.510439 34.251192 l +80.785435 35.564066 l +82.060431 33.715383 l +83.335427 30.746264 l +84.610423 30.943725 l +85.885419 28.451671 l +87.160415 31.322457 l +88.435411 31.921669 l +89.710407 28.012429 l +90.985403 26.516651 l +92.260399 31.633971 l +93.535396 29.695666 l +94.810392 29.768273 l +97.360384 30.249608 l +98.63538 32.032566 l +99.910376 31.474016 l +102.460368 28.557383 l +103.735364 31.018668 l +105.01036 30.750189 l +106.285356 31.783873 l +107.560352 29.406542 l +108.835348 29.940046 l +110.110344 31.540004 l +111.38534 28.842471 l +112.660336 27.678792 l +115.210328 34.271334 l +116.485324 32.566354 l +117.76032 29.400208 l +119.035316 35.235288 l +120.310312 35.008613 l +121.585309 32.776992 l +122.860305 30.043083 l +124.135301 29.839575 l +125.410297 27.774815 l +126.685293 30.573939 l +127.960289 33.875596 l +129.235285 33.111342 l +130.510281 35.262156 l +131.785277 31.312799 l +134.335269 27.465436 l +135.610265 34.818834 l +136.885261 30.145222 l +138.160257 30.32475 l +139.435253 23.562869 l +140.710249 19.367968 l +141.985245 23.203347 l +143.260241 21.320829 l +144.535237 26.452916 l +147.085229 21.906767 l +148.360225 24.057017 l +149.635221 26.806713 l +150.910218 26.631739 l +152.185214 25.775982 l +153.46021 28.557556 l +154.735206 26.817834 l +156.010202 27.294966 l +157.285198 21.466986 l +158.560194 28.693598 l +159.83519 29.721038 l +161.110186 27.815091 l +162.385182 31.169253 l +163.660178 30.155957 l +164.935174 32.930543 l +166.21017 34.191572 l +167.485166 28.869709 l +168.760162 41.239061 l +170.035158 40.130191 l +171.310154 39.815625 l +172.58515 40.984312 l +173.860146 42.490847 l +175.135142 42.822743 l +176.410138 46.773251 l +177.685134 47.42949 l +178.960131 46.311952 l +180.235127 48.256591 l +181.510123 56.792466 l +182.785119 49.708088 l +184.060115 50.814919 l +185.335111 58.128417 l +186.610107 58.46981 l +189.160099 61.199778 l +190.435095 60.237284 l +191.710091 68.046248 l +192.985087 67.49175 l +194.260083 74.329418 l +195.535079 75.42855 l +196.810075 79.462675 l +198.085071 81.427798 l +199.360067 79.661211 l +200.635063 84.810407 l +201.910059 88.354881 l +203.185055 89.969831 l +204.460051 89.742993 l +205.735047 91.16422 l +207.010044 95.667762 l +208.28504 94.409963 l +209.560036 97.741482 l +210.835032 100.444349 l +212.110028 104.722234 l +213.385024 104.957932 l +214.66002 107.793702 l +215.935016 111.012647 l +217.210012 116.382813 l +218.485008 119.401864 l +219.760004 121.137681 l +221.035 123.848351 l +222.309996 125.368038 l +223.584992 128.606508 l +224.859988 130.127984 l +226.134984 132.396581 l +227.40998 137.596905 l +228.684976 138.607533 l +229.959972 138.767462 l +231.234968 140.832786 l +232.509964 141.5029 l +233.78496 145.929811 l +235.059956 148.19087 l +236.334953 150.814092 l +237.609949 155.157835 l +238.884945 161.341846 l +240.159941 162.340115 l +241.434937 164.937748 l +242.709933 167.058942 l +243.984929 167.76221 l +245.259925 169.619029 l +246.534921 171.761312 l +247.809917 176.110791 l +249.084913 177.457618 l +250.359909 179.87688 l +252.909901 184.264996 l +254.184897 184.173236 l +255.459893 187.165203 l +256.734889 191.982319 l +258.009885 195.804749 l +259.284881 194.373902 l +260.559877 197.968689 l +261.834873 200.54074 l +263.109869 200.738759 l +264.384866 205.604095 l +265.659862 207.766408 l +266.934858 211.833055 l +268.209854 214.394467 l +269.48485 216.637858 l +270.759846 215.654761 l +272.034842 219.158993 l +273.309838 220.871958 l +274.584834 217.459708 l +275.85983 223.394134 l +277.134826 226.299094 l +278.409822 223.418338 l +279.684818 230.133868 l +280.959814 230.243594 l +282.23481 231.157816 l +283.509806 233.31187 l +284.784802 235.716672 l +286.059798 237.310459 l +287.334794 236.380746 l +288.60979 240.862718 l +289.884786 237.664556 l +291.159782 240.800198 l +292.434779 243.062694 l +293.709775 243.389489 l +294.984771 244.772974 l +296.259767 242.416627 l +297.534763 243.369496 l +298.809759 261.812032 l +300.084755 245.460114 l +301.359751 241.733429 l +303.909743 248.89964 l +305.184739 240.810419 l +306.459735 242.593733 l +307.734731 240.593598 l +309.009727 244.516052 l +310.284723 231.401363 l +311.559719 239.683178 l +312.834715 242.051196 l +314.109711 247.500413 l +315.384707 249.642624 l +316.659703 242.865037 l +317.934699 244.571652 l +319.209695 237.896133 l +320.484691 240.978713 l +321.759688 240.515914 l +323.034684 243.299311 l +324.30968 242.623269 l +325.584676 240.283238 l +326.859672 242.13691 l +328.134668 239.083468 l +329.409664 243.223278 l +330.68466 237.027057 l +331.959656 240.271522 l +333.234652 243.984393 l +334.509648 236.742057 l +335.784644 234.164592 l +337.05964 239.438632 l +338.334636 234.759604 l +339.609632 236.063269 l +340.884628 225.69546 l +342.159624 232.504661 l +343.43462 233.151202 l +344.709616 230.097005 l +345.984612 229.176767 l +347.259608 225.722421 l +348.534604 226.564104 l +349.809601 229.131918 l +351.084597 224.061969 l +352.359593 228.372214 l +353.634589 222.638701 l +354.909585 225.118933 l +356.184581 228.28833 l +357.459577 220.420992 l +358.734573 223.217784 l +360.009569 223.436899 l +361.284565 221.301131 l +362.559561 222.674592 l +363.834557 220.668482 l +365.109553 221.094296 l +366.384549 212.62222 l +367.659545 216.404153 l +368.934541 213.121067 l +370.209537 209.438992 l +371.484533 214.552009 l +374.034525 207.214249 l +375.309521 204.178193 l +376.584517 198.336888 l +377.859513 198.608177 l +379.13451 197.319084 l +380.409506 195.417466 l +381.684502 194.061185 l +382.959498 187.758187 l +384.234494 187.030159 l +385.50949 179.145394 l +386.784486 174.225816 l +388.059482 170.902772 l +389.334478 167.184884 l +390.609474 164.689658 l +391.88447 164.116847 l +393.159466 158.623201 l +394.434462 156.535692 l +395.709458 151.858064 l +398.25945 148.348142 l +399.534446 148.245719 l +400.809442 147.460656 l +402.084438 144.150606 l +403.359434 142.448265 l +404.63443 140.522078 l +405.909426 137.358068 l +407.184423 133.592438 l +408.459419 132.568539 l +409.734415 128.511246 l +411.009411 127.045777 l +412.284407 123.037503 l +413.559403 121.872127 l +414.834399 119.292471 l +416.109395 117.902309 l +417.384391 112.59815 l +417.384391 112.59815 l +stroke +grestore +0.889 0.436 0.278 setrgbcolor +gsave +416.3 257 12.9 12.09 clipbox +24.685609 146.376448 m +25.960605 206.294955 l +27.235601 203.196975 l +28.510597 196.008482 l +29.785593 195.659358 l +31.060589 199.593653 l +32.335585 211.135209 l +33.610581 211.343667 l +34.885577 204.850877 l +36.160574 199.444792 l +37.43557 196.878757 l +38.710566 202.534712 l +39.985562 205.27243 l +41.260558 204.842951 l +42.535554 202.642288 l +43.81055 203.666396 l +45.085546 206.834363 l +46.360542 211.151514 l +47.635538 210.020093 l +48.910534 203.473273 l +50.18553 201.607698 l +51.460526 202.286073 l +52.735522 198.80385 l +54.010518 201.01878 l +55.285514 203.543892 l +56.56051 202.477976 l +57.835506 206.383335 l +59.110502 205.413908 l +60.385498 202.434351 l +62.93549 203.902578 l +64.210487 203.448683 l +65.485483 203.923417 l +66.760479 206.522188 l +68.035475 204.243786 l +69.310471 205.995044 l +70.585467 204.231891 l +71.860463 199.37473 l +73.135459 195.759478 l +74.410455 196.555622 l +75.685451 200.990205 l +76.960447 206.06683 l +78.235443 213.171687 l +79.510439 212.062004 l +80.785435 207.063984 l +82.060431 202.962671 l +83.335427 206.300027 l +84.610423 206.519017 l +85.885419 205.429025 l +87.160415 205.359746 l +88.435411 201.635813 l +89.710407 200.85186 l +90.985403 202.906908 l +92.260399 203.176205 l +93.535396 200.241889 l +94.810392 204.559334 l +96.085388 206.19738 l +97.360384 206.703336 l +98.63538 203.859228 l +99.910376 201.82546 l +101.185372 202.930035 l +102.460368 203.383266 l +105.01036 207.096123 l +106.285356 207.67235 l +107.560352 202.49169 l +108.835348 199.013837 l +110.110344 200.659237 l +111.38534 199.2268 l +112.660336 200.226511 l +113.935332 201.805004 l +116.485324 204.044339 l +117.76032 211.251052 l +119.035316 215.824053 l +120.310312 206.885448 l +121.585309 200.374093 l +122.860305 194.442693 l +124.135301 195.456069 l +125.410297 200.798655 l +126.685293 212.95419 l +127.960289 210.942912 l +129.235285 206.872507 l +130.510281 201.571899 l +131.785277 200.718304 l +133.060273 212.618228 l +134.335269 219.636749 l +135.610265 223.134422 l +136.885261 209.880393 l +138.160257 201.233623 l +139.435253 196.994512 l +140.710249 201.841636 l +141.985245 204.648565 l +143.260241 201.571432 l +144.535237 202.497924 l +145.810233 197.050592 l +148.360225 200.860072 l +149.635221 207.762935 l +150.910218 207.97699 l +152.185214 204.782338 l +153.46021 203.280589 l +154.735206 197.163 l +156.010202 197.072176 l +157.285198 197.673969 l +158.560194 199.529884 l +159.83519 202.92078 l +162.385182 196.123658 l +163.660178 192.178742 l +164.935174 193.096233 l +166.21017 193.519483 l +168.760162 203.789175 l +170.035158 194.831929 l +171.310154 195.537256 l +172.58515 200.236463 l +173.860146 194.425792 l +175.135142 194.305514 l +176.410138 199.700418 l +177.685134 197.396707 l +178.960131 196.390121 l +180.235127 196.576027 l +181.510123 193.334076 l +182.785119 192.380634 l +184.060115 196.962632 l +185.335111 198.951901 l +186.610107 190.985599 l +187.885103 187.801388 l +189.160099 185.183729 l +190.435095 184.52014 l +191.710091 191.895112 l +192.985087 193.472703 l +194.260083 196.012406 l +195.535079 191.856328 l +196.810075 191.987416 l +198.085071 193.105877 l +199.360067 193.22016 l +200.635063 198.218222 l +201.910059 197.285007 l +203.185055 195.430561 l +204.460051 191.819585 l +207.010044 191.651981 l +208.28504 191.001202 l +209.560036 191.676391 l +210.835032 188.440583 l +212.110028 186.35777 l +213.385024 184.879767 l +214.66002 189.09335 l +215.935016 191.897208 l +217.210012 193.789753 l +218.485008 194.070995 l +219.760004 191.631643 l +221.035 189.601848 l +222.309996 190.039662 l +223.584992 192.206354 l +224.859988 195.983378 l +226.134984 198.081704 l +227.40998 196.921129 l +228.684976 192.68825 l +229.959972 190.763485 l +231.234968 186.577871 l +232.509964 184.042695 l +233.78496 184.798627 l +235.059956 185.329334 l +236.334953 190.037685 l +237.609949 195.206361 l +238.884945 197.931144 l +240.159941 194.687559 l +241.434937 193.3763 l +242.709933 191.19359 l +243.984929 190.330755 l +245.259925 190.831215 l +247.809917 196.91509 l +249.084913 195.376974 l +250.359909 190.968368 l +251.634905 189.642579 l +252.909901 189.626373 l +254.184897 190.121667 l +255.459893 195.530049 l +256.734889 196.022257 l +258.009885 193.429773 l +259.284881 189.635252 l +260.559877 189.327026 l +261.834873 186.370257 l +263.109869 189.331685 l +264.384866 194.21534 l +265.659862 193.824302 l +266.934858 199.679896 l +268.209854 200.407849 l +269.48485 196.091459 l +270.759846 197.092414 l +272.034842 195.950151 l +273.309838 192.418882 l +274.584834 192.703435 l +275.85983 197.09944 l +277.134826 194.813978 l +278.409822 193.169274 l +279.684818 198.407414 l +280.959814 194.001002 l +282.23481 197.431339 l +283.509806 200.352327 l +284.784802 199.726527 l +286.059798 198.235033 l +287.334794 195.902207 l +288.60979 198.438403 l +289.884786 205.937863 l +291.159782 194.515437 l +292.434779 188.669503 l +293.709775 194.960875 l +294.984771 205.076985 l +296.259767 207.71007 l +297.534763 216.122047 l +298.809759 214.442265 l +300.084755 202.344494 l +301.359751 204.445522 l +302.634747 215.258184 l +303.909743 214.920145 l +305.184739 209.975577 l +306.459735 205.627985 l +307.734731 190.602998 l +309.009727 187.448588 l +310.284723 187.107111 l +311.559719 208.930068 l +312.834715 215.417671 l +314.109711 218.283315 l +315.384707 209.823946 l +316.659703 200.385757 l +317.934699 201.213661 l +319.209695 198.911146 l +320.484691 207.32826 l +321.759688 204.618742 l +323.034684 207.79366 l +324.30968 207.70702 l +325.584676 202.249755 l +326.859672 202.578581 l +328.134668 207.522906 l +329.409664 208.87836 l +331.959656 208.461417 l +333.234652 212.339543 l +334.509648 211.265389 l +335.784644 212.624276 l +337.05964 210.95592 l +338.334636 203.249143 l +339.609632 205.647399 l +340.884628 208.573525 l +342.159624 213.079626 l +343.43462 210.09049 l +344.709616 203.557101 l +345.984612 205.264784 l +347.259608 207.615226 l +348.534604 205.04982 l +349.809601 206.271701 l +351.084597 205.890563 l +352.359593 207.955903 l +353.634589 206.777034 l +354.909585 208.808691 l +356.184581 206.267742 l +357.459577 200.386927 l +358.734573 211.101517 l +360.009569 212.421052 l +361.284565 213.167236 l +362.559561 218.069874 l +365.109553 207.365355 l +366.384549 204.849269 l +367.659545 210.172332 l +368.934541 214.543576 l +370.209537 221.445818 l +371.484533 223.857669 l +372.759529 216.780729 l +374.034525 211.144541 l +376.584517 212.222392 l +377.859513 219.308742 l +379.13451 224.70438 l +380.409506 228.408021 l +381.684502 229.406767 l +382.959498 227.424196 l +384.234494 222.609253 l +385.50949 216.718321 l +386.784486 216.2819 l +389.334478 220.508309 l +390.609474 221.914692 l +391.88447 219.022691 l +393.159466 212.024251 l +394.434462 210.057659 l +395.709458 209.070103 l +398.25945 213.530014 l +399.534446 146.376448 l +400.809442 206.294955 l +402.084438 203.196975 l +403.359434 196.008482 l +404.63443 195.659358 l +405.909426 199.593653 l +407.184423 211.135209 l +408.459419 211.343667 l +409.734415 204.850877 l +411.009411 199.444792 l +412.284407 196.878757 l +413.559403 202.534712 l +414.834399 205.27243 l +416.109395 204.842951 l +417.384391 202.642288 l +417.384391 202.642288 l +stroke +grestore +0 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +12.904646 12.094646 m +12.904646 269.085354 l +stroke +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +stroke +grestore +/DejaVuSans findfont +14.000 scalefont +setfont +gsave +35.074062 275.085354 translate +0.000000 rotate +0.000000 0.000000 m /P glyphshow +8.442383 0.000000 m /o glyphshow +17.007812 0.000000 m /s glyphshow +24.301758 0.000000 m /i glyphshow +28.191406 0.000000 m /t glyphshow +33.680664 0.000000 m /i glyphshow +37.570312 0.000000 m /o glyphshow +46.135742 0.000000 m /n glyphshow +55.008789 0.000000 m /space glyphshow +59.458984 0.000000 m /e glyphshow +68.072266 0.000000 m /t glyphshow +73.561523 0.000000 m /space glyphshow +78.011719 0.000000 m /v glyphshow +86.296875 0.000000 m /i glyphshow +90.186523 0.000000 m /t glyphshow +95.675781 0.000000 m /e glyphshow +104.289062 0.000000 m /s glyphshow +111.583008 0.000000 m /s glyphshow +118.876953 0.000000 m /e glyphshow +127.490234 0.000000 m /space glyphshow +131.940430 0.000000 m /m glyphshow +145.578125 0.000000 m /e glyphshow +154.191406 0.000000 m /s glyphshow +161.485352 0.000000 m /u glyphshow +170.358398 0.000000 m /r glyphshow +176.114258 0.000000 m /eacute glyphshow +184.727539 0.000000 m /e glyphshow +193.340820 0.000000 m /s glyphshow +200.634766 0.000000 m /space glyphshow +205.084961 0.000000 m /f glyphshow +210.013672 0.000000 m /i glyphshow +213.903320 0.000000 m /l glyphshow +217.792969 0.000000 m /t glyphshow +223.282227 0.000000 m /r glyphshow +229.038086 0.000000 m /e glyphshow +237.651367 0.000000 m /space glyphshow +242.101562 0.000000 m /c glyphshow +249.798828 0.000000 m /u glyphshow +258.671875 0.000000 m /b glyphshow +267.558594 0.000000 m /i glyphshow +271.448242 0.000000 m /q glyphshow +280.334961 0.000000 m /u glyphshow +289.208008 0.000000 m /e glyphshow +297.821289 0.000000 m /space glyphshow +302.271484 0.000000 m /d glyphshow +311.158203 0.000000 m /e glyphshow +319.771484 0.000000 m /space glyphshow +324.221680 0.000000 m /t glyphshow +329.710938 0.000000 m /a glyphshow +338.290039 0.000000 m /i glyphshow +342.179688 0.000000 m /l glyphshow +346.069336 0.000000 m /l glyphshow +349.958984 0.000000 m /e glyphshow +358.572266 0.000000 m /space glyphshow +363.022461 0.000000 m /nine glyphshow +grestore +0 setlinecap +gsave +18.504646 239.185354 m +108.010896 239.185354 l +109.077562 239.185354 109.610896 239.718688 109.610896 240.785354 c +109.610896 263.485354 l +109.610896 264.552021 109.077562 265.085354 108.010896 265.085354 c +18.504646 265.085354 l +17.437979 265.085354 16.904646 264.552021 16.904646 263.485354 c +16.904646 240.785354 l +16.904646 239.718688 17.437979 239.185354 18.504646 239.185354 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.606 0.979 setrgbcolor +gsave +20.104646 258.607229 m +36.104646 258.607229 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +42.504646 255.807229 translate +0.000000 rotate +0.000000 0.000000 m /e glyphshow +4.921875 0.000000 m /r glyphshow +8.210938 0.000000 m /r glyphshow +11.500000 0.000000 m /e glyphshow +16.421875 0.000000 m /u glyphshow +21.492188 0.000000 m /r glyphshow +24.781250 0.000000 m /space glyphshow +27.324219 0.000000 m /m glyphshow +35.117188 0.000000 m /e glyphshow +40.039062 0.000000 m /s glyphshow +44.207031 0.000000 m /u glyphshow +49.277344 0.000000 m /r glyphshow +52.566406 0.000000 m /eacute glyphshow +57.488281 0.000000 m /e glyphshow +grestore +0.889 0.436 0.278 setrgbcolor +gsave +20.104646 246.857229 m +36.104646 246.857229 l +stroke +grestore +0.000 setgray +gsave +42.504646 244.057229 translate +0.000000 rotate +0.000000 0.000000 m /v glyphshow +4.734375 0.000000 m /i glyphshow +6.957031 0.000000 m /t glyphshow +10.093750 0.000000 m /e glyphshow +15.015625 0.000000 m /s glyphshow +19.183594 0.000000 m /s glyphshow +23.351562 0.000000 m /e glyphshow +28.273438 0.000000 m /space glyphshow +30.816406 0.000000 m /c glyphshow +35.214844 0.000000 m /a glyphshow +40.117188 0.000000 m /l glyphshow +42.339844 0.000000 m /c glyphshow +46.738281 0.000000 m /u glyphshow +51.808594 0.000000 m /l glyphshow +54.031250 0.000000 m /eacute glyphshow +58.953125 0.000000 m /e glyphshow +grestore + +end +showpage diff --git a/mesure_vitesse_orig.eps b/mesure_vitesse_orig.eps new file mode 100644 index 0000000..0e327da --- /dev/null +++ b/mesure_vitesse_orig.eps @@ -0,0 +1,1478 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: matplotlib version 3.0.2, http://matplotlib.org/ +%%CreationDate: Tue Apr 30 15:20:16 2019 +%%Orientation: portrait +%%BoundingBox: 90 252 522 540 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: DejaVu Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain +%%Creator: Converted from TrueType to type 3 by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-1021 -463 1793 1232]def +/FontType 3 def +/Encoding [ /space /hyphen /zero /one /two /three /P /e /i /m /n /o /r /s /t /u /v /acute /eacute ] def +/FontInfo 10 dict dup begin +/FamilyName (DejaVu Sans) def +/FullName (DejaVu Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def +/Weight (Book) def +/Version (Version 2.35) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -130 def +/UnderlineThickness 90 def +end readonly def +/CharStrings 20 dict dup begin +/.notdef 0 def +/space{318 0 0 0 0 0 _sc +}_d +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +}_e{359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +}_e{202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +}_e{540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +}_e{285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +}_e{122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +}_e{_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 560 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +311 560 _m +311 560 _l +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +/acute{500 0 181 616 415 800 _sc +318 800 _m +415 800 _l +256 616 _l +181 616 _l +318 800 _l +_cl}_d +/eacute{615 0 55 -13 562 800 _sc +false CharStrings /e get exec +gsave 68 0 translate +false CharStrings /acute get exec +grestore }_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +90 252 translate +432 288 0 0 clipbox +gsave +0 0 m +432 0 l +432 288 l +0 288 l +cl +1.000 setgray +fill +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +429.165354 269.805354 l +12.904646 269.805354 l +cl +1.000 setgray +fill +grestore +0.500 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +416.3 257.7 12.9 12.09 clipbox +23.410613 12.094646 m +23.410613 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +23.4106 12.0946 o +grestore +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +20.863738 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +150.910218 12.094646 m +150.910218 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +150.91 12.0946 o +grestore +gsave +143.269593 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +278.409822 12.094646 m +278.409822 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +278.41 12.0946 o +grestore +gsave +270.769197 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +405.909426 12.094646 m +405.909426 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +405.909 12.0946 o +grestore +gsave +398.268801 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 47.860872 m +429.165354 47.860872 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 47.8609 o +grestore +gsave +1.420271 44.821809 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /three glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 87.308516 m +429.165354 87.308516 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 87.3085 o +grestore +gsave +1.420271 84.269454 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 126.756161 m +429.165354 126.756161 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 126.756 o +grestore +gsave +1.420271 123.717099 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 166.203806 m +429.165354 166.203806 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 166.204 o +grestore +gsave +4.310896 163.164744 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 205.651451 m +429.165354 205.651451 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 205.651 o +grestore +gsave +4.310896 202.612389 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 245.099096 m +429.165354 245.099096 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 245.099 o +grestore +gsave +4.310896 242.060033 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +grestore +1.000 setlinewidth +1 setlinecap +0.000 0.606 0.979 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 28.732065 m +25.960605 26.121965 l +27.235601 28.66222 l +28.510597 27.025803 l +29.785593 26.480602 l +31.060589 25.36216 l +32.335585 25.469734 l +33.610581 29.344946 l +34.885577 29.527637 l +36.160574 29.543772 l +39.985562 24.645757 l +41.260558 31.090292 l +42.535554 29.135274 l +43.81055 29.202411 l +45.085546 28.302152 l +46.360542 27.077433 l +47.635538 31.141493 l +48.910534 29.849497 l +50.18553 25.87167 l +51.460526 28.364312 l +52.735522 25.659055 l +54.010518 26.266322 l +55.285514 28.229487 l +56.56051 27.176771 l +57.835506 27.822334 l +59.110502 28.9488 l +60.385498 29.293446 l +61.660494 28.405943 l +62.93549 27.659486 l +64.210487 29.270523 l +65.485483 27.215407 l +66.760479 29.772749 l +68.035475 28.926141 l +69.310471 27.352818 l +70.585467 29.259755 l +71.860463 29.070575 l +73.135459 27.194097 l +74.410455 28.013689 l +75.685451 28.515722 l +76.960447 28.121026 l +78.235443 31.393306 l +79.510439 31.22415 l +80.785435 32.268206 l +82.060431 30.79805 l +83.335427 28.436874 l +84.610423 28.593904 l +85.885419 26.612111 l +87.160415 28.895089 l +88.435411 29.371609 l +89.710407 26.262807 l +90.985403 25.073297 l +92.260399 29.142818 l +93.535396 27.601392 l +94.810392 27.659133 l +97.360384 28.041912 l +98.63538 29.459799 l +99.910376 29.015615 l +102.460368 26.696178 l +103.735364 28.653502 l +105.01036 28.439995 l +106.285356 29.262028 l +107.560352 27.371468 l +108.835348 27.795734 l +110.110344 29.068092 l +111.38534 26.922893 l +112.660336 25.997483 l +115.210328 31.240167 l +116.485324 29.884291 l +117.76032 27.36643 l +119.035316 32.006747 l +120.310312 31.826484 l +121.585309 30.0518 l +122.860305 27.877673 l +124.135301 27.715835 l +125.410297 26.073845 l +126.685293 28.299834 l +127.960289 30.925459 l +129.235285 30.31769 l +130.510281 32.028113 l +131.785277 28.887409 l +134.335269 25.827813 l +135.610265 31.675564 l +136.885261 27.958899 l +138.160257 28.101667 l +139.435253 22.724318 l +140.710249 19.388345 l +141.985245 22.43841 l +143.260241 20.941348 l +144.535237 25.022612 l +147.085229 21.407312 l +148.360225 23.117286 l +149.635221 25.303968 l +150.910218 25.16482 l +152.185214 24.484284 l +153.46021 26.696316 l +154.735206 25.312812 l +156.010202 25.692248 l +157.285198 21.057578 l +158.560194 26.804502 l +159.83519 27.621569 l +161.110186 26.105875 l +162.385182 28.773254 l +163.660178 27.967436 l +164.935174 30.173911 l +166.21017 31.176737 l +167.485166 26.944554 l +168.760162 36.781215 l +170.035158 35.899392 l +171.310154 35.649235 l +172.58515 36.578627 l +173.860146 37.776691 l +175.135142 38.04063 l +176.410138 41.18225 l +177.685134 41.70412 l +178.960131 40.815405 l +180.235127 42.361868 l +181.510123 49.149978 l +182.785119 43.516164 l +184.060115 44.396365 l +185.335111 50.212385 l +186.610107 50.483876 l +189.160099 52.654869 l +190.435095 51.88945 l +191.710091 58.099487 l +192.985087 57.658526 l +194.260083 63.096144 l +195.535079 63.970224 l +196.810075 67.178339 l +198.085071 68.741094 l +199.360067 67.336224 l +200.635063 71.431095 l +201.910059 74.249819 l +203.185055 75.534099 l +204.460051 75.353708 l +205.735047 76.483931 l +207.010044 80.065349 l +208.28504 79.06509 l +209.560036 81.714463 l +210.835032 83.863904 l +212.110028 87.265869 l +213.385024 87.453306 l +214.66002 89.708438 l +215.935016 92.268286 l +217.210012 96.538882 l +218.485008 98.939766 l +219.760004 100.320166 l +221.035 102.475811 l +222.309996 103.684334 l +223.584992 106.25971 l +224.859988 107.469656 l +226.134984 109.273745 l +227.40998 113.409275 l +228.684976 114.212972 l +229.959972 114.340155 l +231.234968 115.982592 l +232.509964 116.515497 l +233.78496 120.035974 l +235.059956 121.834069 l +236.334953 123.920172 l +237.609949 127.374511 l +238.884945 132.292312 l +240.159941 133.08618 l +241.434937 135.151934 l +242.709933 136.838802 l +243.984929 137.398072 l +245.259925 138.874698 l +246.534921 140.578337 l +247.809917 144.037237 l +249.084913 145.108294 l +250.359909 147.032199 l +252.909901 150.521825 l +254.184897 150.448853 l +255.459893 152.828199 l +256.734889 156.658985 l +258.009885 159.698752 l +259.284881 158.560879 l +260.559877 161.419613 l +261.834873 163.465023 l +263.109869 163.622497 l +264.384866 167.491629 l +265.659862 169.211197 l +266.934858 172.445177 l +268.209854 174.482126 l +269.48485 176.266171 l +270.759846 175.484367 l +272.034842 178.271089 l +273.309838 179.633316 l +274.584834 176.919742 l +275.85983 181.639063 l +277.134826 183.949216 l +278.409822 181.65831 l +279.684818 186.9988 l +280.959814 187.086059 l +282.23481 187.813089 l +283.509806 189.526089 l +284.784802 191.438495 l +286.059798 192.705946 l +287.334794 191.966597 l +288.60979 195.53086 l +289.884786 192.98754 l +291.159782 195.481142 l +292.434779 197.28038 l +293.709775 197.540261 l +294.984771 198.64047 l +296.259767 196.766598 l +297.534763 197.524362 l +298.809759 212.190691 l +300.084755 199.186915 l +301.359751 196.223289 l +303.909743 201.92218 l +305.184739 195.48927 l +306.459735 196.907441 l +307.734731 195.316844 l +309.009727 198.436155 l +310.284723 188.006769 l +311.559719 194.592838 l +312.834715 196.475991 l +314.109711 200.809452 l +315.384707 202.513034 l +316.659703 197.123194 l +317.934699 198.480371 l +319.209695 193.1717 l +320.484691 195.623105 l +321.759688 195.255067 l +323.034684 197.468548 l +324.30968 196.930929 l +325.584676 195.070032 l +326.859672 196.544155 l +328.134668 194.115922 l +329.409664 197.408084 l +330.68466 192.480572 l +331.959656 195.060715 l +333.234652 198.013356 l +334.509648 192.253927 l +335.784644 190.204211 l +337.05964 194.398364 l +338.334636 190.677392 l +339.609632 191.714125 l +340.884628 183.469179 l +342.159624 188.88416 l +343.43462 189.398319 l +344.709616 186.969485 l +345.984612 186.237671 l +347.259608 183.490621 l +348.534604 184.159964 l +349.809601 186.202004 l +351.084597 182.170155 l +352.359593 185.597854 l +353.634589 181.038309 l +354.909585 183.010699 l +356.184581 185.531146 l +357.459577 179.274687 l +358.734573 181.498821 l +360.009569 181.673071 l +361.284565 179.974614 l +362.559561 181.066851 l +363.834557 179.471502 l +365.109553 179.810129 l +366.384549 173.072756 l +367.659545 176.080317 l +368.934541 173.469461 l +370.209537 170.54131 l +371.484533 174.60741 l +374.034525 168.772095 l +375.309521 166.357689 l +376.584517 161.712421 l +377.859513 161.928163 l +379.13451 160.903018 l +380.409506 159.390767 l +381.684502 158.312192 l +382.959498 153.299766 l +384.234494 152.720806 l +385.50949 146.450489 l +386.784486 142.538221 l +388.059482 139.895588 l +389.334478 136.938957 l +390.609474 134.954642 l +391.88447 134.499117 l +393.159466 130.130325 l +394.434462 128.470245 l +395.709458 124.750385 l +398.25945 121.959139 l +399.534446 121.877688 l +400.809442 121.253371 l +402.084438 118.621071 l +403.359434 117.267293 l +404.63443 115.735504 l +405.909426 113.219341 l +407.184423 110.224744 l +408.459419 109.410494 l +409.734415 106.183953 l +411.009411 105.018547 l +412.284407 101.830988 l +413.559403 100.90423 l +414.834399 98.852772 l +416.109395 97.747253 l +417.384391 93.529149 l +417.384391 93.529149 l +stroke +grestore +0.889 0.436 0.278 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 143.245186 m +25.960605 162.807287 l +27.235601 175.346771 l +28.510597 173.519798 l +29.785593 177.415293 l +31.060589 165.851411 l +32.335585 169.419085 l +33.610581 174.840095 l +34.885577 159.32238 l +36.160574 148.996401 l +37.43557 151.883702 l +38.710566 162.824701 l +39.985562 189.667602 l +41.260558 191.206615 l +42.535554 168.656291 l +43.81055 158.27521 l +45.085546 127.502791 l +46.360542 160.883593 l +47.635538 179.361132 l +48.910534 165.378717 l +50.18553 140.489794 l +51.460526 165.44512 l +52.735522 171.169411 l +54.010518 176.080835 l +55.285514 183.886967 l +56.56051 161.698343 l +57.835506 165.356326 l +59.110502 161.787757 l +60.385498 159.329517 l +61.660494 160.459797 l +62.93549 160.902711 l +64.210487 168.136324 l +65.485483 171.371352 l +66.760479 171.015056 l +68.035475 164.019708 l +69.310471 163.137931 l +70.585467 172.1112 l +71.860463 166.156249 l +73.135459 167.029227 l +74.410455 165.691442 l +75.685451 172.370355 l +76.960447 172.150743 l +78.235443 167.235266 l +79.510439 160.74666 l +80.785435 141.245205 l +82.060431 149.465927 l +83.335427 159.252078 l +84.610423 171.428865 l +85.885419 189.910616 l +87.160415 186.049645 l +88.435411 171.249793 l +89.710407 162.157506 l +90.985403 158.799277 l +92.260399 178.820643 l +93.535396 174.118732 l +94.810392 164.470554 l +96.085388 140.325776 l +97.360384 163.386598 l +98.63538 170.948645 l +99.910376 162.778611 l +101.185372 149.671191 l +102.460368 162.696563 l +103.735364 172.54114 l +105.01036 170.747602 l +106.285356 165.08177 l +107.560352 156.11791 l +108.835348 163.854176 l +110.110344 169.971484 l +111.38534 166.664484 l +112.660336 166.422321 l +113.935332 170.341742 l +115.210328 170.935451 l +116.485324 148.323239 l +117.76032 141.869767 l +119.035316 164.732125 l +120.310312 169.169147 l +121.585309 154.106374 l +122.860305 150.653436 l +124.135301 167.162361 l +125.410297 177.403132 l +126.685293 207.667047 l +127.960289 175.444088 l +129.235285 159.288787 l +130.510281 158.188061 l +131.785277 119.2379 l +133.060273 162.670254 l +134.335269 174.523602 l +135.610265 179.703173 l +136.885261 179.655528 l +138.160257 153.861117 l +139.435253 157.160088 l +140.710249 171.566456 l +141.985245 262.511655 l +143.260241 195.29434 l +144.535237 178.985513 l +145.810233 158.398689 l +147.085229 126.512366 l +148.360225 166.862096 l +149.635221 170.107168 l +150.910218 168.159013 l +152.185214 132.333504 l +153.46021 154.425126 l +154.735206 162.711274 l +156.010202 165.376978 l +157.285198 149.358543 l +158.560194 180.404692 l +159.83519 175.321283 l +161.110186 161.022904 l +162.385182 136.455401 l +163.660178 146.994198 l +164.935174 167.860645 l +166.21017 162.051524 l +167.485166 125.354376 l +168.760162 174.378771 l +170.035158 158.52384 l +171.310154 153.503423 l +172.58515 101.603087 l +173.860146 144.98228 l +175.135142 170.600482 l +176.410138 162.188783 l +177.685134 136.027526 l +178.960131 146.047214 l +180.235127 157.120387 l +181.510123 165.776787 l +182.785119 122.539625 l +184.060115 140.222841 l +185.335111 162.444761 l +186.610107 165.317304 l +187.885103 139.929193 l +189.160099 127.556156 l +190.435095 151.877497 l +191.710091 167.713002 l +192.985087 130.506452 l +194.260083 144.651785 l +195.535079 141.818136 l +196.810075 147.78232 l +198.085071 106.246655 l +199.360067 128.899542 l +200.635063 157.972619 l +201.910059 159.893944 l +203.185055 130.567553 l +204.460051 134.476662 l +205.735047 147.522155 l +207.010044 163.360756 l +208.28504 141.645517 l +209.560036 149.807406 l +210.835032 153.891899 l +212.110028 158.481264 l +213.385024 115.917996 l +214.66002 135.02309 l +215.935016 151.88151 l +217.210012 157.234891 l +218.485008 110.81981 l +219.760004 124.600913 l +221.035 141.907612 l +222.309996 152.087268 l +223.584992 131.141949 l +224.859988 146.302092 l +227.40998 157.366663 l +228.684976 108.972487 l +229.959972 135.241656 l +231.234968 149.164922 l +232.509964 158.830667 l +233.78496 159.479375 l +235.059956 150.796956 l +236.334953 149.848443 l +237.609949 153.100503 l +238.884945 109.74299 l +240.159941 131.131168 l +241.434937 138.36421 l +242.709933 148.63066 l +243.984929 121.03991 l +245.259925 152.524197 l +246.534921 156.063434 l +247.809917 160.672329 l +249.084913 166.203806 l +280.959814 166.203806 l +282.23481 157.308876 l +283.509806 157.438017 l +284.784802 128.332987 l +286.059798 157.223624 l +287.334794 151.816366 l +288.60979 159.90103 l +289.884786 137.504079 l +291.159782 159.991073 l +292.434779 162.661751 l +293.709775 160.635179 l +294.984771 143.931201 l +296.259767 144.149154 l +297.534763 164.225621 l +298.809759 175.113767 l +300.084755 88.969539 l +302.634747 164.768692 l +303.909743 186.407543 l +305.184739 222.721822 l +306.459735 147.888423 l +307.734731 168.563347 l +309.009727 179.279158 l +310.284723 166.151421 l +311.559719 177.473651 l +312.834715 184.091067 l +314.109711 171.355075 l +315.384707 123.279538 l +316.659703 105.758192 l +317.934699 157.575539 l +319.209695 167.263161 l +320.484691 229.963592 l +321.759688 190.472273 l +323.034684 171.3522 l +324.30968 165.000115 l +325.584676 130.941189 l +326.859672 166.784812 l +328.134668 166.748038 l +329.409664 191.132497 l +330.68466 162.431634 l +331.959656 168.548626 l +333.234652 171.753503 l +334.509648 147.104307 l +335.784644 163.648794 l +337.05964 173.180817 l +338.334636 203.815983 l +339.609632 178.739067 l +340.884628 166.203806 l +342.159624 214.355093 l +343.43462 200.730944 l +344.709616 166.203806 l +385.50949 166.203806 l +386.784486 183.72443 l +388.059482 259.935877 l +389.334478 211.214008 l +390.609474 197.148281 l +391.88447 181.791748 l +393.159466 204.154921 l +394.434462 186.784803 l +395.709458 180.834159 l +396.984454 182.095545 l +398.25945 238.851527 l +399.534446 190.094494 l +400.809442 177.688211 l +402.084438 173.796697 l +403.359434 174.029451 l +404.63443 175.690827 l +405.909426 201.279115 l +407.184423 185.017194 l +408.459419 181.298652 l +409.734415 219.169326 l +411.009411 193.169581 l +412.284407 180.44356 l +413.559403 178.383431 l +414.834399 215.715757 l +416.109395 186.149061 l +417.384391 177.177321 l +417.384391 177.177321 l +stroke +grestore +0 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +12.904646 12.094646 m +12.904646 269.805354 l +stroke +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +stroke +grestore +/DejaVuSans findfont +14.000 scalefont +setfont +gsave +120.730312 275.805354 translate +0.000000 rotate +0.000000 0.000000 m /P glyphshow +8.442383 0.000000 m /o glyphshow +17.007812 0.000000 m /s glyphshow +24.301758 0.000000 m /i glyphshow +28.191406 0.000000 m /t glyphshow +33.680664 0.000000 m /i glyphshow +37.570312 0.000000 m /o glyphshow +46.135742 0.000000 m /n glyphshow +55.008789 0.000000 m /space glyphshow +59.458984 0.000000 m /e glyphshow +68.072266 0.000000 m /t glyphshow +73.561523 0.000000 m /space glyphshow +78.011719 0.000000 m /v glyphshow +86.296875 0.000000 m /i glyphshow +90.186523 0.000000 m /t glyphshow +95.675781 0.000000 m /e glyphshow +104.289062 0.000000 m /s glyphshow +111.583008 0.000000 m /s glyphshow +118.876953 0.000000 m /e glyphshow +127.490234 0.000000 m /space glyphshow +131.940430 0.000000 m /m glyphshow +145.578125 0.000000 m /e glyphshow +154.191406 0.000000 m /s glyphshow +161.485352 0.000000 m /u glyphshow +170.358398 0.000000 m /r glyphshow +176.114258 0.000000 m /eacute glyphshow +184.727539 0.000000 m /e glyphshow +193.340820 0.000000 m /s glyphshow +grestore +0 setlinecap +gsave +18.504646 239.905354 m +110.042146 239.905354 l +111.108812 239.905354 111.642146 240.438688 111.642146 241.505354 c +111.642146 264.205354 l +111.642146 265.272021 111.108812 265.805354 110.042146 265.805354 c +18.504646 265.805354 l +17.437979 265.805354 16.904646 265.272021 16.904646 264.205354 c +16.904646 241.505354 l +16.904646 240.438688 17.437979 239.905354 18.504646 239.905354 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.606 0.979 setrgbcolor +gsave +20.104646 259.327229 m +36.104646 259.327229 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +42.504646 256.527229 translate +0.000000 rotate +0.000000 0.000000 m /e glyphshow +4.921875 0.000000 m /r glyphshow +8.210938 0.000000 m /r glyphshow +11.500000 0.000000 m /e glyphshow +16.421875 0.000000 m /u glyphshow +21.492188 0.000000 m /r glyphshow +grestore +0.889 0.436 0.278 setrgbcolor +gsave +20.104646 247.577229 m +36.104646 247.577229 l +stroke +grestore +0.000 setgray +gsave +42.504646 244.777229 translate +0.000000 rotate +0.000000 0.000000 m /v glyphshow +4.734375 0.000000 m /i glyphshow +6.957031 0.000000 m /t glyphshow +10.093750 0.000000 m /e glyphshow +15.015625 0.000000 m /s glyphshow +19.183594 0.000000 m /s glyphshow +23.351562 0.000000 m /e glyphshow +28.273438 0.000000 m /space glyphshow +30.816406 0.000000 m /m glyphshow +38.609375 0.000000 m /e glyphshow +43.531250 0.000000 m /s glyphshow +47.699219 0.000000 m /u glyphshow +52.769531 0.000000 m /r glyphshow +56.058594 0.000000 m /eacute glyphshow +60.980469 0.000000 m /e glyphshow +grestore + +end +showpage diff --git a/mesure_vitesse_quadratique.eps b/mesure_vitesse_quadratique.eps new file mode 100644 index 0000000..4b1c8c2 --- /dev/null +++ b/mesure_vitesse_quadratique.eps @@ -0,0 +1,2388 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: matplotlib version 3.0.2, http://matplotlib.org/ +%%CreationDate: Fri May 3 14:22:01 2019 +%%Orientation: portrait +%%BoundingBox: 90 252 522 540 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: DejaVu Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain +%%Creator: Converted from TrueType to type 3 by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-1021 -463 1793 1232]def +/FontType 3 def +/Encoding [ /space /hyphen /zero /one /two /three /five /seven /nine /P /Q /a /c /d /e /i /l /m /n /o /p /q /r /s /t /u /v /acute /eacute ] def +/FontInfo 10 dict dup begin +/FamilyName (DejaVu Sans) def +/FullName (DejaVu Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def +/Weight (Book) def +/Version (Version 2.35) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -130 def +/UnderlineThickness 90 def +end readonly def +/CharStrings 30 dict dup begin +/.notdef 0 def +/space{318 0 0 0 0 0 _sc +}_d +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +}_e{359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +}_e{202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/five{{636 0 77 -13 549 729 _sc +108 729 _m +495 729 _l +495 646 _l +198 646 _l +198 467 _l +212 472 227 476 241 478 _c +255 480 270 482 284 482 _c +365 482 429 459 477 415 _c +525 370 549 310 549 234 _c +549 155 524 94 475 51 _c +426 8 357 -13 269 -13 _c +238 -13 207 -10 175 -6 _c +143 -1 111 6 77 17 _c +77 116 _l +106 100 136 88 168 80 _c +199 72 232 69 267 69 _c +}_e{323 69 368 83 401 113 _c +433 143 450 183 450 234 _c +450 284 433 324 401 354 _c +368 384 323 399 267 399 _c +241 399 214 396 188 390 _c +162 384 135 375 108 363 _c +108 729 _l +_cl}_e}_d +/seven{636 0 82 0 551 729 _sc +82 729 _m +551 729 _l +551 687 _l +286 0 _l +183 0 _l +432 646 _l +82 646 _l +82 729 _l +_cl}_d +/nine{{636 0 63 -13 566 742 _sc +110 15 _m +110 105 _l +134 93 159 84 185 78 _c +210 72 235 69 260 69 _c +324 69 374 90 408 134 _c +442 178 462 244 468 334 _c +448 306 424 284 396 269 _c +367 254 335 247 300 247 _c +226 247 168 269 126 313 _c +84 357 63 417 63 494 _c +63 568 85 628 129 674 _c +173 719 232 742 306 742 _c +390 742 455 709 499 645 _c +543 580 566 486 566 364 _c +}_e{566 248 538 157 484 89 _c +429 21 356 -13 264 -13 _c +239 -13 214 -10 189 -6 _c +163 -2 137 5 110 15 _c +306 324 _m +350 324 385 339 411 369 _c +437 399 450 441 450 494 _c +450 546 437 588 411 618 _c +385 648 350 664 306 664 _c +262 664 227 648 201 618 _c +175 588 162 546 162 494 _c +162 441 175 399 201 369 _c +227 339 262 324 306 324 _c +_cl}_e}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/Q{{787 0 56 -128 731 742 _sc +394 662 _m +322 662 265 635 223 582 _c +181 528 160 456 160 364 _c +160 272 181 199 223 146 _c +265 92 322 66 394 66 _c +465 66 522 92 564 146 _c +606 199 627 272 627 364 _c +627 456 606 528 564 582 _c +522 635 465 662 394 662 _c +532 13 _m +662 -128 _l +543 -128 _l +435 -11 _l +424 -11 416 -12 410 -12 _c +404 -12 399 -13 394 -13 _c +291 -13 209 21 148 89 _c +}_e{86 157 56 248 56 364 _c +56 479 86 571 148 639 _c +209 707 291 742 394 742 _c +496 742 577 707 639 639 _c +700 571 731 479 731 364 _c +731 279 714 206 680 146 _c +646 86 596 41 532 13 _c +_cl}_e}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +}_e{60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/c{{550 0 55 -13 488 560 _sc +488 526 _m +488 442 _l +462 456 437 466 411 473 _c +385 480 360 484 334 484 _c +276 484 230 465 198 428 _c +166 391 150 339 150 273 _c +150 206 166 154 198 117 _c +230 80 276 62 334 62 _c +360 62 385 65 411 72 _c +437 79 462 90 488 104 _c +488 21 _l +462 9 436 0 410 -5 _c +383 -10 354 -13 324 -13 _c +242 -13 176 12 128 64 _c +}_e{79 115 55 185 55 273 _c +55 362 79 432 128 483 _c +177 534 244 560 330 560 _c +358 560 385 557 411 551 _c +437 545 463 537 488 526 _c +_cl}_e}_d +/d{{635 0 55 -13 544 760 _sc +454 464 _m +454 760 _l +544 760 _l +544 0 _l +454 0 _l +454 82 _l +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +}_e{348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +}_e{540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +}_e{285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/p{{635 0 91 -207 580 560 _sc +181 82 _m +181 -207 _l +91 -207 _l +91 547 _l +181 547 _l +181 464 _l +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +}_e{286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +_cl}_e}_d +/q{{635 0 55 -207 544 560 _sc +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +454 82 _m +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +}_e{55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +454 547 _l +544 547 _l +544 -207 _l +454 -207 _l +454 82 _l +_cl}_e}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +}_e{122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +}_e{_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 560 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +311 560 _m +311 560 _l +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +/acute{500 0 181 616 415 800 _sc +318 800 _m +415 800 _l +256 616 _l +181 616 _l +318 800 _l +_cl}_d +/eacute{615 0 55 -13 562 800 _sc +false CharStrings /e get exec +gsave 68 0 translate +false CharStrings /acute get exec +grestore }_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +90 252 translate +432 288 0 0 clipbox +gsave +0 0 m +432 0 l +432 288 l +0 288 l +cl +1.000 setgray +fill +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +429.165354 269.805354 l +12.904646 269.805354 l +cl +1.000 setgray +fill +grestore +0.500 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +416.3 257.7 12.9 12.09 clipbox +23.410613 12.094646 m +23.410613 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +23.4106 12.0946 o +grestore +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +20.863738 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +150.910218 12.094646 m +150.910218 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +150.91 12.0946 o +grestore +gsave +143.269593 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +278.409822 12.094646 m +278.409822 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +278.41 12.0946 o +grestore +gsave +270.769197 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +405.909426 12.094646 m +405.909426 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +405.909 12.0946 o +grestore +gsave +398.268801 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 55.292135 m +429.165354 55.292135 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 55.2921 o +grestore +gsave +1.420271 52.253072 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /three glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 105.035523 m +429.165354 105.035523 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 105.036 o +grestore +gsave +1.420271 101.996461 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 154.778912 m +429.165354 154.778912 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 154.779 o +grestore +gsave +1.420271 151.739849 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 204.5223 m +429.165354 204.5223 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 204.522 o +grestore +gsave +4.310896 201.483238 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 254.265689 m +429.165354 254.265689 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 254.266 o +grestore +gsave +4.310896 251.226626 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +grestore +1.000 setlinewidth +1 setlinecap +0.000 0.606 0.979 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 31.170754 m +25.960605 27.879424 l +27.235601 31.08268 l +28.510597 29.019162 l +29.785593 28.331665 l +31.060589 26.921311 l +32.335585 27.056963 l +33.610581 31.943595 l +34.885577 32.173969 l +36.160574 32.194314 l +38.710566 28.382503 l +39.985562 26.01793 l +41.260558 34.144474 l +42.535554 31.6792 l +43.81055 31.763859 l +45.085546 30.628636 l +46.360542 29.084267 l +47.635538 34.209037 l +48.910534 32.579833 l +50.18553 27.563803 l +51.460526 30.707019 l +52.735522 27.295696 l +54.010518 28.061458 l +55.285514 30.537004 l +56.56051 29.209532 l +57.835506 30.023586 l +59.110502 31.444057 l +60.385498 31.878654 l +61.660494 30.759515 l +62.93549 29.818234 l +64.210487 31.849749 l +65.485483 29.258252 l +66.760479 32.483054 l +68.035475 31.415483 l +69.310471 29.431527 l +70.585467 31.83617 l +71.860463 31.597615 l +73.135459 29.23138 l +74.410455 30.264884 l +75.685451 30.897946 l +76.960447 30.400235 l +78.235443 34.526572 l +79.510439 34.313267 l +80.785435 35.629819 l +82.060431 33.775957 l +83.335427 30.798519 l +84.610423 30.996533 l +85.885419 28.497497 l +87.160415 31.376327 l +88.435411 31.977217 l +89.710407 28.057025 l +90.985403 26.557056 l +92.260399 31.688713 l +93.535396 29.744978 l +94.810392 29.817789 l +97.360384 30.300472 l +98.63538 32.088426 l +99.910376 31.528311 l +102.460368 28.603506 l +103.735364 31.071687 l +105.01036 30.802455 l +106.285356 31.839036 l +107.560352 29.455044 l +108.835348 29.990043 l +110.110344 31.594484 l +111.38534 28.889393 l +112.660336 27.722453 l +115.210328 34.333465 l +116.485324 32.623709 l +117.76032 29.448692 l +119.035316 35.300121 l +120.310312 35.07281 l +121.585309 32.834936 l +122.860305 30.093368 l +124.135301 29.88929 l +125.410297 27.818745 l +126.685293 30.625711 l +127.960289 33.936618 l +129.235285 33.170224 l +130.510281 35.327063 l +131.785277 31.366642 l +134.335269 27.508499 l +135.610265 34.8825 l +136.885261 30.195793 l +138.160257 30.375824 l +139.435253 23.594999 l +140.710249 19.388345 l +141.985245 23.23447 l +143.260241 21.346678 l +144.535237 26.493143 l +147.085229 21.934258 l +148.360225 24.090531 l +149.635221 26.847931 l +150.910218 26.672467 l +152.185214 25.814312 l +153.46021 28.60368 l +154.735206 26.859084 l +156.010202 27.337552 l +157.285198 21.493244 l +158.560194 28.740102 l +159.83519 29.770421 l +161.110186 27.859134 l +162.385182 31.222693 l +163.660178 30.206558 l +164.935174 32.988918 l +166.21017 34.25348 l +167.485166 28.916707 l +168.760162 41.320714 l +170.035158 40.208737 l +171.310154 39.89329 l +172.58515 41.065251 l +173.860146 42.576007 l +175.135142 42.908832 l +176.410138 46.870409 l +177.685134 47.528486 l +178.960131 46.407817 l +180.235127 48.357905 l +181.510123 56.917694 l +182.785119 49.813468 l +184.060115 50.9234 l +185.335111 58.257388 l +186.610107 58.599737 l +189.160099 61.337354 l +190.435095 60.372163 l +191.710091 68.203005 l +192.985087 67.646954 l +194.260083 74.503778 l +195.535079 75.60599 l +196.810075 79.651417 l +198.085071 81.622046 l +199.360067 79.850509 l +200.635063 85.014132 l +201.910059 88.568536 l +203.185055 90.188011 l +204.460051 89.960538 l +205.735047 91.385746 l +207.010044 95.901905 l +208.28504 94.640582 l +209.560036 97.981435 l +210.835032 100.691875 l +212.110028 104.981745 l +213.385024 105.218103 l +214.66002 108.061818 l +215.935016 111.289781 l +217.210012 116.674993 l +218.485008 119.702503 l +219.760004 121.443183 l +221.035 124.161446 l +222.309996 125.685391 l +223.584992 128.932934 l +224.859988 130.458673 l +226.134984 132.733626 l +227.40998 137.948519 l +228.684976 138.961979 l +229.959972 139.122356 l +231.234968 141.193466 l +232.509964 141.865458 l +233.78496 146.304771 l +235.059956 148.572165 l +236.334953 151.202736 l +237.609949 155.558649 l +238.884945 161.759985 l +240.159941 162.761051 l +241.434937 165.365962 l +242.709933 167.493099 l +243.984929 168.198337 l +245.259925 170.060358 l +246.534921 172.208643 l +247.809917 176.570308 l +249.084913 177.920908 l +250.359909 180.346948 l +252.909901 184.747358 l +254.184897 184.655341 l +255.459893 187.655691 l +256.734889 192.486303 l +258.009885 196.319442 l +259.284881 194.884587 l +260.559877 198.489444 l +261.834873 201.068701 l +263.109869 201.267276 l +264.384866 206.146243 l +265.659862 208.314613 l +266.934858 212.392654 l +268.209854 214.961242 l +269.48485 217.210918 l +270.759846 216.225066 l +272.034842 219.739116 l +273.309838 221.45688 l +274.584834 218.035071 l +275.85983 223.986123 l +277.134826 226.899221 l +278.409822 224.010394 l +279.684818 230.744739 l +280.959814 230.854773 l +282.23481 231.771556 l +283.509806 233.931645 l +284.784802 236.343184 l +286.059798 237.941437 l +287.334794 237.009119 l +288.60979 241.503648 l +289.884786 238.296526 l +291.159782 241.440953 l +292.434779 243.709788 l +293.709775 244.037498 l +294.984771 245.424859 l +296.259767 243.06191 l +297.534763 244.017449 l +298.809759 262.511655 l +300.084755 246.113924 l +301.359751 242.376798 l +303.909743 249.563087 l +305.184739 241.451202 l +306.459735 243.239513 l +307.734731 241.233773 l +309.009727 245.167217 l +310.284723 232.015786 l +311.559719 240.320803 l +312.834715 242.695456 l +314.109711 248.159939 l +315.384707 250.308152 l +316.659703 243.511577 l +317.934699 245.222973 l +319.209695 238.528752 l +320.484691 241.619968 l +321.759688 241.155872 l +323.034684 243.947067 l +324.30968 243.269131 l +325.584676 240.922544 l +326.859672 242.781409 l +328.134668 239.719413 l +329.409664 243.870822 l +330.68466 237.657241 l +331.959656 240.910795 l +333.234652 244.634069 l +334.509648 237.371442 l +335.784644 234.786756 l +337.05964 240.075572 l +338.334636 235.383435 l +339.609632 236.690753 l +340.884628 226.293896 l +342.159624 233.122174 l +343.43462 233.770527 l +344.709616 230.707773 l +345.984612 229.784957 l +347.259608 226.320933 l +348.534604 227.164974 l +349.809601 229.739982 l +351.084597 224.655829 l +352.359593 228.978149 l +353.634589 223.228574 l +354.909585 225.715754 l +356.184581 228.894031 l +357.459577 221.004651 l +358.734573 223.809279 l +360.009569 224.029007 l +361.284565 221.887256 l +362.559561 223.264565 l +363.834557 221.252834 l +365.109553 221.679841 l +366.384549 213.18403 l +367.659545 216.976558 l +368.934541 213.684274 l +370.209537 209.991883 l +371.484533 215.119225 l +374.034525 207.760907 l +375.309521 204.716346 l +376.584517 198.858675 l +377.859513 199.130724 l +379.13451 197.838019 l +380.409506 195.931074 l +381.684502 194.570993 l +382.959498 188.250336 l +384.234494 187.520269 l +385.50949 179.613413 l +386.784486 174.680052 l +388.059482 171.347698 l +389.334478 167.619394 l +390.609474 165.117177 l +391.88447 164.542761 l +393.159466 159.033724 l +394.434462 156.940367 l +395.709458 152.249633 l +398.25945 148.729877 l +399.534446 148.627168 l +400.809442 147.839906 l +402.084438 144.520582 l +403.359434 142.813471 l +404.63443 140.881888 l +405.909426 137.709013 l +407.184423 133.932833 l +408.459419 132.906066 l +409.734415 128.837406 l +411.009411 127.367831 l +412.284407 123.348327 l +413.559403 122.179686 l +414.834399 119.592803 l +416.109395 118.198746 l +417.384391 112.879727 l +417.384391 112.879727 l +stroke +grestore +0.889 0.436 0.278 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 145.578681 m +25.960605 205.026974 l +27.235601 206.6146 l +28.510597 206.083474 l +29.785593 206.084444 l +31.060589 204.662438 l +32.335585 205.912926 l +33.610581 205.269608 l +34.885577 204.314541 l +36.160574 204.624921 l +37.43557 204.62608 l +38.710566 206.601449 l +39.985562 207.038273 l +42.535554 202.781995 l +43.81055 202.577414 l +45.085546 202.171621 l +46.360542 202.927763 l +47.635538 202.870642 l +48.910534 202.559645 l +50.18553 204.779182 l +51.460526 206.695165 l +52.735522 206.20652 l +54.010518 206.447479 l +55.285514 206.018291 l +56.56051 204.664834 l +57.835506 205.318055 l +59.110502 204.900135 l +60.385498 203.976256 l +62.93549 205.082883 l +65.485483 203.874778 l +66.760479 204.330813 l +68.035475 203.62047 l +69.310471 205.534075 l +70.585467 206.761465 l +71.860463 207.359574 l +73.135459 207.82514 l +74.410455 207.03718 l +75.685451 205.395884 l +76.960447 203.205107 l +79.510439 201.517941 l +82.060431 200.296412 l +83.335427 202.566245 l +84.610423 203.744149 l +85.885419 204.04164 l +87.160415 204.579107 l +88.435411 204.239753 l +90.985403 206.855868 l +92.260399 206.066843 l +93.535396 204.017672 l +94.810392 204.758881 l +96.085388 204.651876 l +97.360384 204.832612 l +98.63538 204.144926 l +99.910376 203.791176 l +101.185372 204.74309 l +102.460368 204.601087 l +103.735364 203.660965 l +105.01036 203.455551 l +106.285356 205.13941 l +107.560352 205.869354 l +108.835348 205.821097 l +110.110344 206.929182 l +111.38534 207.697323 l +112.660336 207.964459 l +113.935332 206.087247 l +115.210328 203.555453 l +116.485324 201.569136 l +117.76032 202.132056 l +119.035316 203.395192 l +120.310312 202.970531 l +121.585309 205.392784 l +122.860305 206.397938 l +124.135301 206.151271 l +125.410297 204.383871 l +126.685293 205.204844 l +127.960289 203.184753 l +129.235285 202.196155 l +130.510281 200.347651 l +131.785277 197.639399 l +133.060273 198.260362 l +134.335269 197.609601 l +135.610265 198.724049 l +136.885261 198.538152 l +139.435253 203.104141 l +140.710249 206.812545 l +141.985245 207.931108 l +143.260241 206.754392 l +144.535237 207.574519 l +145.810233 206.579101 l +147.085229 207.428165 l +148.360225 205.349844 l +149.635221 204.931397 l +152.185214 205.482467 l +153.46021 206.74106 l +154.735206 206.924191 l +156.010202 208.830991 l +157.285198 210.06696 l +158.560194 209.107168 l +159.83519 209.715319 l +161.110186 211.320046 l +162.385182 212.293205 l +163.660178 212.017075 l +164.935174 212.545504 l +166.21017 211.815375 l +167.485166 212.506566 l +168.760162 212.787226 l +170.035158 209.364424 l +171.310154 210.302394 l +172.58515 213.043872 l +175.135142 210.77459 l +176.410138 211.908387 l +177.685134 211.988196 l +178.960131 212.895269 l +180.235127 213.406408 l +181.510123 211.978132 l +182.785119 212.808978 l +184.060115 215.367294 l +185.335111 216.357019 l +186.610107 216.119094 l +187.885103 218.22859 l +189.160099 219.354772 l +190.435095 218.577145 l +191.710091 218.406318 l +192.985087 217.045065 l +194.260083 217.13679 l +195.535079 215.088919 l +196.810075 214.513662 l +198.085071 214.496216 l +199.360067 214.052597 l +200.635063 214.294595 l +201.910059 213.338649 l +205.735047 216.031731 l +207.010044 216.543236 l +208.28504 217.666212 l +209.560036 219.572654 l +212.110028 219.592681 l +213.385024 219.090639 l +214.66002 219.375764 l +215.935016 218.272019 l +217.210012 217.008091 l +218.485008 216.771462 l +219.760004 216.89493 l +221.035 216.47607 l +222.309996 215.854543 l +223.584992 214.943765 l +224.859988 214.672402 l +226.134984 214.791698 l +227.40998 214.786973 l +228.684976 215.453443 l +229.959972 218.457813 l +231.234968 220.233857 l +232.509964 220.961773 l +233.78496 221.07473 l +235.059956 219.511127 l +236.334953 218.223504 l +237.609949 216.617093 l +238.884945 215.590933 l +240.159941 214.715974 l +241.434937 215.370063 l +242.709933 215.612937 l +243.984929 216.041768 l +245.259925 215.711117 l +246.534921 215.244245 l +247.809917 215.541972 l +249.084913 216.143703 l +250.359909 216.075276 l +251.634905 216.245029 l +252.909901 216.571339 l +254.184897 216.137762 l +255.459893 216.700064 l +256.734889 216.163575 l +258.009885 216.264972 l +259.284881 217.173907 l +260.559877 218.556964 l +261.834873 217.272591 l +263.109869 216.883218 l +264.384866 216.370318 l +265.659862 213.100539 l +266.934858 212.450031 l +268.209854 212.187386 l +269.48485 211.112266 l +270.759846 212.384027 l +272.034842 213.31454 l +273.309838 213.002887 l +274.584834 213.579911 l +275.85983 214.493806 l +277.134826 213.274172 l +278.409822 212.564507 l +279.684818 213.481559 l +280.959814 210.908858 l +283.509806 211.001446 l +284.784802 210.423105 l +286.059798 210.185094 l +287.334794 209.206473 l +288.60979 208.65241 l +289.884786 213.368282 l +291.159782 212.365753 l +292.434779 208.397025 l +293.709775 206.609343 l +294.984771 206.570837 l +296.259767 203.477141 l +297.534763 201.773141 l +298.809759 198.59811 l +300.084755 197.284714 l +301.359751 199.197612 l +302.634747 199.587783 l +303.909743 199.69513 l +305.184739 203.111031 l +306.459735 208.544469 l +307.734731 208.270342 l +309.009727 209.140112 l +310.284723 206.777462 l +311.559719 207.309571 l +312.834715 202.502822 l +314.109711 201.325221 l +315.384707 200.608892 l +316.659703 201.339429 l +317.934699 204.187792 l +319.209695 203.810812 l +320.484691 205.846731 l +321.759688 203.134876 l +323.034684 202.868172 l +324.30968 203.708284 l +325.584676 203.000669 l +326.859672 201.696986 l +328.134668 201.885363 l +329.409664 201.354801 l +330.68466 200.600679 l +331.959656 198.36308 l +333.234652 197.277325 l +334.509648 198.141258 l +335.784644 200.130659 l +337.05964 199.946885 l +338.334636 198.163691 l +340.884628 200.957475 l +342.159624 201.664235 l +343.43462 200.482654 l +344.709616 200.005976 l +345.984612 201.452972 l +347.259608 203.354477 l +348.534604 202.392828 l +349.809601 201.654403 l +351.084597 201.55021 l +352.359593 202.06635 l +353.634589 201.577589 l +354.909585 202.335157 l +356.184581 201.483181 l +357.459577 198.964653 l +358.734573 200.078894 l +360.009569 197.801588 l +361.284565 196.072112 l +362.559561 197.294752 l +363.834557 197.128938 l +365.109553 197.196408 l +366.384549 196.702775 l +367.659545 195.812544 l +368.934541 193.37484 l +370.209537 193.257562 l +371.484533 192.72773 l +372.759529 191.685474 l +374.034525 191.9578 l +375.309521 192.677667 l +376.584517 191.234405 l +377.859513 189.223745 l +379.13451 186.16463 l +380.409506 184.268681 l +381.684502 183.625977 l +382.959498 184.723978 l +384.234494 186.034625 l +385.50949 186.975319 l +386.784486 188.657404 l +388.059482 189.377847 l +389.334478 189.90771 l +391.88447 192.524525 l +393.159466 193.37094 l +394.434462 195.125361 l +395.709458 195.751263 l +396.984454 195.959961 l +398.25945 194.558073 l +399.534446 145.578681 l +400.809442 205.026974 l +402.084438 206.6146 l +403.359434 206.083474 l +404.63443 206.084444 l +405.909426 204.662438 l +407.184423 205.912926 l +408.459419 205.269608 l +409.734415 204.314541 l +411.009411 204.624921 l +412.284407 204.62608 l +413.559403 206.601449 l +414.834399 207.038273 l +417.384391 202.781995 l +417.384391 202.781995 l +stroke +grestore +0 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +12.904646 12.094646 m +12.904646 269.805354 l +stroke +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +stroke +grestore +1 setlinejoin +1 setlinecap +[] 0 setdash +0.242 0.643 0.304 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 108.568478 m +25.960605 201.485047 l +27.235601 204.887162 l +28.510597 205.923734 l +29.785593 208.492363 l +31.060589 208.324508 l +32.335585 206.475264 l +33.610581 202.342811 l +34.885577 202.822076 l +36.160574 204.205484 l +37.43557 205.84601 l +38.710566 206.966148 l +39.985562 206.119817 l +41.260558 206.915576 l +42.535554 204.109115 l +43.81055 203.2484 l +45.085546 203.485761 l +46.360542 202.129702 l +47.635538 201.170885 l +48.910534 200.893558 l +51.460526 205.884029 l +52.735522 206.096402 l +54.010518 208.093846 l +55.285514 206.845871 l +56.56051 205.022073 l +57.835506 205.741123 l +59.110502 203.889258 l +61.660494 204.789726 l +62.93549 204.494415 l +64.210487 205.124907 l +65.485483 204.762998 l +66.760479 204.266799 l +68.035475 202.94076 l +69.310471 204.077535 l +70.585467 204.468184 l +71.860463 205.833553 l +74.410455 210.043856 l +75.685451 208.791943 l +76.960447 205.871659 l +78.235443 203.41435 l +79.510439 199.245159 l +80.785435 199.905356 l +82.060431 201.297642 l +83.335427 201.947371 l +84.610423 201.821642 l +85.885419 203.607364 l +87.160415 204.334274 l +88.435411 203.538657 l +89.710407 204.68531 l +90.985403 206.635754 l +92.260399 207.043312 l +93.535396 205.35951 l +94.810392 205.644674 l +96.085388 204.08161 l +97.360384 204.096629 l +98.63538 203.905812 l +99.910376 204.317517 l +101.185372 204.45445 l +103.735364 205.497699 l +105.01036 203.305904 l +106.285356 202.200898 l +107.560352 203.322527 l +108.835348 206.848363 l +110.110344 207.309974 l +111.38534 205.886991 l +112.660336 208.841401 l +113.935332 209.08011 l +116.485324 203.330565 l +117.76032 202.847463 l +120.310312 198.901407 l +122.860305 206.206012 l +124.135301 209.590305 l +125.410297 208.449658 l +126.685293 205.92623 l +127.960289 200.939354 l +129.235285 201.963213 l +130.510281 202.081128 l +131.785277 202.416069 l +133.060273 201.158025 l +134.335269 196.912555 l +135.610265 195.520302 l +136.885261 192.822731 l +138.160257 199.249662 l +140.710249 205.972882 l +141.985245 207.106444 l +143.260241 206.623944 l +144.535237 207.462609 l +145.810233 205.879196 l +147.085229 208.668343 l +148.360225 208.587864 l +149.635221 206.610618 l +150.910218 202.077815 l +153.46021 205.732181 l +154.735206 205.413655 l +156.010202 208.524295 l +157.285198 209.376756 l +158.560194 211.463766 l +161.110186 206.664046 l +162.385182 211.632959 l +164.935174 213.552133 l +166.21017 212.879558 l +167.485166 213.064665 l +168.760162 212.61935 l +170.035158 208.938728 l +171.310154 211.264634 l +172.58515 211.087382 l +173.860146 210.622521 l +175.135142 214.068839 l +176.410138 211.957639 l +177.685134 209.386374 l +178.960131 212.142557 l +180.235127 213.518806 l +181.510123 212.895719 l +182.785119 211.91747 l +184.060115 214.218531 l +185.335111 215.023369 l +186.610107 213.039284 l +187.885103 216.980713 l +190.435095 220.899196 l +191.710091 221.416141 l +192.985087 216.67236 l +194.260083 216.809988 l +195.535079 215.452594 l +196.810075 216.124512 l +198.085071 214.661107 l +199.360067 214.287485 l +200.635063 215.645411 l +201.910059 212.512269 l +203.185055 212.216088 l +204.460051 213.595197 l +205.735047 216.264338 l +207.010044 216.255879 l +208.28504 216.064281 l +209.560036 217.849906 l +212.110028 219.966953 l +213.385024 220.051994 l +214.66002 220.95185 l +217.210012 217.988229 l +218.485008 215.960535 l +219.760004 215.575129 l +221.035 217.278309 l +222.309996 217.50954 l +223.584992 216.639949 l +226.134984 213.864063 l +228.684976 213.325805 l +229.959972 215.367514 l +231.234968 218.099823 l +232.509964 221.30514 l +233.78496 222.483674 l +236.334953 221.002953 l +237.609949 218.533314 l +238.884945 215.435493 l +240.159941 213.232472 l +241.434937 214.82237 l +242.709933 215.206151 l +245.259925 216.882402 l +246.534921 216.743332 l +247.809917 214.9298 l +249.084913 213.651841 l +251.634905 217.161764 l +252.909901 216.683506 l +254.184897 217.084532 l +255.459893 217.612635 l +256.734889 215.266863 l +258.009885 214.711515 l +259.284881 215.466346 l +260.559877 218.317315 l +261.834873 218.6492 l +263.109869 219.17605 l +264.384866 217.67397 l +265.659862 215.489763 l +266.934858 214.41222 l +268.209854 210.316359 l +269.48485 210.585651 l +270.759846 212.179975 l +272.034842 211.701842 l +274.584834 214.100387 l +275.85983 215.020921 l +277.134826 212.812589 l +278.409822 213.30823 l +279.684818 214.534245 l +280.959814 211.225532 l +282.23481 212.813647 l +283.509806 210.841024 l +284.784802 209.878875 l +286.059798 209.948416 l +287.334794 210.169947 l +288.60979 210.902332 l +289.884786 208.366586 l +291.159782 208.472256 l +292.434779 215.745843 l +293.709775 212.15682 l +294.984771 207.351903 l +296.259767 204.965173 l +297.534763 205.121 l +298.809759 198.504385 l +300.084755 193.815947 l +301.359751 201.40207 l +302.634747 203.182352 l +303.909743 195.416903 l +305.184739 196.545518 l +306.459735 202.500399 l +307.734731 206.814841 l +309.009727 212.359488 l +310.284723 211.568184 l +311.559719 214.096551 l +312.834715 203.634893 l +314.109711 199.598369 l +315.384707 196.777409 l +316.659703 199.62986 l +317.934699 204.405867 l +319.209695 204.327045 l +320.484691 206.928798 l +321.759688 203.544602 l +323.034684 204.379768 l +324.30968 201.152795 l +325.584676 202.287264 l +326.859672 205.474295 l +328.134668 202.850762 l +329.409664 200.80446 l +330.68466 200.83193 l +331.959656 201.247447 l +333.234652 199.440646 l +334.509648 194.560654 l +335.784644 198.60831 l +337.05964 199.871404 l +338.334636 198.290552 l +339.609632 200.72145 l +340.884628 199.782705 l +342.159624 201.848226 l +343.43462 199.567921 l +344.709616 198.825933 l +345.984612 202.374429 l +347.259608 201.510896 l +349.809601 203.756489 l +351.084597 200.773732 l +352.359593 202.232802 l +353.634589 201.237101 l +354.909585 202.293337 l +356.184581 201.246808 l +357.459577 200.892696 l +358.734573 203.834486 l +360.009569 197.877925 l +361.284565 197.352921 l +362.559561 196.441271 l +363.834557 193.869006 l +365.109553 197.151497 l +367.659545 199.882956 l +368.934541 196.090934 l +370.209537 193.381909 l +371.484533 191.70233 l +372.759529 189.291656 l +375.309521 194.136418 l +376.584517 193.598543 l +377.859513 193.978904 l +379.13451 189.010127 l +380.409506 185.029453 l +381.684502 182.706419 l +382.959498 181.754391 l +384.234494 183.546061 l +385.50949 185.774862 l +386.784486 188.764413 l +388.059482 190.071651 l +389.334478 189.390925 l +390.609474 189.360906 l +391.88447 189.491894 l +393.159466 191.15369 l +394.434462 194.928085 l +395.709458 195.971897 l +396.984454 197.197562 l +398.25945 196.560588 l +399.534446 194.954517 l +400.809442 192.382392 l +403.359434 191.341337 l +404.63443 108.568478 l +405.909426 201.485047 l +407.184423 204.887162 l +408.459419 205.923734 l +409.734415 208.492363 l +411.009411 208.324508 l +412.284407 206.475264 l +413.559403 202.342811 l +414.834399 202.822076 l +416.109395 204.205484 l +417.384391 205.84601 l +417.384391 205.84601 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +14.000 scalefont +setfont +gsave +126.144375 275.805354 translate +0.000000 rotate +0.000000 0.000000 m /P glyphshow +8.442383 0.000000 m /o glyphshow +17.007812 0.000000 m /s glyphshow +24.301758 0.000000 m /i glyphshow +28.191406 0.000000 m /t glyphshow +33.680664 0.000000 m /i glyphshow +37.570312 0.000000 m /o glyphshow +46.135742 0.000000 m /n glyphshow +55.008789 0.000000 m /space glyphshow +59.458984 0.000000 m /e glyphshow +68.072266 0.000000 m /t glyphshow +73.561523 0.000000 m /space glyphshow +78.011719 0.000000 m /v glyphshow +86.296875 0.000000 m /i glyphshow +90.186523 0.000000 m /t glyphshow +95.675781 0.000000 m /e glyphshow +104.289062 0.000000 m /s glyphshow +111.583008 0.000000 m /s glyphshow +118.876953 0.000000 m /e glyphshow +127.490234 0.000000 m /space glyphshow +131.940430 0.000000 m /c glyphshow +139.637695 0.000000 m /a glyphshow +148.216797 0.000000 m /l glyphshow +152.106445 0.000000 m /c glyphshow +159.803711 0.000000 m /u glyphshow +168.676758 0.000000 m /l glyphshow +172.566406 0.000000 m /eacute glyphshow +181.179688 0.000000 m /e glyphshow +grestore +0.764 0.444 0.824 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 28.975125 m +25.960605 202.25308 l +27.235601 202.18868 l +28.510597 199.447657 l +29.785593 206.809382 l +31.060589 210.875746 l +32.335585 212.353806 l +33.610581 207.798812 l +34.885577 199.978281 l +36.160574 196.460355 l +37.43557 204.377367 l +38.710566 208.874371 l +39.985562 210.734292 l +41.260558 207.942699 l +42.535554 198.936812 l +43.81055 205.712342 l +45.085546 207.128475 l +46.360542 203.205251 l +47.635538 202.822435 l +48.910534 196.672552 l +50.18553 199.869872 l +51.460526 206.172721 l +52.735522 204.645467 l +54.010518 207.824227 l +55.285514 207.64819 l +56.56051 206.981213 l +57.835506 206.999818 l +59.110502 203.974677 l +60.385498 203.897783 l +61.660494 202.447016 l +62.93549 205.965848 l +64.210487 206.436202 l +65.485483 203.182694 l +66.760479 205.574455 l +68.035475 203.847205 l +69.310471 203.421241 l +70.585467 204.053262 l +71.860463 202.917711 l +73.135459 204.158204 l +74.410455 209.885168 l +75.685451 210.384997 l +76.960447 211.21069 l +78.235443 208.449646 l +79.510439 200.525592 l +80.785435 198.789916 l +82.060431 196.000267 l +84.610423 205.890895 l +87.160415 200.922208 l +88.435411 202.124607 l +89.710407 204.105905 l +90.985403 207.877025 l +92.260399 207.0748 l +93.535396 203.28408 l +94.810392 207.10709 l +96.085388 207.254526 l +97.360384 205.109793 l +98.63538 201.790417 l +99.910376 202.043159 l +101.185372 204.322993 l +102.460368 207.44222 l +103.735364 205.757513 l +105.01036 202.766951 l +106.285356 204.389832 l +107.560352 202.642377 l +108.835348 202.239384 l +110.110344 203.717645 l +111.38534 208.377287 l +112.660336 211.562122 l +113.935332 206.999692 l +115.210328 206.258631 l +116.485324 206.599851 l +117.76032 207.545587 l +119.035316 203.934385 l +120.310312 196.621749 l +121.585309 195.795412 l +122.860305 201.175764 l +124.135301 208.733761 l +125.410297 210.862171 l +126.685293 213.302875 l +129.235285 199.165869 l +130.510281 195.938033 l +131.785277 202.148665 l +133.060273 206.051712 l +134.335269 206.759793 l +135.610265 198.355463 l +136.885261 185.727749 l +138.160257 192.067237 l +139.435253 195.31289 l +140.710249 208.39961 l +141.985245 211.07504 l +143.260241 204.704623 l +144.535237 204.986711 l +145.810233 204.766481 l +147.085229 209.339856 l +148.360225 209.693322 l +149.635221 208.518639 l +150.910218 205.499059 l +152.185214 205.709772 l +153.46021 199.568169 l +154.735206 201.975803 l +156.010202 208.134913 l +157.285198 209.182471 l +158.560194 213.811266 l +159.83519 206.714893 l +161.110186 208.91451 l +162.385182 211.799759 l +163.660178 204.239775 l +164.935174 213.60035 l +166.21017 215.275735 l +167.485166 215.808125 l +168.760162 215.957132 l +170.035158 206.20585 l +171.310154 208.563755 l +172.58515 212.42121 l +173.860146 213.132737 l +175.135142 210.663938 l +176.410138 209.740077 l +177.685134 214.984295 l +178.960131 212.062221 l +180.235127 209.765665 l +181.510123 211.424636 l +182.785119 210.426303 l +184.060115 218.599286 l +185.335111 215.833703 l +186.610107 208.005884 l +187.885103 214.285507 l +189.160099 215.549795 l +190.435095 221.32612 l +191.710091 222.906515 l +192.985087 219.95023 l +194.260083 221.071212 l +195.535079 212.877059 l +198.085071 215.135462 l +199.360067 217.447278 l +200.635063 217.219268 l +201.910059 211.589916 l +203.185055 212.454538 l +204.460051 211.945556 l +205.735047 214.170616 l +207.010044 214.868194 l +208.28504 216.627786 l +209.560036 218.599976 l +210.835032 216.865798 l +212.110028 216.660243 l +213.385024 219.251387 l +214.66002 223.313287 l +215.935016 222.110025 l +217.210012 219.77806 l +218.485008 215.762171 l +221.035 215.923535 l +222.309996 215.481121 l +223.584992 218.685774 l +224.859988 218.296268 l +226.134984 216.30016 l +227.40998 213.569059 l +228.684976 209.554983 l +229.959972 213.236644 l +231.234968 216.527762 l +232.509964 217.884924 l +235.059956 223.470756 l +236.334953 223.98981 l +237.609949 222.286727 l +238.884945 218.259738 l +240.159941 213.326676 l +241.434937 213.237795 l +242.709933 212.648611 l +243.984929 215.604663 l +245.259925 217.499846 l +246.534921 217.665023 l +247.809917 216.710689 l +250.359909 213.456939 l +251.634905 212.904358 l +252.909901 215.954058 l +254.184897 220.009865 l +255.459893 219.083422 l +258.009885 214.1897 l +259.284881 212.562191 l +260.559877 217.172872 l +261.834873 216.88624 l +263.109869 219.369922 l +264.384866 221.339472 l +265.659862 218.91029 l +266.934858 214.841886 l +268.209854 212.500675 l +269.48485 212.282038 l +270.759846 207.96236 l +272.034842 211.431334 l +273.309838 212.947026 l +274.584834 211.507889 l +275.85983 217.244105 l +277.134826 213.31371 l +278.409822 212.816825 l +279.684818 214.956959 l +280.959814 211.659181 l +282.23481 213.894778 l +283.509806 211.76476 l +284.784802 212.427271 l +286.059798 208.256748 l +287.334794 208.665519 l +288.60979 211.191621 l +289.884786 209.762781 l +291.159782 212.948905 l +292.434779 207.000793 l +293.709775 204.342167 l +294.984771 222.292753 l +296.259767 214.936238 l +297.534763 204.885426 l +298.809759 196.446894 l +300.084755 191.521506 l +301.359751 203.452723 l +302.634747 203.105881 l +303.909743 196.584816 l +305.184739 200.017717 l +306.459735 196.050736 l +307.734731 196.994597 l +309.009727 203.560776 l +310.284723 212.854857 l +311.559719 226.734234 l +312.834715 211.519422 l +314.109711 204.725637 l +315.384707 192.348524 l +316.659703 193.342704 l +317.934699 200.365093 l +319.209695 204.559955 l +320.484691 210.426229 l +321.759688 204.881506 l +323.034684 204.635576 l +324.30968 200.050786 l +325.584676 204.522426 l +326.859672 201.801703 l +328.134668 201.6206 l +329.409664 207.956942 l +330.68466 201.511335 l +331.959656 199.882138 l +333.234652 198.763421 l +334.509648 196.623731 l +335.784644 204.13995 l +337.05964 194.337031 l +338.334636 193.024133 l +339.609632 201.125103 l +340.884628 202.277637 l +342.159624 206.806161 l +343.43462 195.728275 l +344.709616 195.723328 l +345.984612 202.244517 l +347.259608 201.102697 l +348.534604 205.924944 l +349.809601 200.204984 l +351.084597 199.784444 l +352.359593 207.129304 l +353.634589 199.381531 l +354.909585 202.747454 l +356.184581 200.293178 l +357.459577 199.027704 l +358.734573 205.821203 l +360.009569 201.583635 l +361.284565 201.855923 l +362.559561 195.026712 l +363.834557 194.199891 l +365.109553 194.602099 l +366.384549 193.084464 l +367.659545 202.965158 l +368.934541 199.666821 l +370.209537 199.304793 l +371.484533 195.567604 l +372.759529 184.918122 l +374.034525 187.798305 l +375.309521 191.806602 l +377.859513 198.634794 l +379.13451 192.008399 l +380.409506 190.364181 l +381.684502 184.679277 l +382.959498 180.312898 l +384.234494 181.199554 l +385.50949 180.488567 l +386.784486 186.495735 l +388.059482 191.269749 l +389.334478 190.67001 l +390.609474 190.801547 l +391.88447 187.853559 l +393.159466 187.018113 l +394.434462 190.96358 l +395.709458 194.449224 l +396.984454 199.210848 l +398.25945 198.167277 l +399.534446 196.552601 l +400.809442 194.263803 l +402.084438 192.572061 l +403.359434 191.382322 l +404.63443 191.140367 l +405.909426 190.076344 l +407.184423 191.633404 l +408.459419 191.168677 l +409.734415 28.975125 l +411.009411 202.25308 l +412.284407 202.18868 l +413.559403 199.447657 l +414.834399 206.809382 l +416.109395 210.875746 l +417.384391 212.353806 l +417.384391 212.353806 l +stroke +grestore +0 setlinejoin +0 setlinecap +[] 0 setdash +0.000 setgray +gsave +18.504646 216.405354 m +128.870271 216.405354 l +129.936937 216.405354 130.470271 216.938688 130.470271 218.005354 c +130.470271 264.205354 l +130.470271 265.272021 129.936937 265.805354 128.870271 265.805354 c +18.504646 265.805354 l +17.437979 265.805354 16.904646 265.272021 16.904646 264.205354 c +16.904646 218.005354 l +16.904646 216.938688 17.437979 216.405354 18.504646 216.405354 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.606 0.979 setrgbcolor +gsave +20.104646 259.327229 m +36.104646 259.327229 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +42.504646 256.527229 translate +0.000000 rotate +0.000000 0.000000 m /e glyphshow +4.921875 0.000000 m /r glyphshow +8.210938 0.000000 m /r glyphshow +11.500000 0.000000 m /e glyphshow +16.421875 0.000000 m /u glyphshow +21.492188 0.000000 m /r glyphshow +24.781250 0.000000 m /space glyphshow +27.324219 0.000000 m /m glyphshow +35.117188 0.000000 m /e glyphshow +40.039062 0.000000 m /s glyphshow +44.207031 0.000000 m /u glyphshow +49.277344 0.000000 m /r glyphshow +52.566406 0.000000 m /eacute glyphshow +57.488281 0.000000 m /e glyphshow +grestore +0.889 0.436 0.278 setrgbcolor +gsave +20.104646 247.577229 m +36.104646 247.577229 l +stroke +grestore +0.000 setgray +gsave +42.504646 244.777229 translate +0.000000 rotate +0.000000 0.000000 m /Q glyphshow +6.296875 0.000000 m /u glyphshow +11.367188 0.000000 m /a glyphshow +16.269531 0.000000 m /d glyphshow +21.347656 0.000000 m /r glyphshow +24.636719 0.000000 m /a glyphshow +29.539062 0.000000 m /t glyphshow +32.675781 0.000000 m /i glyphshow +34.898438 0.000000 m /q glyphshow +39.976562 0.000000 m /u glyphshow +45.046875 0.000000 m /e glyphshow +49.968750 0.000000 m /space glyphshow +52.511719 0.000000 m /nine glyphshow +57.601562 0.000000 m /space glyphshow +60.144531 0.000000 m /p glyphshow +65.222656 0.000000 m /o glyphshow +70.117188 0.000000 m /i glyphshow +72.339844 0.000000 m /n glyphshow +77.410156 0.000000 m /t glyphshow +80.546875 0.000000 m /s glyphshow +grestore +0.242 0.643 0.304 setrgbcolor +gsave +20.104646 235.827229 m +36.104646 235.827229 l +stroke +grestore +0.000 setgray +gsave +42.504646 233.027229 translate +0.000000 rotate +0.000000 0.000000 m /Q glyphshow +6.296875 0.000000 m /u glyphshow +11.367188 0.000000 m /a glyphshow +16.269531 0.000000 m /d glyphshow +21.347656 0.000000 m /r glyphshow +24.636719 0.000000 m /a glyphshow +29.539062 0.000000 m /t glyphshow +32.675781 0.000000 m /i glyphshow +34.898438 0.000000 m /q glyphshow +39.976562 0.000000 m /u glyphshow +45.046875 0.000000 m /e glyphshow +49.968750 0.000000 m /space glyphshow +52.511719 0.000000 m /seven glyphshow +57.601562 0.000000 m /space glyphshow +60.144531 0.000000 m /p glyphshow +65.222656 0.000000 m /o glyphshow +70.117188 0.000000 m /i glyphshow +72.339844 0.000000 m /n glyphshow +77.410156 0.000000 m /t glyphshow +80.546875 0.000000 m /s glyphshow +grestore +0.764 0.444 0.824 setrgbcolor +gsave +20.104646 224.077229 m +36.104646 224.077229 l +stroke +grestore +0.000 setgray +gsave +42.504646 221.277229 translate +0.000000 rotate +0.000000 0.000000 m /Q glyphshow +6.296875 0.000000 m /u glyphshow +11.367188 0.000000 m /a glyphshow +16.269531 0.000000 m /d glyphshow +21.347656 0.000000 m /r glyphshow +24.636719 0.000000 m /a glyphshow +29.539062 0.000000 m /t glyphshow +32.675781 0.000000 m /i glyphshow +34.898438 0.000000 m /q glyphshow +39.976562 0.000000 m /u glyphshow +45.046875 0.000000 m /e glyphshow +49.968750 0.000000 m /space glyphshow +52.511719 0.000000 m /five glyphshow +57.601562 0.000000 m /space glyphshow +60.144531 0.000000 m /p glyphshow +65.222656 0.000000 m /o glyphshow +70.117188 0.000000 m /i glyphshow +72.339844 0.000000 m /n glyphshow +77.410156 0.000000 m /t glyphshow +80.546875 0.000000 m /s glyphshow +grestore + +end +showpage diff --git a/mesure_vitesse_quadratique_9.eps b/mesure_vitesse_quadratique_9.eps new file mode 100644 index 0000000..56f6270 --- /dev/null +++ b/mesure_vitesse_quadratique_9.eps @@ -0,0 +1,1685 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: matplotlib version 3.0.2, http://matplotlib.org/ +%%CreationDate: Tue Apr 30 15:54:54 2019 +%%Orientation: portrait +%%BoundingBox: 90 252 522 540 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: DejaVu Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain +%%Creator: Converted from TrueType to type 3 by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-1021 -463 1793 1232]def +/FontType 3 def +/Encoding [ /space /hyphen /zero /one /two /three /nine /P /a /c /d /e /f /i /l /m /n /o /q /r /s /t /u /v /acute /eacute ] def +/FontInfo 10 dict dup begin +/FamilyName (DejaVu Sans) def +/FullName (DejaVu Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def +/Weight (Book) def +/Version (Version 2.35) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -130 def +/UnderlineThickness 90 def +end readonly def +/CharStrings 27 dict dup begin +/.notdef 0 def +/space{318 0 0 0 0 0 _sc +}_d +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +}_e{359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +}_e{202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/nine{{636 0 63 -13 566 742 _sc +110 15 _m +110 105 _l +134 93 159 84 185 78 _c +210 72 235 69 260 69 _c +324 69 374 90 408 134 _c +442 178 462 244 468 334 _c +448 306 424 284 396 269 _c +367 254 335 247 300 247 _c +226 247 168 269 126 313 _c +84 357 63 417 63 494 _c +63 568 85 628 129 674 _c +173 719 232 742 306 742 _c +390 742 455 709 499 645 _c +543 580 566 486 566 364 _c +}_e{566 248 538 157 484 89 _c +429 21 356 -13 264 -13 _c +239 -13 214 -10 189 -6 _c +163 -2 137 5 110 15 _c +306 324 _m +350 324 385 339 411 369 _c +437 399 450 441 450 494 _c +450 546 437 588 411 618 _c +385 648 350 664 306 664 _c +262 664 227 648 201 618 _c +175 588 162 546 162 494 _c +162 441 175 399 201 369 _c +227 339 262 324 306 324 _c +_cl}_e}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +}_e{60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/c{{550 0 55 -13 488 560 _sc +488 526 _m +488 442 _l +462 456 437 466 411 473 _c +385 480 360 484 334 484 _c +276 484 230 465 198 428 _c +166 391 150 339 150 273 _c +150 206 166 154 198 117 _c +230 80 276 62 334 62 _c +360 62 385 65 411 72 _c +437 79 462 90 488 104 _c +488 21 _l +462 9 436 0 410 -5 _c +383 -10 354 -13 324 -13 _c +242 -13 176 12 128 64 _c +}_e{79 115 55 185 55 273 _c +55 362 79 432 128 483 _c +177 534 244 560 330 560 _c +358 560 385 557 411 551 _c +437 545 463 537 488 526 _c +_cl}_e}_d +/d{{635 0 55 -13 544 760 _sc +454 464 _m +454 760 _l +544 760 _l +544 0 _l +454 0 _l +454 82 _l +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +}_e{348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +}_e{540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/f{352 0 23 0 371 760 _sc +371 760 _m +371 685 _l +285 685 _l +253 685 230 678 218 665 _c +205 652 199 629 199 595 _c +199 547 _l +347 547 _l +347 477 _l +199 477 _l +199 0 _l +109 0 _l +109 477 _l +23 477 _l +23 547 _l +109 547 _l +109 585 _l +109 645 123 690 151 718 _c +179 746 224 760 286 760 _c +371 760 _l +_cl}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +}_e{285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/q{{635 0 55 -207 544 560 _sc +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +454 82 _m +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +}_e{55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +454 547 _l +544 547 _l +544 -207 _l +454 -207 _l +454 82 _l +_cl}_e}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +}_e{122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +}_e{_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 560 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +311 560 _m +311 560 _l +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +/acute{500 0 181 616 415 800 _sc +318 800 _m +415 800 _l +256 616 _l +181 616 _l +318 800 _l +_cl}_d +/eacute{615 0 55 -13 562 800 _sc +false CharStrings /e get exec +gsave 68 0 translate +false CharStrings /acute get exec +grestore }_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +90 252 translate +432 288 0 0 clipbox +gsave +0 0 m +432 0 l +432 288 l +0 288 l +cl +1.000 setgray +fill +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +429.165354 269.085354 l +12.904646 269.085354 l +cl +1.000 setgray +fill +grestore +0.500 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +416.3 257 12.9 12.09 clipbox +23.410613 12.094646 m +23.410613 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +23.4106 12.0946 o +grestore +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +20.863738 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +150.910218 12.094646 m +150.910218 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +150.91 12.0946 o +grestore +gsave +143.269593 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +278.409822 12.094646 m +278.409822 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +278.41 12.0946 o +grestore +gsave +270.769197 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +405.909426 12.094646 m +405.909426 269.085354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +405.909 12.0946 o +grestore +gsave +398.268801 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 55.031468 m +429.165354 55.031468 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 55.0315 o +grestore +gsave +1.420271 51.992406 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /three glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 104.441945 m +429.165354 104.441945 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 104.442 o +grestore +gsave +1.420271 101.402882 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 153.852421 m +429.165354 153.852421 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 153.852 o +grestore +gsave +1.420271 150.813359 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 203.262898 m +429.165354 203.262898 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 203.263 o +grestore +gsave +4.310896 200.223835 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257 12.9 12.09 clipbox +12.904646 252.673374 m +429.165354 252.673374 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 252.673 o +grestore +gsave +4.310896 249.634312 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +grestore +1.000 setlinewidth +1 setlinecap +0.000 0.606 0.979 setrgbcolor +gsave +416.3 257 12.9 12.09 clipbox +24.685609 31.071522 m +25.960605 27.802219 l +27.235601 30.984038 l +28.510597 28.93433 l +29.785593 28.251434 l +31.060589 26.850519 l +32.335585 26.985262 l +33.610581 31.839191 l +34.885577 32.068023 l +36.160574 32.088232 l +38.710566 28.301931 l +39.985562 25.953183 l +41.260558 34.02534 l +42.535554 31.576565 l +43.81055 31.660658 l +45.085546 30.533032 l +46.360542 28.998999 l +47.635538 34.089471 l +48.910534 32.471171 l +50.18553 27.48871 l +51.460526 30.61089 l +52.735522 27.222398 l +54.010518 27.983035 l +55.285514 30.442013 l +56.56051 29.123425 l +57.835506 29.932031 l +59.110502 31.342996 l +60.385498 31.774684 l +61.660494 30.663035 l +62.93549 29.728054 l +64.210487 31.745973 l +65.485483 29.17182 l +66.760479 32.375039 l +68.035475 31.314613 l +69.310471 29.343935 l +70.585467 31.732485 l +71.860463 31.495526 l +73.135459 29.145128 l +74.410455 30.171714 l +75.685451 30.80054 l +76.960447 30.30616 l +78.235443 34.404881 l +79.510439 34.193004 l +80.785435 35.500745 l +82.060431 33.659289 l +83.335427 30.701778 l +84.610423 30.898467 l +85.885419 28.416156 l +87.160415 31.275719 l +88.435411 31.872588 l +89.710407 27.978632 l +90.985403 26.488702 l +92.260399 31.586015 l +93.535396 29.655288 l +94.810392 29.727612 l +97.360384 30.207065 l +98.63538 31.983052 l +99.910376 31.426686 l +102.460368 28.521455 l +103.735364 30.973118 l +105.01036 30.705688 l +106.285356 31.735331 l +107.560352 29.367295 l +108.835348 29.898713 l +110.110344 31.492416 l +111.38534 28.805429 l +112.660336 27.646299 l +115.210328 34.213066 l +116.485324 32.514753 l +117.76032 29.360985 l +119.035316 35.173252 l +120.310312 34.947463 l +121.585309 32.724567 l +122.860305 30.001347 l +124.135301 29.798634 l +125.410297 27.741947 l +126.685293 30.530127 l +127.960289 33.818876 l +129.235285 33.05761 l +130.510281 35.200015 l +131.785277 31.266099 l +134.335269 27.433777 l +135.610265 34.758426 l +136.885261 30.103086 l +138.160257 30.281912 l +139.435253 23.546469 l +140.710249 19.367968 l +141.985245 23.188352 l +143.260241 21.313194 l +144.535237 26.425216 l +147.085229 21.896842 l +148.360225 24.038684 l +149.635221 26.77763 l +150.910218 26.60334 l +152.185214 25.750928 l +153.46021 28.521628 l +154.735206 26.788708 l +156.010202 27.263974 l +157.285198 21.45878 l +158.560194 28.657137 l +159.83519 29.680561 l +161.110186 27.782065 l +162.385182 31.123114 l +163.660178 30.113779 l +164.935174 32.877518 l +166.21017 34.133617 l +167.485166 28.832561 l +168.760162 41.153552 l +170.035158 40.049017 l +171.310154 39.735682 l +172.58515 40.899799 l +173.860146 42.400444 l +175.135142 42.731042 l +176.410138 46.666105 l +177.685134 47.319778 l +178.960131 46.20661 l +180.235127 48.143646 l +181.510123 56.646149 l +182.785119 49.589468 l +184.060115 50.691971 l +185.335111 57.976876 l +186.610107 58.316934 l +189.160099 61.036229 l +190.435095 60.077498 l +191.710091 67.855931 l +192.985087 67.303601 l +194.260083 74.114536 l +195.535079 75.209371 l +196.810075 79.227724 l +198.085071 81.185164 l +199.360067 79.425483 l +200.635063 84.554548 l +201.910059 88.085164 l +203.185055 89.693801 l +204.460051 89.46785 l +205.735047 90.88352 l +207.010044 95.369454 l +208.28504 94.116573 l +209.560036 97.435067 l +210.835032 100.127367 l +212.110028 104.388526 l +213.385024 104.623303 l +214.66002 107.447986 l +215.935016 110.654346 l +217.210012 116.003516 l +218.485008 119.010764 l +219.760004 120.739794 l +221.035 123.439866 l +222.309996 124.953612 l +223.584992 128.17942 l +224.859988 129.694948 l +226.134984 131.954675 l +227.40998 137.134667 l +228.684976 138.141344 l +229.959972 138.300649 l +231.234968 140.357898 l +232.509964 141.025392 l +233.78496 145.434995 l +235.059956 147.687214 l +236.334953 150.300179 l +237.609949 154.62694 l +238.884945 160.786773 l +240.159941 161.781139 l +241.434937 164.368616 l +242.709933 166.481517 l +243.984929 167.182036 l +245.259925 169.031595 l +246.534921 171.165503 l +247.809917 175.497976 l +249.084913 176.839538 l +250.359909 179.249341 l +252.909901 183.620302 l +254.184897 183.5289 l +255.459893 186.50917 l +256.734889 191.307452 l +258.009885 195.114938 l +259.284881 193.689685 l +260.559877 197.270417 l +261.834873 199.832412 l +263.109869 200.029658 l +264.384866 204.875972 l +265.659862 207.02983 l +266.934858 211.080579 l +268.209854 213.631976 l +269.48485 215.866596 l +270.759846 214.887342 l +272.034842 218.377874 l +273.309838 220.084142 l +274.584834 216.685233 l +275.85983 222.596457 l +277.134826 225.490059 l +278.409822 222.620566 l +279.684818 229.309841 l +280.959814 229.419138 l +282.23481 230.329786 l +283.509806 232.475418 l +284.784802 234.870818 l +286.059798 236.458374 l +287.334794 235.532296 l +288.60979 239.996744 l +289.884786 236.811087 l +291.159782 239.934469 l +292.434779 242.18812 l +293.709775 242.513636 l +294.984771 243.891712 l +296.259767 241.544578 l +297.534763 242.493721 l +298.809759 260.864154 l +300.084755 244.576166 l +301.359751 240.864051 l +303.909743 248.002245 l +305.184739 239.94465 l +306.459735 241.720992 l +307.734731 239.728676 l +309.009727 243.635795 l +310.284723 230.572381 l +311.559719 238.821816 l +312.834715 241.180576 l +314.109711 246.608488 l +315.384707 248.742323 l +316.659703 241.991235 l +317.934699 243.691178 l +319.209695 237.041758 l +320.484691 240.112286 l +321.759688 239.651297 l +323.034684 242.423811 l +324.30968 241.750412 l +325.584676 239.41953 l +326.859672 241.265955 l +328.134668 238.224451 l +329.409664 242.348076 l +330.68466 236.17608 l +331.959656 239.40786 l +333.234652 243.106215 l +334.509648 235.892194 l +335.784644 233.324806 l +337.05964 238.578226 l +338.334636 233.917491 l +339.609632 235.21606 l +340.884628 224.888785 l +342.159624 231.671364 l +343.43462 232.315378 l +344.709616 229.273122 l +345.984612 228.356482 l +347.259608 224.915642 l +348.534604 225.754034 l +349.809601 228.311808 l +351.084597 223.261681 l +352.359593 227.555074 l +353.634589 221.843978 l +354.909585 224.314512 l +356.184581 227.471518 l +357.459577 219.634939 l +358.734573 222.420796 l +360.009569 222.639055 l +361.284565 220.511638 l +362.559561 221.879728 l +363.834557 219.881461 l +365.109553 220.30561 l +366.384549 211.866658 l +367.659545 215.633804 l +368.934541 212.363554 l +370.209537 208.695875 l +371.484533 213.788902 l +374.034525 206.47983 l +375.309521 203.455645 l +376.584517 197.637177 l +377.859513 197.907405 l +379.13451 196.623352 l +380.409506 194.729169 l +381.684502 193.37819 l +382.959498 187.099835 l +384.234494 186.374654 l +385.50949 178.520716 l +386.784486 173.620372 l +388.059482 170.310319 l +389.334478 166.606967 l +390.609474 164.121497 l +391.88447 163.550925 l +393.159466 158.078758 l +394.434462 155.999411 l +395.709458 151.34007 l +398.25945 147.843871 l +399.534446 147.741849 l +400.809442 146.959855 l +402.084438 143.662746 l +403.359434 141.96706 l +404.63443 140.048405 l +405.909426 136.896764 l +407.184423 133.145856 l +408.459419 132.125961 l +409.734415 128.084531 l +411.009411 126.624791 l +412.284407 122.632188 l +413.559403 121.471369 l +414.834399 118.901799 l +416.109395 117.517072 l +417.384391 112.23365 l +417.384391 112.23365 l +stroke +grestore +0.889 0.436 0.278 setrgbcolor +gsave +416.3 257 12.9 12.09 clipbox +24.685609 261.812032 m +25.960605 202.761602 l +27.235601 201.184602 l +28.510597 201.712172 l +29.785593 201.711209 l +31.060589 203.123698 l +32.335585 201.881579 l +33.610581 202.520591 l +34.885577 203.469267 l +36.160574 203.160964 l +37.43557 203.159813 l +38.710566 201.197664 l +39.985562 200.763764 l +42.535554 204.991556 l +43.81055 205.194768 l +45.085546 205.597845 l +46.360542 204.846764 l +47.635538 204.903502 l +48.910534 205.212418 l +50.18553 203.007736 l +51.460526 201.104576 l +52.735522 201.58995 l +54.010518 201.350603 l +55.285514 201.776919 l +56.56051 203.121319 l +57.835506 202.472469 l +59.110502 202.887592 l +60.385498 203.805288 l +62.93549 202.706067 l +65.485483 203.906087 l +66.760479 203.453104 l +68.035475 204.158693 l +69.310471 202.257894 l +70.585467 201.038719 l +71.860463 200.444612 l +73.135459 199.982163 l +74.410455 200.76485 l +75.685451 202.39516 l +76.960447 204.571276 l +79.510439 206.24715 l +82.060431 207.460504 l +83.335427 205.205862 l +84.610423 204.035841 l +85.885419 203.740341 l +87.160415 203.206472 l +88.435411 203.543554 l +90.985403 200.944948 l +92.260399 201.728692 l +93.535396 203.764149 l +94.810392 203.0279 l +96.085388 203.13419 l +97.360384 202.954663 l +98.63538 203.637747 l +99.910376 203.989129 l +101.185372 203.043586 l +102.460368 203.184638 l +103.735364 204.118469 l +105.01036 204.322508 l +106.285356 202.649919 l +107.560352 201.924859 l +108.835348 201.972793 l +110.110344 200.872124 l +111.38534 200.109124 l +112.660336 199.843776 l +113.935332 201.708425 l +115.210328 204.223275 l +116.485324 206.196298 l +117.76032 205.637145 l +119.035316 204.382463 l +120.310312 204.804282 l +121.585309 202.398241 l +122.860305 201.399813 l +124.135301 201.64483 l +125.410297 203.400401 l +126.685293 202.584923 l +127.960289 204.591493 l +129.235285 205.573475 l +130.510281 207.409608 l +131.785277 210.099735 l +133.060273 209.482928 l +134.335269 210.129333 l +135.610265 209.022344 l +136.885261 209.206997 l +139.435253 204.671566 l +140.710249 200.987981 l +141.985245 199.876904 l +143.260241 201.045745 l +144.535237 200.231106 l +145.810233 201.219863 l +147.085229 200.376481 l +148.360225 202.440893 l +149.635221 202.856539 l +152.185214 202.309157 l +153.46021 201.058988 l +154.735206 200.877082 l +156.010202 198.983043 l +157.285198 197.755346 l +158.560194 198.708715 l +159.83519 198.104634 l +161.110186 196.510647 l +162.385182 195.544001 l +163.660178 195.818283 l +164.935174 195.293391 l +166.21017 196.018633 l +167.485166 195.332068 l +168.760162 195.053286 l +170.035158 198.453181 l +171.310154 197.521488 l +172.58515 194.798358 l +175.135142 197.052453 l +176.410138 195.926244 l +177.685134 195.846968 l +178.960131 194.945966 l +180.235127 194.438248 l +181.510123 195.856965 l +182.785119 195.03168 l +184.060115 192.490485 l +185.335111 191.507384 l +186.610107 191.743717 l +187.885103 189.648339 l +189.160099 188.529694 l +190.435095 189.302117 l +191.710091 189.4718 l +192.985087 190.823943 l +194.260083 190.732832 l +195.535079 192.766997 l +196.810075 193.338404 l +198.085071 193.355733 l +199.360067 193.796383 l +200.635063 193.556006 l +201.910059 194.505554 l +205.735047 191.830495 l +207.010044 191.322413 l +208.28504 190.206953 l +209.560036 188.31327 l +212.110028 188.293377 l +213.385024 188.792059 l +214.66002 188.508842 l +215.935016 189.605201 l +217.210012 190.860669 l +218.485008 191.095714 l +219.760004 190.973073 l +221.035 191.38913 l +222.309996 192.006497 l +223.584992 192.911179 l +224.859988 193.180727 l +226.134984 193.062229 l +227.40998 193.066923 l +228.684976 192.404913 l +229.959972 189.42065 l +231.234968 187.656492 l +232.509964 186.933448 l +233.78496 186.821247 l +235.059956 188.374386 l +236.334953 189.65339 l +237.609949 191.249051 l +238.884945 192.268343 l +240.159941 193.137446 l +241.434937 192.487735 l +242.709933 192.246486 l +243.984929 191.820526 l +245.259925 192.148964 l +246.534921 192.612711 l +247.809917 192.316976 l +249.084913 191.719272 l +250.359909 191.787241 l +251.634905 191.618625 l +252.909901 191.294499 l +254.184897 191.725174 l +255.459893 191.166635 l +256.734889 191.699534 l +258.009885 191.598815 l +259.284881 190.695963 l +260.559877 189.322163 l +261.834873 190.59794 l +263.109869 190.984707 l +264.384866 191.494174 l +265.659862 194.74207 l +266.934858 195.388225 l +268.209854 195.649111 l +269.48485 196.717036 l +270.759846 195.453787 l +272.034842 194.529501 l +273.309838 194.839068 l +274.584834 194.265906 l +275.85983 193.358128 l +277.134826 194.569599 l +278.409822 195.274514 l +279.684818 194.363599 l +280.959814 196.919083 l +283.509806 196.827115 l +284.784802 197.401585 l +286.059798 197.638003 l +287.334794 198.610075 l +288.60979 199.160429 l +289.884786 194.476119 l +291.159782 195.471938 l +292.434779 199.414105 l +293.709775 201.189823 l +294.984771 201.228071 l +296.259767 204.301062 l +297.534763 205.993659 l +298.809759 209.14744 l +300.084755 210.452046 l +301.359751 208.551951 l +302.634747 208.16439 l +303.909743 208.057762 l +305.184739 204.664723 l +306.459735 199.267648 l +307.734731 199.53994 l +309.009727 198.675991 l +310.284723 201.022829 l +311.559719 200.494281 l +312.834715 205.268861 l +314.109711 206.43858 l +315.384707 207.150115 l +316.659703 206.424468 l +317.934699 203.595167 l +319.209695 203.969624 l +320.484691 201.947331 l +321.759688 204.641036 l +323.034684 204.905956 l +324.30968 204.071466 l +325.584676 204.774346 l +326.859672 206.069304 l +328.134668 205.882188 l +329.409664 206.409198 l +330.68466 207.158273 l +331.959656 209.380897 l +333.234652 210.459386 l +334.509648 209.601235 l +335.784644 207.625148 l +337.05964 207.807692 l +338.334636 209.578952 l +340.884628 206.803865 l +342.159624 206.101836 l +343.43462 207.275509 l +344.709616 207.748996 l +345.984612 206.311685 l +347.259608 204.422905 l +348.534604 205.378119 l +349.809601 206.111602 l +351.084597 206.215098 l +352.359593 205.702412 l +353.634589 206.187901 l +354.909585 205.435403 l +356.184581 206.281678 l +357.459577 208.78335 l +358.734573 207.676566 l +360.009569 209.938631 l +361.284565 211.656533 l +362.559561 210.442075 l +363.834557 210.60678 l +365.109553 210.539761 l +366.384549 211.030091 l +367.659545 211.914363 l +368.934541 214.335753 l +370.209537 214.452246 l +371.484533 214.978532 l +372.759529 216.013812 l +374.034525 215.74331 l +375.309521 215.02826 l +376.584517 216.461863 l +377.859513 218.459066 l +379.13451 221.497708 l +380.409506 223.380968 l +381.684502 224.019371 l +382.959498 222.928718 l +384.234494 221.626843 l +385.50949 220.692445 l +386.784486 219.021617 l +388.059482 218.305995 l +389.334478 217.779679 l +391.88447 215.180377 l +393.159466 214.339627 l +394.434462 212.596948 l +395.709458 211.975234 l +396.984454 211.767933 l +398.25945 213.160439 l +399.534446 261.812032 l +400.809442 202.761602 l +402.084438 201.184602 l +403.359434 201.712172 l +404.63443 201.711209 l +405.909426 203.123698 l +407.184423 201.881579 l +408.459419 202.520591 l +409.734415 203.469267 l +411.009411 203.160964 l +412.284407 203.159813 l +413.559403 201.197664 l +414.834399 200.763764 l +417.384391 204.991556 l +417.384391 204.991556 l +stroke +grestore +0 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +12.904646 12.094646 m +12.904646 269.085354 l +stroke +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +stroke +grestore +/DejaVuSans findfont +14.000 scalefont +setfont +gsave +20.285000 275.085354 translate +0.000000 rotate +0.000000 0.000000 m /P glyphshow +8.442383 0.000000 m /o glyphshow +17.007812 0.000000 m /s glyphshow +24.301758 0.000000 m /i glyphshow +28.191406 0.000000 m /t glyphshow +33.680664 0.000000 m /i glyphshow +37.570312 0.000000 m /o glyphshow +46.135742 0.000000 m /n glyphshow +55.008789 0.000000 m /space glyphshow +59.458984 0.000000 m /e glyphshow +68.072266 0.000000 m /t glyphshow +73.561523 0.000000 m /space glyphshow +78.011719 0.000000 m /v glyphshow +86.296875 0.000000 m /i glyphshow +90.186523 0.000000 m /t glyphshow +95.675781 0.000000 m /e glyphshow +104.289062 0.000000 m /s glyphshow +111.583008 0.000000 m /s glyphshow +118.876953 0.000000 m /e glyphshow +127.490234 0.000000 m /space glyphshow +131.940430 0.000000 m /m glyphshow +145.578125 0.000000 m /e glyphshow +154.191406 0.000000 m /s glyphshow +161.485352 0.000000 m /u glyphshow +170.358398 0.000000 m /r glyphshow +176.114258 0.000000 m /eacute glyphshow +184.727539 0.000000 m /e glyphshow +193.340820 0.000000 m /s glyphshow +200.634766 0.000000 m /space glyphshow +205.084961 0.000000 m /f glyphshow +210.013672 0.000000 m /i glyphshow +213.903320 0.000000 m /l glyphshow +217.792969 0.000000 m /t glyphshow +223.282227 0.000000 m /r glyphshow +229.038086 0.000000 m /e glyphshow +237.651367 0.000000 m /space glyphshow +242.101562 0.000000 m /q glyphshow +250.988281 0.000000 m /u glyphshow +259.861328 0.000000 m /a glyphshow +268.440430 0.000000 m /d glyphshow +277.327148 0.000000 m /r glyphshow +283.083008 0.000000 m /a glyphshow +291.662109 0.000000 m /t glyphshow +297.151367 0.000000 m /i glyphshow +301.041016 0.000000 m /q glyphshow +309.927734 0.000000 m /u glyphshow +318.800781 0.000000 m /e glyphshow +327.414062 0.000000 m /space glyphshow +331.864258 0.000000 m /d glyphshow +340.750977 0.000000 m /e glyphshow +349.364258 0.000000 m /space glyphshow +353.814453 0.000000 m /t glyphshow +359.303711 0.000000 m /a glyphshow +367.882812 0.000000 m /i glyphshow +371.772461 0.000000 m /l glyphshow +375.662109 0.000000 m /l glyphshow +379.551758 0.000000 m /e glyphshow +388.165039 0.000000 m /space glyphshow +392.615234 0.000000 m /nine glyphshow +grestore +0 setlinecap +gsave +334.059104 16.094646 m +423.565354 16.094646 l +424.632021 16.094646 425.165354 16.627979 425.165354 17.694646 c +425.165354 40.394646 l +425.165354 41.461312 424.632021 41.994646 423.565354 41.994646 c +334.059104 41.994646 l +332.992438 41.994646 332.459104 41.461312 332.459104 40.394646 c +332.459104 17.694646 l +332.459104 16.627979 332.992438 16.094646 334.059104 16.094646 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.606 0.979 setrgbcolor +gsave +335.659104 35.516521 m +351.659104 35.516521 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +358.059104 32.716521 translate +0.000000 rotate +0.000000 0.000000 m /e glyphshow +4.921875 0.000000 m /r glyphshow +8.210938 0.000000 m /r glyphshow +11.500000 0.000000 m /e glyphshow +16.421875 0.000000 m /u glyphshow +21.492188 0.000000 m /r glyphshow +24.781250 0.000000 m /space glyphshow +27.324219 0.000000 m /m glyphshow +35.117188 0.000000 m /e glyphshow +40.039062 0.000000 m /s glyphshow +44.207031 0.000000 m /u glyphshow +49.277344 0.000000 m /r glyphshow +52.566406 0.000000 m /eacute glyphshow +57.488281 0.000000 m /e glyphshow +grestore +0.889 0.436 0.278 setrgbcolor +gsave +335.659104 23.766521 m +351.659104 23.766521 l +stroke +grestore +0.000 setgray +gsave +358.059104 20.966521 translate +0.000000 rotate +0.000000 0.000000 m /v glyphshow +4.734375 0.000000 m /i glyphshow +6.957031 0.000000 m /t glyphshow +10.093750 0.000000 m /e glyphshow +15.015625 0.000000 m /s glyphshow +19.183594 0.000000 m /s glyphshow +23.351562 0.000000 m /e glyphshow +28.273438 0.000000 m /space glyphshow +30.816406 0.000000 m /c glyphshow +35.214844 0.000000 m /a glyphshow +40.117188 0.000000 m /l glyphshow +42.339844 0.000000 m /c glyphshow +46.738281 0.000000 m /u glyphshow +51.808594 0.000000 m /l glyphshow +54.031250 0.000000 m /eacute glyphshow +58.953125 0.000000 m /e glyphshow +grestore + +end +showpage diff --git a/output.txt b/output.txt new file mode 100644 index 0000000..6aa5d75 --- /dev/null +++ b/output.txt @@ -0,0 +1,1236 @@ +- target: 1.8 + error: -3.48491631152 + derror: -0.582002296564 + cmd_vel: 0.0147231249863 +- target: 1.8 + error: -3.55108249721 + derror: -0.0861019575079 + cmd_vel: 0.0147231249863 +- target: 1.8 + error: -3.48668687763 + derror: 0.231774666083 + cmd_vel: 0.0147231249863 +- target: 1.8 + error: -3.52817014466 + derror: 0.185460794183 + cmd_vel: 0.24214392915 +- target: 1.8 + error: -3.54199102244 + derror: 0.28421182511 + cmd_vel: 0.24214392915 +- target: 1.8 + error: -3.57034360298 + derror: -0.00893323425779 + cmd_vel: 0.24214392915 +- target: 1.8 + error: -3.56761658362 + derror: 0.0815074976206 + cmd_vel: 0.24214392915 +- target: 1.8 + error: -3.46937975932 + derror: 0.218930395483 + cmd_vel: -0.349727411215 +- target: 1.8 + error: -3.46474851517 + derror: -0.174444535497 + cmd_vel: -0.349727411215 +- target: 1.8 + error: -3.46433950568 + derror: -0.43620867006 + cmd_vel: -0.349727411215 +- target: 1.8 + error: -3.504268421 + derror: -0.363015438689 + cmd_vel: -0.349727411215 +- target: 1.8 + error: -3.5409690213 + derror: -0.0856605151708 + cmd_vel: 0.469932357737 +- target: 1.8 + error: -3.58850444508 + derror: 0.594808524656 + cmd_vel: 0.469932357737 +- target: 1.8 + error: -3.42513511736 + derror: 0.633822606016 + cmd_vel: 0.469932357737 +- target: 1.8 + error: -3.47469493973 + derror: 0.0621706233183 + cmd_vel: 0.469932357737 +- target: 1.8 + error: -3.4729930169 + derror: -0.200990363551 + cmd_vel: 0.0341018506907 +- target: 1.8 + error: -3.49581462084 + derror: -0.981072904589 + cmd_vel: 0.0341018506907 +- target: 1.8 + error: -3.52686132609 + derror: -0.134867693524 + cmd_vel: 0.0341018506907 +- target: 1.8 + error: -3.42383718038 + derror: 0.333538932243 + cmd_vel: 0.0341018506907 +- target: 1.8 + error: -3.45658935203 + derror: -0.0209160539455 + cmd_vel: 0.062547793847 +- target: 1.8 + error: -3.55742748815 + derror: -0.651851656383 + cmd_vel: 0.062547793847 +- target: 1.8 + error: -3.49423886552 + derror: -0.0192327317913 + cmd_vel: 0.062547793847 +- target: 1.8 + error: -3.5628172791 + derror: 0.125878350666 + cmd_vel: 0.062547793847 +- target: 1.8 + error: -3.54742304349 + derror: 0.250383231242 + cmd_vel: 0.21932235687 +- target: 1.8 + error: -3.49765670141 + derror: 0.448269119395 + cmd_vel: 0.21932235687 +- target: 1.8 + error: -3.52434311619 + derror: -0.114213748703 + cmd_vel: 0.21932235687 +- target: 1.8 + error: -3.50797803657 + derror: -0.021483675148 + cmd_vel: 0.21932235687 +- target: 1.8 + error: -3.4794220628 + derror: -0.11194708695 + cmd_vel: -0.0701537025989 +- target: 1.8 + error: -3.47068527941 + derror: -0.174263602378 + cmd_vel: -0.0701537025989 +- target: 1.8 + error: -3.49318353281 + derror: -0.145610944447 + cmd_vel: -0.0701537025989 +- target: 1.8 + error: -3.51210626002 + derror: -0.134383052557 + cmd_vel: -0.0701537025989 +- target: 1.8 + error: -3.47126636237 + derror: 0.0489894468033 + cmd_vel: 0.0237208789964 +- target: 1.8 + error: -3.52336367254 + derror: 0.130997584372 + cmd_vel: 0.0237208789964 +- target: 1.8 + error: -3.45853492712 + derror: 0.121965459862 + cmd_vel: 0.0237208789964 +- target: 1.8 + error: -3.47999648045 + derror: -0.0553670095223 + cmd_vel: 0.0237208789964 +- target: 1.8 + error: -3.51988029883 + derror: -0.0777201144423 + cmd_vel: 0.374983758149 +- target: 1.8 + error: -3.47153934169 + derror: 0.14975275409 + cmd_vel: 0.374983758149 +- target: 1.8 + error: -3.47633506283 + derror: -0.00120556911827 + cmd_vel: 0.374983758149 +- target: 1.8 + error: -3.52390388395 + derror: 0.0209244607759 + cmd_vel: 0.374983758149 +- target: 1.8 + error: -3.50312718166 + derror: -0.0129884669777 + cmd_vel: 0.0501317299141 +- target: 1.8 + error: -3.49040062165 + derror: 0.156322344624 + cmd_vel: 0.0501317299141 +- target: 1.8 + error: -3.50040619076 + derror: 0.150755187031 + cmd_vel: 0.0501317299141 +- target: 1.8 + error: -3.417453718 + derror: 0.0261475534329 + cmd_vel: 0.0501317299141 +- target: 1.8 + error: -3.42174182643 + derror: -0.13833896059 + cmd_vel: -0.0851559301359 +- target: 1.8 + error: -3.39527495196 + derror: -0.632701936492 + cmd_vel: -0.0851559301359 +- target: 1.8 + error: -3.43254346799 + derror: -0.424306173119 + cmd_vel: -0.0851559301359 +- target: 1.8 + error: -3.49239941675 + derror: -0.176226699076 + cmd_vel: -0.0851559301359 +- target: 1.8 + error: -3.48841870517 + derror: 0.132455537047 + cmd_vel: 0.235722571717 +- target: 1.8 + error: -3.53865726078 + derror: 0.600968951676 + cmd_vel: 0.235722571717 +- target: 1.8 + error: -3.48078365698 + derror: 0.503093131489 + cmd_vel: 0.235722571717 +- target: 1.8 + error: -3.46870384865 + derror: 0.127916041673 + cmd_vel: 0.235722571717 +- target: 1.8 + error: -3.54751214803 + derror: -0.102573941496 + cmd_vel: 0.443473398264 +- target: 1.8 + error: -3.577666291 + derror: -0.187705225001 + cmd_vel: 0.443473398264 +- target: 1.8 + error: -3.47450369236 + derror: 0.319837518122 + cmd_vel: 0.443473398264 +- target: 1.8 + error: -3.51357894926 + derror: 0.20064380003 + cmd_vel: 0.443473398264 +- target: 1.8 + error: -3.51211521121 + derror: -0.0439380449644 + cmd_vel: 0.00621265330997 +- target: 1.8 + error: -3.50754718032 + derror: -0.65600951812 + cmd_vel: 0.00621265330997 +- target: 1.8 + error: -3.50241174249 + derror: -0.0714163940795 + cmd_vel: 0.00621265330997 +- target: 1.8 + error: -3.46646820732 + derror: 0.120281933018 + cmd_vel: 0.00621265330997 +- target: 1.8 + error: -3.47772829384 + derror: -0.086828879655 + cmd_vel: 0.0522083588705 +- target: 1.8 + error: -3.50807844719 + derror: -0.419102722968 + cmd_vel: 0.0522083588705 +- target: 1.8 + error: -3.53652615593 + derror: -0.0889087984092 + cmd_vel: 0.0522083588705 +- target: 1.8 + error: -3.48690788256 + derror: 0.160651766519 + cmd_vel: 0.0522083588705 +- target: 1.8 + error: -3.49232029547 + derror: 0.115185473211 + cmd_vel: 0.0488592083564 +- target: 1.8 + error: -3.47148173308 + derror: -0.0284436805089 + cmd_vel: 0.0488592083564 +- target: 1.8 + error: -3.51940753032 + derror: -0.255678034323 + cmd_vel: 0.0488592083564 +- target: 1.8 + error: -3.50865236413 + derror: -0.0595632469141 + cmd_vel: 0.0488592083564 +- target: 1.8 + error: -3.47639800785 + derror: 0.0955108377071 + cmd_vel: -0.052872740817 +- target: 1.8 + error: -3.53077891534 + derror: 0.0116782174469 + cmd_vel: -0.052872740817 +- target: 1.8 + error: -3.55423811204 + derror: 0.00553935582707 + cmd_vel: -0.052872740817 +- target: 1.8 + error: -3.48590843022 + derror: 0.104896912765 + cmd_vel: -0.052872740817 +- target: 1.8 + error: -3.4213357824 + derror: 0.11994746766 + cmd_vel: -0.243577774648 +- target: 1.8 + error: -3.45570731596 + derror: -0.453273377666 + cmd_vel: -0.243577774648 +- target: 1.8 + error: -3.51953522758 + derror: -0.61686924488 + cmd_vel: -0.243577774648 +- target: 1.8 + error: -3.40190294464 + derror: -0.0373072080724 + cmd_vel: -0.243577774648 +- target: 1.8 + error: -3.40647261217 + derror: 0.0751715616146 + cmd_vel: -0.0323744060093 +- target: 1.8 + error: -3.45146097062 + derror: -0.306670586573 + cmd_vel: -0.0323744060093 +- target: 1.8 + error: -3.5065751887 + derror: -0.39420274524 + cmd_vel: -0.0323744060093 +- target: 1.8 + error: -3.51067781174 + derror: 0.0242994175118 + cmd_vel: -0.0323744060093 +- target: 1.8 + error: -3.55230233792 + derror: 0.283903542814 + cmd_vel: 0.41289523418 +- target: 1.8 + error: -3.4958734054 + derror: 1.05109546854 + cmd_vel: 0.41289523418 +- target: 1.8 + error: -3.4293136639 + derror: 0.234241666773 + cmd_vel: 0.41289523418 +- target: 1.8 + error: -3.44472062511 + derror: -0.175296132124 + cmd_vel: 0.41289523418 +- target: 1.8 + error: -3.40136131109 + derror: -0.203199591071 + cmd_vel: -0.280304223337 +- target: 1.8 + error: -3.48097834628 + derror: -1.19058835285 + cmd_vel: -0.280304223337 +- target: 1.8 + error: -3.51886607321 + derror: -0.0895757472431 + cmd_vel: -0.280304223337 +- target: 1.8 + error: -3.55853926409 + derror: 0.210907284308 + cmd_vel: -0.280304223337 +- target: 1.8 + error: -3.41029844712 + derror: 0.342209696847 + cmd_vel: -0.203597654724 +- target: 1.8 + error: -3.50451612746 + derror: 0.341001891314 + cmd_vel: -0.203597654724 +- target: 1.8 + error: -3.50089693293 + derror: -0.312887865003 + cmd_vel: -0.203597654724 +- target: 1.8 + error: -3.63721303502 + derror: -0.229258762912 + cmd_vel: -0.203597654724 +- target: 1.8 + error: -3.72178013902 + derror: 0.13594346653 + cmd_vel: 0.9999 +- target: 1.8 + error: -3.64446082242 + derror: 2.44140934564 + cmd_vel: 0.9999 +- target: 1.8 + error: -3.68241142904 + derror: 0.737446647063 + cmd_vel: 0.9999 +- target: 1.8 + error: -3.57895115413 + derror: 0.324016982699 + cmd_vel: 0.9999 +- target: 1.8 + error: -3.62280410807 + derror: -0.197860144816 + cmd_vel: -0.0828996773897 +- target: 1.8 + error: -3.67059921225 + derror: -1.00618023536 + cmd_vel: -0.0828996773897 +- target: 1.8 + error: -3.62725126493 + derror: 0.0166876817611 + cmd_vel: -0.0828996773897 +- target: 1.8 + error: -3.57181877601 + derror: 0.0989504339494 + cmd_vel: -0.0828996773897 +- target: 1.8 + error: -3.57534617458 + derror: 0.0495646017635 + cmd_vel: -0.136594604247 +- target: 1.8 + error: -3.59259780568 + derror: -0.858614050737 + cmd_vel: -0.136594604247 +- target: 1.8 + error: -3.53652266177 + derror: -0.298590194413 + cmd_vel: -0.136594604247 +- target: 1.8 + error: -3.57159457862 + derror: -0.0885358833108 + cmd_vel: -0.136594604247 +- target: 1.8 + error: -3.56197584645 + derror: -0.0209601438434 + cmd_vel: 0.0683163944115 +- target: 1.8 + error: -3.67946498576 + derror: -0.42702837331 + cmd_vel: 0.0683163944115 +- target: 1.8 + error: -3.53378013397 + derror: 0.359993256867 + cmd_vel: 0.0683163944115 +- target: 1.8 + error: -3.51306745506 + derror: 0.231128538875 + cmd_vel: 0.0683163944115 +- target: 1.8 + error: -3.55149038932 + derror: -0.131336160434 + cmd_vel: 0.196612535418 +- target: 1.8 + error: -3.48387217069 + derror: -0.754123731435 + cmd_vel: 0.196612535418 +- target: 1.8 + error: -3.50429971004 + derror: -0.486964647962 + cmd_vel: 0.196612535418 +- target: 1.8 + error: -3.44836544524 + derror: 0.0420009670108 + cmd_vel: 0.196612535418 +- target: 1.8 + error: -3.42294373447 + derror: -0.105260587263 + cmd_vel: -0.307081974094 +- target: 1.8 + error: -3.5302298123 + derror: -1.03553534128 + cmd_vel: -0.307081974094 +- target: 1.8 + error: -3.28086991193 + derror: 0.20723580336 + cmd_vel: -0.307081974094 +- target: 1.8 + error: -3.30322418273 + derror: -0.194687578365 + cmd_vel: -0.307081974094 +- target: 1.8 + error: -3.30956565717 + derror: -0.321955434389 + cmd_vel: -0.0493597411175 +- target: 1.8 + error: -3.28600553144 + derror: -1.63763184809 + cmd_vel: -0.0493597411175 +- target: 1.8 + error: -3.25563453921 + derror: -0.537966878186 + cmd_vel: -0.0493597411175 +- target: 1.8 + error: -3.24894368463 + derror: 0.111455973707 + cmd_vel: -0.0493597411175 +- target: 1.8 + error: -3.16930342695 + derror: -0.101781058216 + cmd_vel: -0.387318803251 +- target: 1.8 + error: -3.15607398548 + derror: -0.764970396783 + cmd_vel: -0.387318803251 +- target: 1.8 + error: -3.17860298238 + derror: -0.510970736949 + cmd_vel: -0.387318803251 +- target: 1.8 + error: -3.13940003712 + derror: -0.230265179218 + cmd_vel: -0.387318803251 +- target: 1.8 + error: -2.96732109133 + derror: -0.0108249722309 + cmd_vel: -0.743757455961 +- target: 1.8 + error: -3.11013858924 + derror: -1.10688944295 + cmd_vel: -0.743757455961 +- target: 1.8 + error: -3.08782544261 + derror: -0.658618918149 + cmd_vel: -0.743757455961 +- target: 1.8 + error: -2.94038900002 + derror: -0.0952920147822 + cmd_vel: -0.743757455961 +- target: 1.8 + error: -2.93350669089 + derror: -0.0224728718127 + cmd_vel: -0.0302642768708 +- target: 1.8 + error: -2.90430587123 + derror: -0.666062922534 + cmd_vel: -0.0302642768708 +- target: 1.8 + error: -2.87847190628 + derror: -0.979720081089 + cmd_vel: -0.0302642768708 +- target: 1.8 + error: -2.89787531336 + derror: -0.363172730005 + cmd_vel: -0.0302642768708 +- target: 1.8 + error: -2.74045053066 + derror: 0.0382582009344 + cmd_vel: -0.769353660217 +- target: 1.8 + error: -2.75162892384 + derror: -0.90492991987 + cmd_vel: -0.769353660217 +- target: 1.8 + error: -2.6137849834 + derror: -0.546344931281 + cmd_vel: -0.769353660217 +- target: 1.8 + error: -2.5916270289 + derror: -0.618178110535 + cmd_vel: -0.769353660217 +- target: 1.8 + error: -2.51030111505 + derror: -0.466985715481 + cmd_vel: -0.41682594588 +- target: 1.8 + error: -2.4706852078 + derror: -1.51991713587 + cmd_vel: -0.41682594588 +- target: 1.8 + error: -2.50629872878 + derror: -0.945665175011 + cmd_vel: -0.41682594588 +- target: 1.8 + error: -2.40249352083 + derror: -0.208661056412 + cmd_vel: -0.41682594588 +- target: 1.8 + error: -2.33103871966 + derror: -0.159955361239 + cmd_vel: -0.526864693823 +- target: 1.8 + error: -2.29848212943 + derror: -0.903381008651 + cmd_vel: -0.526864693823 +- target: 1.8 + error: -2.30305506493 + derror: -0.804284884307 + cmd_vel: -0.526864693823 +- target: 1.8 + error: -2.27440384599 + derror: -0.473580908764 + cmd_vel: -0.526864693823 +- target: 1.8 + error: -2.18361471074 + derror: -0.0720714814923 + cmd_vel: -0.465794064747 +- target: 1.8 + error: -2.20897131566 + derror: -0.622553998884 + cmd_vel: -0.465794064747 +- target: 1.8 + error: -2.14180956303 + derror: -0.415649662893 + cmd_vel: -0.465794064747 +- target: 1.8 + error: -2.08732112181 + derror: -0.312107531988 + cmd_vel: -0.465794064747 +- target: 1.8 + error: -2.00108111536 + derror: -0.195766870688 + cmd_vel: -0.502131822078 +- target: 1.8 + error: -1.99632956537 + derror: -1.27474809147 + cmd_vel: -0.502131822078 +- target: 1.8 + error: -1.93916186704 + derror: -0.79043288398 + cmd_vel: -0.502131822078 +- target: 1.8 + error: -1.87426956371 + derror: -0.363070997718 + cmd_vel: -0.502131822078 +- target: 1.8 + error: -1.76600972388 + derror: -0.227362500279 + cmd_vel: -0.701880026167 +- target: 1.8 + error: -1.70514716384 + derror: -1.40398739264 + cmd_vel: -0.701880026167 +- target: 1.8 + error: -1.67015396709 + derror: -1.05463565494 + cmd_vel: -0.701880026167 +- target: 1.8 + error: -1.61550824025 + derror: -0.615909887008 + cmd_vel: -0.701880026167 +- target: 1.8 + error: -1.58487210952 + derror: -0.357855040044 + cmd_vel: -0.35165961427 +- target: 1.8 + error: -1.51958619332 + derror: -0.888820048103 + cmd_vel: -0.35165961427 +- target: 1.8 + error: -1.48891398955 + derror: -0.504509566595 + cmd_vel: -0.35165961427 +- target: 1.8 + error: -1.44318022236 + derror: -0.364833097363 + cmd_vel: -0.35165961427 +- target: 1.8 + error: -1.33834431602 + derror: -0.22402206127 + cmd_vel: -0.728684771881 +- target: 1.8 + error: -1.31797056102 + derror: -1.45081714105 + cmd_vel: -0.728684771881 +- target: 1.8 + error: -1.31474646373 + derror: -0.784892242547 + cmd_vel: -0.728684771881 +- target: 1.8 + error: -1.27311057543 + derror: -0.431936671868 + cmd_vel: -0.728684771881 +- target: 1.8 + error: -1.25960141889 + derror: -0.186909482073 + cmd_vel: -0.11163385426 +- target: 1.8 + error: -1.17035712107 + derror: -0.170464709084 + cmd_vel: -0.11163385426 +- target: 1.8 + error: -1.12477530323 + derror: -0.390564508538 + cmd_vel: -0.11163385426 +- target: 1.8 + error: -1.07189248642 + derror: -0.414609369852 + cmd_vel: -0.11163385426 +- target: 1.8 + error: -0.984324804816 + derror: -0.332169461171 + cmd_vel: -0.787681336455 +- target: 1.8 + error: -0.85965826816 + derror: -1.43128483066 + cmd_vel: -0.787681336455 +- target: 1.8 + error: -0.839533668896 + derror: -0.889093337195 + cmd_vel: -0.787681336455 +- target: 1.8 + error: -0.787166695287 + derror: -0.705735329495 + cmd_vel: -0.787681336455 +- target: 1.8 + error: -0.744404490163 + derror: -0.445480235285 + cmd_vel: -0.518893211748 +- target: 1.8 + error: -0.730226962589 + derror: -1.14490728266 + cmd_vel: -0.518893211748 +- target: 1.8 + error: -0.692794428295 + derror: -0.346778856874 + cmd_vel: -0.518893211748 +- target: 1.8 + error: -0.649607079166 + derror: -0.257058988754 + cmd_vel: -0.518893211748 +- target: 1.8 + error: -0.561923775338 + derror: -0.14022325776 + cmd_vel: -0.58251217768 +- target: 1.8 + error: -0.53477242284 + derror: 0.0 + cmd_vel: -0.72273543544 +- target: 1.8 + error: -0.486001316904 + derror: 0.0 + cmd_vel: -0.72273543544 +- target: 1.8 + error: -0.442543009703 + derror: 0.0 + cmd_vel: -0.72273543544 +- target: 1.8 + error: -0.397539099517 + derror: 0.0 + cmd_vel: -0.676316260376 +- target: 1.8 + error: -0.39938894521 + derror: 0.0 + cmd_vel: -0.676316260376 +- target: 1.8 + error: -0.339072387312 + derror: 0.0 + cmd_vel: -0.676316260376 +- target: 1.8 + error: -0.241961752455 + derror: 0.0 + cmd_vel: -0.676316260376 +- target: 1.8 + error: -0.164903493334 + derror: 0.0 + cmd_vel: -0.959859201828 +- target: 1.8 + error: -0.193748638464 + derror: 0.0 + cmd_vel: -0.959859201828 +- target: 1.8 + error: -0.121279554402 + derror: 0.0 + cmd_vel: -0.959859201828 +- target: 1.8 + error: -0.0694283051492 + derror: 0.0 + cmd_vel: -0.959859201828 +- target: 1.8 + error: -0.0654363291844 + derror: 0.0 + cmd_vel: -0.415662589036 +- target: 1.8 + error: 0.0326463927564 + derror: 0.0 + cmd_vel: -0.415662589036 +- target: 1.8 + error: 0.0762375275745 + derror: 0.0 + cmd_vel: -0.415662589036 +- target: 1.8 + error: 0.158219089264 + derror: 0.0 + cmd_vel: -0.415662589036 +- target: 1.8 + error: 0.209855859102 + derror: 0.0 + cmd_vel: -1.12755878157 +- target: 1.8 + error: 0.2550814977 + derror: 0.0 + cmd_vel: -1.12755878157 +- target: 1.8 + error: 0.235262742815 + derror: 0.0 + cmd_vel: -1.12755878157 +- target: 1.8 + error: 0.305906303709 + derror: 0.0 + cmd_vel: -1.12755878157 +- target: 1.8 + error: 0.340438811971 + derror: 0.0 + cmd_vel: -0.528199414764 +- target: 1.8 + error: 0.271649580974 + derror: 0.0 + cmd_vel: -0.528199414764 +- target: 1.8 + error: 0.391284613434 + derror: 0.0 + cmd_vel: -0.528199414764 +- target: 1.8 + error: 0.449847136214 + derror: 0.0 + cmd_vel: -0.528199414764 +- target: 1.8 + error: 0.391772546999 + derror: 0.0 + cmd_vel: -0.229050739275 +- target: 1.8 + error: 0.527154259601 + derror: 0.0 + cmd_vel: -0.229050739275 +- target: 1.8 + error: 0.52936628122 + derror: 0.0 + cmd_vel: -0.229050739275 +- target: 1.8 + error: 0.547796532755 + derror: -0.225486969211 + cmd_vel: -0.00356377006478 +- target: 1.8 + error: 0.591221172391 + derror: -0.222213244957 + cmd_vel: -0.00356377006478 +- target: 1.8 + error: 0.639700766336 + derror: -0.960027389285 + cmd_vel: -0.00356377006478 +- target: 1.8 + error: 0.671830723875 + derror: -0.227648108461 + cmd_vel: -0.00356377006478 +- target: 1.8 + error: 0.653088175787 + derror: -0.364722412015 + cmd_vel: -0.423617467377 +- target: 1.8 + error: 0.743442463896 + derror: -0.159775736776 + cmd_vel: -0.423617467377 +- target: 1.8 + error: 0.678969140167 + derror: -0.727539694575 + cmd_vel: -0.423617467377 +- target: 1.8 + error: 0.742182096272 + derror: -0.15749312942 + cmd_vel: -0.423617467377 +- target: 1.8 + error: 0.787792881896 + derror: -0.0897912903814 + cmd_vel: -0.543596879082 +- target: 1.8 + error: 0.794380890095 + derror: -0.141165015819 + cmd_vel: -0.543596879082 +- target: 1.8 + error: 0.822271250124 + derror: -0.56461177722 + cmd_vel: -0.543596879082 +- target: 1.8 + error: 0.774768484492 + derror: -0.559086669562 + cmd_vel: -0.543596879082 +- target: 1.8 + error: 0.793977841888 + derror: -0.0501471164536 + cmd_vel: -0.17642327504 +- target: 1.8 + error: 1.16577009357 + derror: 0.22586799685 + cmd_vel: -0.17642327504 +- target: 1.8 + error: 0.836123646006 + derror: -1.95789297975 + cmd_vel: -0.17642327504 +- target: 1.8 + error: 0.76099556406 + derror: -1.03110627068 + cmd_vel: -0.17642327504 +- target: 1.8 + error: 0.834023808202 + derror: -0.0363802130467 + cmd_vel: -0.9999 +- target: 1.8 + error: 0.905462770852 + derror: 0.512165851664 + cmd_vel: -0.9999 +- target: 1.8 + error: 0.742388143965 + derror: 1.43273484405 + cmd_vel: -0.9999 +- target: 1.8 + error: 0.778338865192 + derror: -0.464295991062 + cmd_vel: -0.9999 +- target: 1.8 + error: 0.738017134522 + derror: 0.0598144964421 + cmd_vel: 0.90654468636 +- target: 1.8 + error: 0.817091843706 + derror: 0.331460897165 + cmd_vel: 0.90654468636 +- target: 1.8 + error: 0.552706320485 + derror: -0.00132796875662 + cmd_vel: 0.90654468636 +- target: 1.8 + error: 0.719663539784 + derror: 0.285691196807 + cmd_vel: 0.90654468636 +- target: 1.8 + error: 0.7674015875 + derror: 0.453443061164 + cmd_vel: -0.134447744722 +- target: 1.8 + error: 0.877255046177 + derror: 0.130584945839 + cmd_vel: -0.134447744722 +- target: 1.8 + error: 0.92044094128 + derror: -1.08813259716 + cmd_vel: -0.134447744722 +- target: 1.8 + error: 0.783808212806 + derror: -1.53229969111 + cmd_vel: -0.134447744722 +- target: 1.8 + error: 0.818212713736 + derror: -0.218727064057 + cmd_vel: -0.0441396434797 +- target: 1.8 + error: 0.683637608574 + derror: 0.0268546929937 + cmd_vel: -0.0441396434797 +- target: 1.8 + error: 0.745780868517 + derror: 1.6163141355 + cmd_vel: -0.0441396434797 +- target: 1.8 + error: 0.736451077338 + derror: 0.615206991999 + cmd_vel: 0.114186953431 +- target: 1.8 + error: 0.792562947203 + derror: 0.130512059124 + cmd_vel: 0.114186953431 +- target: 1.8 + error: 0.778934283882 + derror: -0.0305136491353 + cmd_vel: 0.114186953431 +- target: 1.8 + error: 0.731760441091 + derror: -0.893909315604 + cmd_vel: 0.517293210561 +- target: 1.8 + error: 0.769129531224 + derror: 0.014728542473 + cmd_vel: 0.517293210561 +- target: 1.8 + error: 0.70757369043 + derror: 0.0137963111975 + cmd_vel: 0.517293210561 +- target: 1.8 + error: 0.791030177845 + derror: 0.631943713231 + cmd_vel: -0.303435558252 +- target: 1.8 + error: 0.666117480565 + derror: -0.0956247857373 + cmd_vel: -0.303435558252 +- target: 1.8 + error: 0.731524249845 + derror: 0.0594413150343 + cmd_vel: -0.303435558252 +- target: 1.8 + error: 0.806373859354 + derror: 0.140685129677 + cmd_vel: -0.303435558252 +- target: 1.8 + error: 0.660372022984 + derror: -0.484173361725 + cmd_vel: 0.0865631976154 +- target: 1.8 + error: 0.608411611841 + derror: -0.0647697012505 + cmd_vel: 0.0865631976154 +- target: 1.8 + error: 0.714733611896 + derror: 0.176867606759 + cmd_vel: 0.0865631976154 +- target: 1.8 + error: 0.620406756042 + derror: 0.953470788999 + cmd_vel: -0.522167639724 +- target: 1.8 + error: 0.646687996062 + derror: 0.317769552919 + cmd_vel: -0.522167639724 +- target: 1.8 + error: 0.437678176358 + derror: 0.0 + cmd_vel: 1.35852045677 +- target: 1.8 + error: 0.574948239495 + derror: 1.22063779837 + cmd_vel: -0.522167639724 +- target: 1.8 + error: 0.587982188908 + derror: 0.875264874253 + cmd_vel: 0.483255582513 +- target: 1.8 + error: 0.52641112312 + derror: 0.0 + cmd_vel: 1.35852045677 +- target: 1.8 + error: 0.50785959073 + derror: 0.0 + cmd_vel: -0.288186185806 +- target: 1.8 + error: 0.438221712043 + derror: 0.0 + cmd_vel: -0.288186185806 +- target: 1.8 + error: 0.455189613689 + derror: 0.0 + cmd_vel: -0.288186185806 +- target: 1.8 + error: 0.506955442425 + derror: 0.0 + cmd_vel: -0.288186185806 +- target: 1.8 + error: 0.404747837463 + derror: 0.0 + cmd_vel: 0.39418162217 +- target: 1.8 + error: 0.491640189832 + derror: 0.0 + cmd_vel: 0.39418162217 +- target: 1.8 + error: 0.376055469829 + derror: 0.0 + cmd_vel: 0.39418162217 +- target: 1.8 + error: 0.426055681383 + derror: 0.0 + cmd_vel: 0.39418162217 +- target: 1.8 + error: 0.489949136081 + derror: 0.0 + cmd_vel: -0.342588777993 +- target: 1.8 + error: 0.331347568776 + derror: 0.0 + cmd_vel: -0.342588777993 +- target: 1.8 + error: 0.387729480726 + derror: 0.0 + cmd_vel: -0.342588777993 +- target: 1.8 + error: 0.392146727735 + derror: 0.0 + cmd_vel: -0.342588777993 +- target: 1.8 + error: 0.349090735701 + derror: 0.0 + cmd_vel: 0.535898538624 +- target: 1.8 + error: 0.376779012256 + derror: 0.0 + cmd_vel: 0.535898538624 +- target: 1.8 + error: 0.336336836128 + derror: 0.0 + cmd_vel: 0.535898538624 +- target: 1.8 + error: 0.344921031331 + derror: 0.0 + cmd_vel: 0.535898538624 +- target: 1.8 + error: 0.174128256486 + derror: 0.0 + cmd_vel: 0.685095379135 +- target: 1.8 + error: 0.250370108796 + derror: 0.0 + cmd_vel: 0.685095379135 +- target: 1.8 + error: 0.184184756117 + derror: 0.0 + cmd_vel: 0.685095379135 +- target: 1.8 + error: 0.109955971681 + derror: 0.0 + cmd_vel: 0.685095379135 +- target: 1.8 + error: 0.213031816985 + derror: 0.0 + cmd_vel: -0.15903942028 +- target: 1.8 + error: 0.138336025634 + derror: 0.0 + cmd_vel: -0.15903942028 +- target: 1.8 + error: 0.0651062735212 + derror: 0.0 + cmd_vel: -0.15903942028 +- target: 1.8 + error: 0.00390092972853 + derror: 0.0 + cmd_vel: -0.15903942028 +- target: 1.8 + error: -0.113856853758 + derror: 0.0 + cmd_vel: 1.31141981256 +- target: 1.8 + error: -0.108387805872 + derror: 0.0 + cmd_vel: 1.31141981256 +- target: 1.8 + error: -0.134375264159 + derror: 0.0 + cmd_vel: 1.31141981256 +- target: 1.8 + error: -0.172710914634 + derror: 0.0 + cmd_vel: 1.31141981256 +- target: 1.8 + error: -0.200052865933 + derror: 0.0 + cmd_vel: 0.323861701147 +- target: 1.8 + error: -0.327118134858 + derror: 0.0 + cmd_vel: 0.323861701147 +- target: 1.8 + error: -0.341794798321 + derror: 0.0 + cmd_vel: 0.323861701147 +- target: 1.8 + error: -0.500747695536 + derror: 0.0 + cmd_vel: 0.323861701147 +- target: 1.8 + error: -0.599923908119 + derror: 0.444148799871 + cmd_vel: 0.991051200129 +- target: 1.8 + error: -0.666914808688 + derror: 2.37611321816 + cmd_vel: 0.991051200129 +- target: 1.8 + error: -0.741865557926 + derror: 1.14101113371 + cmd_vel: 0.991051200129 +- target: 1.8 + error: -0.792168052435 + derror: 0.784444159938 + cmd_vel: 0.991051200129 +- target: 1.8 + error: -0.803715640967 + derror: 0.395155188565 + cmd_vel: 0.436175546176 +- target: 1.8 + error: -0.914464770962 + derror: 0.962062869272 + cmd_vel: 0.436175546176 +- target: 1.8 + error: -0.956547893728 + derror: 0.521729409164 + cmd_vel: 0.436175546176 +- target: 1.8 + error: -1.05084653324 + derror: 0.3708802533 + cmd_vel: 0.436175546176 +- target: 1.8 + error: -1.08741449147 + derror: 0.402856460404 + cmd_vel: 0.713993180814 +- target: 1.8 + error: -1.12160479369 + derror: 1.84162378824 + cmd_vel: 0.713993180814 +- target: 1.8 + error: -1.12366957826 + derror: 0.605630276418 + cmd_vel: 0.713993180814 +- target: 1.8 + error: -1.13949604881 + derror: 0.291130301704 + cmd_vel: 0.00143587738848 +- target: 1.8 + error: -1.2062249964 + derror: 0.192480209153 + cmd_vel: 0.00143587738848 +- target: 1.8 + error: -1.2405433419 + derror: 0.198380537852 + cmd_vel: 0.00143587738848 +- target: 1.8 + error: -1.27937428907 + derror: 0.240496516905 + cmd_vel: 0.493134929917 +- target: 1.8 + error: -1.3431591496 + derror: 0.889161027305 + cmd_vel: 0.493134929917 +- target: 1.8 + error: -1.41907235737 + derror: 0.476920429313 + cmd_vel: 0.493134929917 +- target: 1.8 + error: -1.43971363826 + derror: 0.382655171918 + cmd_vel: 0.455819495892 +- target: 1.8 + error: -1.52150661685 + derror: 1.34267887613 + cmd_vel: 0.455819495892 +- target: 1.8 + error: -1.55104974077 + derror: 0.683583894291 + cmd_vel: 0.455819495892 +- target: 1.8 + error: -1.63185452535 + derror: 0.360978565322 + cmd_vel: 0.455819495892 +- target: 1.8 + error: -1.65534790938 + derror: 0.308754173233 + cmd_vel: 0.589097197448 +- target: 1.8 + error: -1.70735247117 + derror: 1.25513071467 + cmd_vel: 0.589097197448 +- target: 1.8 + error: -1.73537744052 + derror: 0.505613320085 + cmd_vel: 0.589097197448 +- target: 1.8 + error: -1.84230661467 + derror: 0.278179211914 + cmd_vel: 0.589097197448 diff --git a/target_publisher.ps b/target_publisher.ps new file mode 100644 index 0000000..c9394b2 --- /dev/null +++ b/target_publisher.ps @@ -0,0 +1,452 @@ +%!PS-Adobe-3.0 +%%Creator: cairo 1.15.10 (http://cairographics.org) +%%CreationDate: Fri May 24 11:56:18 2019 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%DocumentMedia: A4 595 842 0 () () +%%BoundingBox: 0 21 595 842 +%%EndComments +%%BeginProlog +/languagelevel where +{ pop languagelevel } { 1 } ifelse +3 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto + (This print job requires a PostScript Language Level 3 printer.) show + showpage quit } if +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +/cairo_set_page_size { + % Change paper size, but only if different from previous paper size otherwise + % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size + % so we use the same when checking if the size changes. + /setpagedevice where { + pop currentpagedevice + /PageSize known { + 2 copy + currentpagedevice /PageSize get aload pop + exch 4 1 roll + sub abs 5 gt + 3 1 roll + sub abs 5 gt + or + } { + true + } ifelse + { + 2 array astore + 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end + setpagedevice + } { + pop pop + } ifelse + } { + pop + } ifelse +} def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageOrientation: Landscape +%%PageMedia: A4 +%%PageBoundingBox: 0 21 595 842 +596 842 cairo_set_page_size +%%EndPageSetup +q 0 21 595 821 rectclip +1 0 0 -1 0 842 cm q +1 g +0 -22.109 594.961 841.68 re f +Q q +0 0 595 820 re W n +1 g +0.24 w +1 J +1 j +[] 0.0 d +10 M q 0 -1 1 0 0 0 cm +22.109 0 -841.68 594.961 re S Q +q +57 103 457 591 re W n +[ 0 -590.64 -456.96 0 514.32 694.049764 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceRGB setcolorspace +<< + /ImageType 1 + /Width 513 + /Height 397 + /Interpolate false + /BitsPerComponent 8 + /Decode [ 0 1 0 1 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 513 0 0 -397 0 397 ] +>> +cairo_image + Gb"/l%9sZKhY4QZj5D?:1ic`?=[H;7Q-A!Ka>J%`bt&O+/Mh>,0e,mL[9R"t&^rU1Hqd>!9 + GBiZ&-N)e'G\O((J%2_/2U]?$XZdD9V0"jRN:R[CRFG!k'_^9chZd0LGNSgr6ID'h`::KVS + 4)Ozzzzzzzzzzzzzzzzzzzzz!3N6'XtBjm4Ohp3fssVOIJU`s:o!R_^c\]*^Y[7!6LE5,G( + V[If[s:H#;uS'+ZD?Hg1pZerU&8_ZoNPB2[XI]GktM1JcO.OK*Ddro?KG$>e-Tc+cP2$1cT + nk2iQPM!>)JMeLG=:e#-"![V]5_Bk^")`VK,gPs'e_H\;U$&+#%@#1"ngC/lH,N)L?"aiMO + /#RG+nW"D*3bFFpQ>eGjd0=T.&*6-Z\4b + $22h'kG81i5Q#JY(+g.4'?L\!(DkOk\>H,m_>K9D!VP`M5-Q!gOoWZ*PIf#EA]r/:YJ'X5E + cU^uT6rsM@:_*H(gI-l5(-ft6lZ&m2/<6q"22C]gU:triJ/Lqreb<\[#pK5_55qmAIHJ!l- + cF-2n)8+V.?s:O,m)??G4)Op000>il-g)6)-o/RPek=HM$EnIeno?ZQ2:*hue/L%NRUkk2s + \%`3a@6P(&.?L48gG=8\:fL(ljgfJ&a42eg\c,U=Wm2-&X0ftQ_8ku9bp)jem2*BST@lq&p + r8a"Bi"dqn$K$M&6[r+AgTagiI30l@!#TiSY4KkQV,Z4G#VA-tYGE.&a@PW?+E-Arp9m#e[ + eE$TYOcSOrWT*.!N>jfsBkWuF_SX1FaGp'q=(XXRC]sjf&jN81sVe3ndkY_CjX + L"4k0/m]C3J^dSfpeo]X\b,=b@r.GM=%Nuh7_/opj_mF7iN5G'rWL(6^BU,:qR)a$MS5lkU + E)MTss;'c0D&uH4bErJl.llQu,m+J_03B9Z4-,??u'L7AJ^G9_Nl-^kubESKdHlN[qrql._ + 9OqZZQT8n]%)oi@)k[#r^YdA`Dq1jfe<%+UgSX>V&8)Uu.#`6MO>%p&NSC^6T0Dm'4$1'gU + &Ln5kl\QVf\jAcmnPUm_#(ou".YPuDaksm)VA<-G`hrih:&0+>lS$_k'!Q=?8oq&U;s)pd2 + 7_p-43TPa1BPjVluWh)DY)ibB!3iSJ;EFqm<$oa8XhMDGW + Nl`8NW3c6cgR$\ZHORpAEJa*`0BV9hjeQ3-o1U0_7o4F$Ee*c3&r0jV$M()DK,df\rtO+Xd + mPf7-#f0V)s8W"%:@dcB_"#h_Ltjc:d-4#]??g9g[n+9&KVbo4P + SL+"5H&n[Ao!/^]o8%m@VG/L-a5n%r0Or??gC?iksKkKr(IZNAtBMRs*"LrY!8.`luaj&'F + h5.pq6/5.@oKnYXd3X5KlsEq"b5Wu]6ZJ^hd%Nf98q?Oo3ch`PF`lBjfj;>W:@@5m[V]6+V + su88gV/)_%njkrCXt%/0Or*2`@ltePQ9qP^u8rrQCGgQcMA>!ohHU]%>iiUkAS3U,ej_k41 + =KFeZ`K"\9M`&8+#!qk%ubddd4E8LD%DjeHQ0\Z/.lSB$?Vs&n`]JO[&mDF39/@e)A3"l/t + i,rC"qgH?Y!s?q0A9]/Tbe*d'q4VNCf!lq\L*]QhioFte9eB$m>Aof#C"bRmE>JFki/G+g_ + G\8`a74)>>O4i$)U4reQ^E>7m)kN@!RD,'bFj'X*qB:aBa^rjZN=87N3::LB##3M':E%pnm* + Ar_5C2rMGn2qa`K40CaN/$k!i4.>YRAD\*BKG1QT_r"'c"\n`-*RO%X&YUSH?DVlq))Brq* + *QYpV#d]bhql!pV'NJ:neCD@$UU<4T@\2p^cH + Wajb1^[ahu4L4e;BSNV>.Z55mXIPjfZ]#j2D.\/c-)f@M-?[hg)k,5T<^]47Ne]MH=BE60B + "jkW$Dr89>C<(lL?qm!M%a&)dd9Qfap+M\++4q$()a)C#C$+0_H1TWoHVMb*\W=3:H5F^]2 + K%:e)B-c3'k09C)CY(0n0ejmtUU[i/jN3 + T,k%UP2TuQ=!]>4[a$Pk9A"Mf[Qn\c)I2kQh*NK'JnJ,Z$&HT\q^DQY$(3.95,r;:rU$fs. + oe^[8P1uKj"jV@it6%"'mLY'Gk,IFAq%!+&%Z>%c7We,p4(N'DlKP]MXR9D7$@i>PM94#&C + R>9D3c.+&Ke(8phmj>-e$6]HH;.uOOT)_Et>&mkQ*;cH_blun7,(q#2--Y*/eu_#Znt[Y@# + 2BCl*`rNqP%W"+Z#/7(o($gA.ILIR6BBJ+B'gm;QB[]$H;\OoD:%3l2./$3NAo^%O%5?tEU + SbrHA%S%\q:1tX8sT^N'IGd#7V_V"%[q[;-X0;X"REf + mR=';GL<6:E3I)^gY248#`O:?&n(*5TQ]3i>QX-Qa^1YH5A]0A;AH\h!S4]fHlE,3TU,d`] + ,.F%G>s`UY8>Eb/53Kbpj2pE2laY,$*^#/?*th0!r>N>om20II7GRiTTWQp^<`D0ba)e!-, + =iXG1D>_#jf'rrWR(]F%Q7ccaJRP-a + ]l,f"I?![@[O0LBa)s(Eh^2-3EDV1"F]ig'0Wq^6`7AN)9jg[lp32XWuig0\Uhk\`aVWZ^h + =D^?\Ua]Wm\<=(@Y[9^0`0EQuo!0d*XD>K9Y&lA>G^>e74;?D0B[-b>ObbVV!VOMh6:-9oQ'YI5!)m+V<>tua?pG#PFYD+is(EMU( + XDL)d-l[QH_4RChLZ\Hi$>,3^M*Ro&_ip!?$EhIG@Pqs"Y$]tW=%]g<=K6g]jCm!ba + 306]8jR\RFY*l[jh=R8bCmSf+ZB4Z08AV'NhpeqOr^Trp\8a+ghBulKnZBB + mfrj40SZ^A&9f0!SV'Nj8f(RmR^^(cI!d*c4c_:4'mhlA')*> + d/.bU^:dD(7ZT\-BZthP]0,YW+AHJG]@h&t#k$=-j=KQFl-J5C[g*)mZZ>/L#tm$%A[cOfI + /.?B)YKq7'dt7,b$+]7l%1'GHMdR81hkCJHh[Q^b$*k7j&F?Z^^(cF!gN'US1!jsna=rnTd + *(5h=KT1]X2U^ScnCQq]M_P5CoAtMB:!CHJ;/-K.;TS:#2-Z8=A:FnB%1gmd,,a8o3&Cm_Z + hcg-0d;J)%OW%9i>V[6Y0EMH + @!+gKXk6bs=G/_J8e@BW^pKWJjB)sr_`>pakDrHOo-IEEp[:hI0;+t0X7LCqP^3/&rr?sF4 + cNZ[XjA)7H&j;@=];M6H/2?\Pr:Bm`l\r8h"8O\Gh%r=dIXreZ0#1VW'Z&],Y""Cg'@^r"< + 'O"+Z=SqSF2g-U:LWPcf4LHgu^9+FMqn:hrI:fH1Mc.VlC?Sb>MF&[-PaMTkRG4o#UrW'G_H^<:h? + ghR78IrOdUF/7@GR8YMgu3K"=g*l0cXgR()`C;>A7T0$+BJMmZ$Pb-l+J@KhB&(%8bWiE;3 + G'A'#!<.@67gW#Cg>0>'0PSskA&iTn#'Y7YI+sNZMOY\1!Tq?D&tj%oi4;$.g,In/c-6;8, + _5>TaFQ=7!'e4[oCJb0 + ?=uZ`nh&%&ki5V@EBISTb8+LAEj@A)G"C>Rk:6`sc1[\sr;6'bqg3nKbLsp\,J + OWro]o3kn$=G!+i9,/T^RJ_.3R)n2P\K?i&RR[M>nY3BKP/b_nb45]NF6h,WOn$]pGM^*fW + Bj%KMfW)!M?Y$5mqjX(J5!o0S=]tU8Q"F,V-/F6P_I$)CO%aeDZ)8sS9Rrj_ngUM^u/:]'M + ?+Y8pYi8oIV^B6sNU)J:c,+Rg!(F$7"Ysdc9JkX]U?Bh2Q*X(sE(?JB\d0 + cVhdE>rJ#.>%m*K:I5A[XgG!9AFSJT(a8mB*#,er^]PLZYmLmm#EkW$JG;pW=GA!$17u$0Q + L^bOsO$t;Rqpf`4Z.J$d4qA:]gVIJ-O,iD8T2V!)K[J#lF^[kd_(;lW>SkGD$*d'Ve3LU:n + @1"HX:oiT9ai`^k!k!k>IOgIfLsJtM?$*OR19j8K(2lZ+XS+%Jh;EHd=BhjVXS`N1[a)YE# + FUsu_O^E]\;_Q6c8lZ0U\-'GC_7:uN45njtF'&9J8T?3H%b>:(8a%ta`:-,^8GKlaHA7Q4" + r)6BS`o9Rq\bOja?g6=S4&^q*nr90+doQU8[5Jo`Zd09*J:ahpcH]^'>K9?u\K`B8U_lK$P + jJY",bResp'V[3U>A2-H0EUo_7]j20r47A;#;W"?kUi!q,?ib&TB1$&0$mG_9piuC;oME + 1-PZfY_KP + /!G980&n$]*TV_Zc>6=(BQP;XZr/DWJ+h[UpWl7pRKtTsCFR;iW6RQ`P-Tk?7epT`nh3+XDOm+-moQk?)bJD#:#2LS)*$+ + PHUIf8O/O7nV4BE!O9;]:Eg@L?'B-.*B%js6Dl?G%XcTS/Sj-: + d$*^#/?*th0!r>N>om20II7GRi5gWC1X;W2^k!ED]5]EpqW&4rb(e=0QH\TEGinUI6O(JEY + ZaQnm"@bZ>=b,U[JMqo]pAtbD/IqLV4L$%`!k9%SK]&I%JHY1C"cr^[C^>t",esZd&tjT%" + DD^@?j%SQ7L5(Uh#eofHQ*#2!!t>GJ->'W+9C3N&/YF=J.[B!,f%^Oki08Um;3,f!8\);6G + RpK"poN-5YE$t,CoLiN"^<"!'5fEdraU2Yf0dcu)EkUoIh\+I5/kL[=]nm!8P + '5CA=[)2)kQH36J(&df]q,teMm]&4'@+#:f1(5>m9XfJ-OS2rQ_.u`aNDVFoV-]RX+?OS%0 + O"fFSl#]d/,h>!?TeicWLlYQ=I/5P.u9F4HB@IoMS]daD%90I%fp9![/q,dln2T;g<,?.Y+ + ,XDn/18TaB2!OBVbP:*3-^iKfYakB=IN$*sf<_@]-=Trl4F`_me"@g04&th]I8:5Q+Z?KBq + =!Y3>Y>ifIifa==8HL<@P*-I#PE[KGGU/&.pZlrXhsSUG*_L;aQ4j%!l::0)b+HtJcCHLOG + ,VF@P-+l4,sW2\^Uk]#n\\n*?e^(jYgdg;MIeCBR5P1;^^(RGE%b=[SFZF_ru!5jNpoT(!] + dL9KXe+,K2_5`FN;mT'l)Riifa==8HK;qjejD(`JEsU\A#hN,:eCd'Vm+cTZ;:"P2_LZr+iEd=1BkBmVl8CV8+3/Q,@Uc^n/V + !$8!^!$207lUj-;1X5jSjC"lpHImW^SUNZQ6ljm,euQ*@Rte5TG36`V[dUMZ.oEr3E^_jD) + +F2]R`:>%iJZgI+p8D7H$YhnOT]h8ThLc$H.>eT&CH%+m%MY^,[0a&u]X%U9._TicZ:kdJ+ + ]M'9pV2)B\7pNZHT@3TR:bEp5"QARlU^1r + eoYRf=+;n@WMk6.[Sd&2<3W]"RXB?W!4m^?NTM2c38;E'JMMtP5q$QAGA<:G38no-V8h@"% + Dme\HJ#4F5'bkT;@AEG6(MrN76^U+cl]`gjp\r'a>KjlUemc\@#OeN8hmB7*j;^0IgLP#p? + _'s7t3hPr'<(\.$AknBQ!;!!""DQitcLT:3IOb.mTR5;ni.!MYj^2?mmb&jQMK*%WE;jbm% + @;ZKGl#nZV)qTX9r%-&B?eGt4YGR5Jn5RphX!#c;Y[>s25!a$:1J0P5+,IMnaPZ:"cCi#eB + q/kGIp&;Yt/d3pie:n^&!.B44a03_0G^+n%"jd[SC<]@M'p[/HJ3>H`!JNHO]TKbZbBpKq- + bW.Rb^iY)THh0WNT.YN-]%c2%?LPj4,:fCO'/X1Z)Xk*3CTMsCK=,&bS5[aD=mT\c+<4H$= + FA#Hga*.fD!k07kF$#b_k=+2*RtQG[>/$j6):u)1IWfmm_$2Aj``']k6,aFafD9>masLP[3 + 0Nq]<"SfnsqPrQ(GlELIoq#[gYU7h3g>-m%r6`WnBbg=f1a8A;^&hLtsl5hYhD[I4\VK?'m + 3Guh8h)$I%`mRZ0QbLqH/B*rfrH-gS!Y-"8p;;-?rhKkLiQigpOpXZiEI(F;rarQQ*]sh17 + _\i]\atCj2lSmuk3'tdn7#eacp=BP`9(i1QhPC575hYhD2=;(2`k@r?pQr6IQD)*om*7!b) + gPss]&':1T4G-%]o)l@]$sbfaD)`hr>e.2ABl2TP3F'kf`Rt'"VLed:YG&l%`GNs]+i&"m# + %5tD+!bikR8^:=;r1FAb\D@pfILrof'W:PCD\)2P2$W!e@]SCsWmq]"nC93P8a*@BZq^QU4 + Ij!PlRB.G0p?nQ@FcquGl2g.$6n,l;hV4b3_9X$XK]mt"mc5Q2*ca3hgFC+"=o68p"f^oH$ + t;/"lJe4sh,[1ErN/4iQ9Ff'Yuof`K\eDSC'#I@T(f^j\<,QLr0]jp(NkZnO')N+AeZKIFh + O8rZO.LZ"54YR:_r;cYt'h%:n]aLPlO8rZCY$JT,e*^q=g?W#U?o#Hb\WZ(VHC$s6+9B8eH + nf3sc=*u(QNEP8lZLf;"V3_`?)2[1DSaN>9@`r/,s^jMRZ[!l\$p82)O<*;Q%aRk>"@(AGaDj)MBa=Uq5A4S!.J&KgVa+nh#HM"./j\`FCJ$(br*>kd + G5u!6G\$t3_d#IY[cVKo^+WqnXg3hAH9qQasW?"'DkZoSK^6l4uZU%O^/H`c&%iI.`LECtY + 0YL-LmNhu+@>d`Af'6`g!q26o??jTS + u3'e"F#!Wet:4jMc:jOl89AcF1#9#jVpu-uo5s]>]YJ0jj9?%ufo&Rp;RPgi@-^dN"quRg0 + R)1Sq.p&m4*^/6O-F?''\NCnYN^'#6QVgn;HKW>l/20S3DJi!9#UK`b$m`H)nY/,9o68b4j + m4KG".A/8?[cuq$X/k7))PsKC)nI"ks^\pZPjXf0^Ur?hE388`D[MX`6N[^i1Sj`NV`GK>r + 7u5JHQ:Tb:2-_'st(PWOmE.f`rkFNJN%2mF>9F,nIfiUhq#-e_aR!"#K`s0HLmXo\u) + Rl66?K^pJq9DM,C?XQ66V@_!kd\KI!QoemUalOstG5S@VYYlbC]:8ro+ob\A:d>sFWE]L;4 + 7_ueegBMF/"gP$Si!*OPq2Wn`[,WE[O5D;+1#2`.EKP4NJgu-p>u#SenglL#f/g;D4)$pGb + B@;$#ip?dH7I%D=,GhX0P/q&1+:j:&iHshiJCj5A>pH6fRrH7umdQ,(Is4'u]LV@ + 3Sqc%UWGtXmiWVQWh>%hJH,i<\6YE8-c&h;67FDAH':5W\fni=OZV$ADmrAcZLWiN22Kf\0 + _&`@I4):%#p(d)G:I!7jKtJL%nS!,ei"VqZ8OPSO?sQ(NaD4k[$K;6b33.$r$e)if*^T\/D + :'CJfTC"V/d+a&$./i8[O#SJ'Q(!Fg"*SkHaLTA/:cs5V[pBs9`J#@ZUfPY;ep[UmC2nt!< + 2D,]SEh<4tb+KIb]?*s1o9[R=FeL-gfZtYJ5>dN4Xc&/2<+sl0QJa#YO)-]sA@d,`oer.oB + 6$AgiHLFnO$Pj[j%*.52j4g(,5eQl9;c[V^),F'Uh*B5LP\PoLr+7AF4Y([,0<7WmtS%)9h + 9IWO<7:XT]5X)Vbf(/6@6,6UMFd.j5_4'6*YE,:q=QJd4]7eU.8> + 8Rf/Hh.VH?'tq?+BQ.E/B,3`=\9O26#+mqq7V1Ob[ZmMmK+a_:GFgO!7UTUHG7hVnaf-Q=g + "A4PUi#t;6%:HDlkS<9'Od#bG%F`W61%&ECtKNZ"!Ca,M&$I?QBq`c)`: + ?'52#PsTP8dX#M_A]pB2p]kF8k#,)&fq39p#moRfs3>e0bho["b28PDfs,#l#omaP2#\IXH + 8L,)WBj*Dff+A/;?'3#06.EjEE;+o(8cMZ6J3#0e2@$Qr#L,P]aP4/BG.$EEm2m53Lu_H-a + j0uAZmaBi0(FB,?24FkArDjBR@Zckqo2[2!jc1=I)IV8c`rl3'0FVKchXG-$k6HW3*ellt2 + ITcqp$?Ma.14'7Uqd$/_l-hA%n8,!g6i1B/d_i/$BX!ZL-5@ZK0Ud[:628(`njEGHL5.Vlr + MV+Y%$Ce=5!UN1Sm\/SiqE_5ELYFMkP?gIRWd!!RdLZfLl-MmBrTU)jkVk"ON=t + Fk:Xq5"c>\mt)r`K!JmII;8Hn`=# + d>PG%@ZkT\OuQ@qCD8eY+9$_eL8`m6l^@%H/N!5L$`7:kQ[cgEogG_Qdefn#::GX)rU!/q4A9DF!E=?[Z\jl#KYL=7$3_Hp_lQOOdko#7StJd;9[EN7un!9aG@ + :?*lFj9]%:N5CL=^ec#,?'3n3=UT=(?ud(b/^=8*;=$ct=`me;,>Wh),D,7g%LHg?Tphj+*VqkZ5h'3Aj!2(Xf + fP'chDu=uFr!=nY3Id1le#gFX/(!]PU[4^fjs*_jl+]-%Ob#lr+gmE3tM_d`/u0ObbVV!VX5#^p%!+8F[9>IEU09Q8 + ^hqkU;B45-oWPI*$UNH7\O8qpojn.6n&JK6>4^D?>=RWNq?rgf1^mD+Y9=adg=l]Ndk5o@I + mX$d)L$/HdbKJ)*Gk[@e!mJN\gu8aWa*3Sj)c-G5i!FELi0W.\li6U1kk4s7Q:qYm^&N9Eg + D`"foZ35W`k47Db9IN)mL*h>HID=$+g9emnaZ%tl_,OnZ9=EPBdXDtYRKmDDl/$ZM2\Q_QN + [B<,=_gLh6]5>D*LPjs&AVuk/M>O$#Pb8d(cRW1AJsH3^7aB-de>XY,U(h)uEOrcL!`Y!;C + Yl"IP,4d_iU9TA@q*e>;2jHC"d8.j.=`[RV+p(S87BN\\*j+ + ++%<'nfl0UDfAG6Rr'Y7kgn[MOdWo)p]T0"B-)`]oO6:-8Q=^YX< + Pq/bRIuTM]((fD"#9p]-.neh20m2dQc("`ndLR?:Ic8-R0)`EN:A4FsX&5YH+9;]*:u'ds4 + !15In^p&+8g-\+1@?6'j8&^Z-(rLiK#pe`>Q,s6Em1#V:cuk9/_>T;hVZhkT/-ePXkis!&a)]jV7E*;(5'J=S1t8E(r5k/uJpb(b"/u8Zl"JoLpKY-ks'4?\fc==DdKKrH + 5QWe&BOX_khrA';=c*C?!)OY<'&XMikh'1&J1n2r,s_*)&e`!@GJ%n5D3U<^$m,+;SkMbP:J1O.:P%O8u]!FM)X@`5LGkcXO^L!)u:N">gm^"ged9,PfGAlfJR^%D + MKbOMi\8oN:1-Bp?oO03m/g`[lWJgU=5+9IBO+Z[g3@bmc-7,X?^:/5&dNj&%B&"+[DmOau + d'SoVI[nFH3kjTIq>rna + j@I)3;6N&F&O^'CaJZZjT\7.O4&bssntsEm6oXU'&/WL3;EB#>7rs63!<;fMS'(KpF68EoO + 7#D+&#cJ\j\,_R;Vl-Frn\tr)M`tK2g?L%WBaj!.lq.;:4K-h+T_H1rVFcAXX!P[/B9hZ!, + -m&#rnLU;>OWD75+5H[:W09YHC('4uE'76U7]nW.?cA&>[GDldLm_"]um4!gMfhl*E5Aa(% + =6BSjsBK/WutRC5e(F\l_E@*O%fK)8[@$NcCi"Z`$=6\GDkZP.<>*rmmT\OOrnU_Oj&oPo# + 5TZka22uTSf,&7V8oNU#EJ"R('&0+r09U,T,X-m\"W@o$I(-H/9p1S((Y[n + G@(dc0IAX70416p?0@H09&f6>]$GF^bo%K!JhP2?5K6[p$S>M/sC!o0[@ioRJt(X_1@qt6HO/d + hZ&a!D%"iFpYs9u27`6O"7;r^P1'b;\e%nP[0BZE/Y:Q.r1\a:!EbrbC!Ls,[3k@CLZ/%ZA + ;(T)]]/2^I>Xc"D])kC9j_lp((`*1YG:N,kRVT"cOsilR]Y90W@X$1O&1l3j3nR^+Ae+BEg + h^c8hO!=4beQT29%4juWCJ';pqo*Kr@J-8+=<2I1u0RMpq[s\92+HQRoJ4d'#^,bSPrdOfX + %/p8]-;4IN0:5BB%Den1p&)@^!,!9Gbh3[m&52s%?uVJ9+LiF7!+1@?6B91!*:UVS=7thU3O`u=&,C<].oWi + p7S$(#\+f:$]3-?`CIg]b@?`jZNXK1GU7Ag%tjAEt_9I?su1>b)?tKJ(jM7h$+05(m"_Z8AN@6U:^_c@lXkbaI`X[R5=ir[68e\9?ETCO^lB + nIJNHsm,sHR]f0bp7iOlc+-OfYOhSOnAS!=7)ikps6mB,0n@u50N9T6V]cS#SThh:N\/17' + -(r'uaiqoo&jS=dV8k!3dL-$tJU@c3WrQGg/JCO7[C*WW1c2At-4X:LaciK5<<(s9!t,LsV + /rEf\V5dJ-X,0 + ,'\.R%1Q4Jlc;^XAKS+uc>DTYVgT=9>uI*kmW[`-YejJ-M-b48?i<\&t$;o'dko7b6)UWiX + tq("J@6:71P+l-fgCZ%%7>tC),!EE- + RjDrqEhis@L=/T'q"R:FlmB''/\5lM[>;l;fTaXAn#7Qf/fh.n@`hShrjt\6rH#q,V.pkJ!(;r&!S=LAaj4>F]_V$+D/P':hRt!X?+;NIeQqUN + gcg--Od6!fPXZ&'9#16i'mn!@Ab\F&DuBO%WbQ*\)#sY)OXU=dWc"O]]ZFNrLJ(+K85"JC8 + tuQd,bV09XJl/p9`OUcB!/5;^7[qI!s!j"1*s^jP/$C@"E6CgJ$POHSB5+DT1#V>*K!72t56/J + )./QhSI/L@UYRh*Id+rX+,m!0>!"_XL$"0h+n3>;NRRVM9Xh=k- + at5725D_l/#A5FB;',dgTht"(0\t?"dp3$X?+J+[l>pcI548+G!"=ZhalOL*/1q8t + oA^\#(+T(UEt#4FR%rkHmBuoO&:P(/GnA;g\Ooh#O(.#64`7OcTP]L\(I/5Gkl42tri?ke + _>2/1!,uEYQbR?@6a#@:;8_'AA@]+$@%V+MaVTU-K[Q9a=2h!!'N^+qihtm6-R3$5F9t04, + dLZfb\N%-d/H+b^t#*_].NBAL/.BgW^:%g`49=9&X6kgS],R2:Hc8q>.9j1B\/!u/8kej'9:!5MS[,iJIf]WeUO_;OL(CG=TTiK!+:!B>pIG?X3!X/! + !$V$c6m+,%*khbR!\UbMU-M)#oO^ + nr(DV?h.\OC$LBISWCl>Y'E9fOZpipkBgfckm)d!!'G2&c`4ZD[23'n4%nu4o:MA9n!!=mn-6Bb@3FVp>R_a7m#.+fujFI=&.B']gDi$!-UUo!rDWX*YT + 43R_akNhG4=j,n08n-Mne'&jN18mTcIKfEF<3`]^EKS&c_p9$*HmNisK^PDpN8.,X?Z/(+Ldt + ?G8P!B@"?@X?h()%LE+8fDu9bkgS],`sY1n/%g^2!4i%MJ(uMp0+&@>4EpXD!H%2\TA$ZOY + O:g!&c_p9!tl5cr-2OM=:"qMYilF4U(S"Vq\$O?,A/Y:2#\!kn8HaNEVoJ(Z5X%g&!-bkJD + %c>@?:HhJ8Ki?5QUoc[KR9D#ljtX(.\EN!!$D2A4h@m(4:W8!!)A?mLipIS07n5!,DQ@J-5 + iPCl6.5CZg\ptr73Hl[`a5qFGJ*ps.&!\_f + *:sLdSa!6J-b&J^g6-a3r6O*nt!14ek[tERcF#7aXS2l>mUA#P&g3X4i/#Z(TYZoW'OQS)&c_nc4)S:/ihp + MEe9CZTO2r]4TBH4Gd78+P4A>iiS,W*Rp#22@EX_jLj[=/'*0IiE1i(ZEre2K8Q0A!'X0E' + R,QIgPG,0$]dhoejPK"4FH1gHjjAF%@o4?q>_%!af)jXj@Y_0C!r]7rb,NUR,-^pO_M!T:= + jZ.&'#l9lVMQT@fcWQ6=kTBm+!4-1l[tE`$VhKhYkZ@gU!!'h$Qr*ouCeoW^-"9CF!!'N[Q + 4gu<2a?N/-BJ3-J=SFT/ANA/&c_nc41ZsS+[7p5PQk9s%MAaA0KTm[+SnMt8,sn8!+6Ze!K + [9]J8K9Q!J4n6khk("?YS6DfAHV2['[AK)ZBeUNbc%.GHsE%BPtkNjbAM5Utt9Bg(np[dFI + 1qK:Je*7*@"t.9]J;!!'eiaI`X[R5=ir[68e\9:[Zm-G!6Ikk]+i\V5h=NP19Es7YmZYb2E + !Y:;U&C#"Z\dg6]5ro1E6jG_AIr,ca>(b= + g.o#Fc5)ji/12\C!+6]"\/4(>km#PCg9-@9cR,*MWY3Zd3?)4:cLIQh!!%Q&OcTSB12CnU5 + ]j+ddIl0\F&Vd!&:Y9P3TUs7KEM8TXGql9n<[:A,6=NS[>D'4-CW\oA%?#V+maA+9cO:c'j + \/k0o.G+-`:*,A6;UM*4ZPMqaT'SXrP#ljsm)C>IjD?i]4!5Q8F3X]%,=':oLi)2PI+:]"a!&-:?(P$i5!!( + aT$%N-Y!,N#g!"o83YUpWSJ76?eA/j=(UlYQV!-![Y'&`$[+'f=93D3u/)U#R%c5`%?^C1_ + T!!!WKA/:ho":Q@nOdEPAD:=54.mHB&!!"oF63<[*bh)Bk^S3>diZ#Ur>M$$K)E#*c>DZPQ + SRP*'ORo%&^q`u.27qN7jia8$"l07e!!!!*,UC1Y2d@=eq^X,s&ta(+gUDN'9JlM287ugI+ + 9;q#VjJ0L?O!nSNe7H7!6gJq=2RG@jQQBl?Vq,kpjaTUZV(qXi-1&%!<<,X&oL6jW395u!^ + sfm/*B"55sb8'64a+saN'8J5r'`Oi^+3q#VH8M^Jc][KjQjt.AdRBFti$.gVEji+H?$\@#9 + s?2CJS=hs`dX4HFOFD?jO`ofL-e?hfoXSRQX:ZjYV8l/C\'&c_n3U8[]\W$2at\e0Z-O'ip + ^4(=9O!!$tm8eRfqB,n;iO8o92g$r;KFT7(K,QIfEgqt7Q#FdG5!WW44a.s?0P4DAkQ7]U. + %U-"F#71A1=9as]5c[q0+$@&aD/6dF*$bLa?l;Wf!W4=*1gV14&c_p9%-fDXfANZHK#Qa1+ + &T8DSAqVI5lq#dQ9i2qiYl(Pc#L!Jq+'Ml!]44%#SI+;YRKeK'A)0BDN64NaZgsp!!!!]8% + iKn"Bdafl6]j>*4+`sC:lSI,QIgP):Vk;NrN%"$U^r.dJsNIT5lq#dQGFIPTM'ePQ9sOK/rhq@tR(NQ/<\b!!$5sbq-Y1$.*JL2b3oK^fDj@$P6T-Nr;t^ + WgfNOf?/#n!!%PO:f%3=(3=P>(809b5EGjFJ?;XE![JP&K*2/SJ,rMD![JsqPlSKuIY.b'! + ,R?I&jXA0++N&q5?kg%IY.b'!,R?I&eH#Z')Q3ib\ZrUq$dr:!3d2mI5O]bQ/<\b!!$53=: + $[1J-5iPb`4IcE*W<8OlbM#aqbTi!!$ne=TB]I!+9"R!K[9]J8J^-nFc^ijNnHC$=kta!!' + ga0F:!`4$WiI!9U-Ogr1ADmU[P[IXLGQH&;QICX&)HjOk)TKiMn2!<<*-:g@7qQ'IW!P`u/ + QKT&Bt,6LtG<9RVI!!(peV5:"FNm5Yd+G[BDaG.o-7O-BE!Df:LWHU3$!.[.qQ^=&'P`RDj + !GsuV&HDgdJ_V%N@ + `a[2<)f(afoWbcBOj.Z?qj@ThUMl3zz!!!!7iVs! +Q +Q Q +showpage +%%Trailer +%%EOF diff --git a/triangle_control.ps b/triangle_control.ps new file mode 100644 index 0000000..867572d --- /dev/null +++ b/triangle_control.ps @@ -0,0 +1,721 @@ +%!PS-Adobe-3.0 +%%Creator: cairo 1.15.10 (http://cairographics.org) +%%CreationDate: Fri May 24 11:53:34 2019 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%DocumentMedia: A4 595 842 0 () () +%%BoundingBox: 0 21 595 842 +%%EndComments +%%BeginProlog +/languagelevel where +{ pop languagelevel } { 1 } ifelse +3 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto + (This print job requires a PostScript Language Level 3 printer.) show + showpage quit } if +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +/cairo_set_page_size { + % Change paper size, but only if different from previous paper size otherwise + % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size + % so we use the same when checking if the size changes. + /setpagedevice where { + pop currentpagedevice + /PageSize known { + 2 copy + currentpagedevice /PageSize get aload pop + exch 4 1 roll + sub abs 5 gt + 3 1 roll + sub abs 5 gt + or + } { + true + } ifelse + { + 2 array astore + 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end + setpagedevice + } { + pop pop + } ifelse + } { + pop + } ifelse +} def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageOrientation: Landscape +%%PageMedia: A4 +%%PageBoundingBox: 0 21 595 842 +596 842 cairo_set_page_size +%%EndPageSetup +q 0 21 595 821 rectclip +1 0 0 -1 0 842 cm q +1 g +0 -22.109 594.961 841.68 re f +Q q +0 0 595 820 re W n +1 g +0.24 w +1 J +1 j +[] 0.0 d +10 M q 0 -1 1 0 0 0 cm +22.109 0 -841.68 594.961 re S Q +q +108 15 365 767 re W n +[ 0 -767.04 -365.04 0 472.56 782.129764 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceRGB setcolorspace +<< + /ImageType 1 + /Width 1023 + /Height 487 + /Interpolate false + /BitsPerComponent 8 + /Decode [ 0 1 0 1 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 1023 0 0 -487 0 487 ] +>> +cairo_image + Gb",k%9sWJrr;q.b47>I.s"j[T1_XfX00%F0&)Q"lDc+aRMrX4OrrYcY*rq5ZH>C*f/+r$V + _$*28"N,1bCW$98jYe#7VY-H'.=6BLl)8us/XVocJEn\mbE/%m[8jVqfQ5Xjpj1[^2rF`^? + 9QLcCDFd#64`(zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!9PM4aE4BH63C1 + ;$D!3Y@Bo.(;cPC_,GVZG]e[DS-HCBU@d0KeFZ/R0S^3LR;N!4\%NcEB4+9a4'cSd'^4e.+ + teY7ZT1_!l;c0IA-dWIAhfG%..0V-5?/WD^6SRI/<**e3V+'0q]a + J-2pc2%#hp=^L9Bi\r>A%8E8\Od23]AX#aoOiK_>RU:RqIA]pBl"qB:lAIEXBMi3M`F:@@= + Z(CF)++NY?kNCsgeZE&bXK8Meki`Ks3mc3%rV@NpEeN=pjiWjq0i`c0++/%ujN6;-pY?k3) + O-\ZqXi64;a0'phLc%D5(3:7ckt7Z"(PEtCtc7QF0dK)\pX(j-bR?YPAoBqDn15hDHbMe:S + 0^(I*&NqhJpQEXl;IF%grb\gU:t"hbk\5(BkhDB=p4ifVk8E1bLCk/)ootT0NASpYU&_9\@p8TJdZ&>>P.:5Q3raJqATg]*BqWDF5n-(. + O9%`G[kUg,*")hL"_IOl8s]DCNW8Kb"%BQX>p>HK'c/8kVhAkLm1S,9eM`Ek')U`D^p(qJGs + *JY.I:-UZlh4Z[]Kd&L*HqYGO+^YE%oUu1U]p*C2Q\!5q-63 + lXPnX_mjA=b6Zn&^b@Ke#`Xd7XD0r2j24kU3?XLPN)`-!Ht6JUrBh@n@AgK_X_NVLAdEP8: + 7\4dEeLH+A<_7j + fqM`hR9.OsrMh*C->9mJ7%%UI>(?5r8ec`_Gu!4T>-95Q0hB2f79%Vdhu!\0M!`G/rkK]%t + &1Y2MW_1*k/&s7>F"P="eBpmP^S=:)__N?&%?_SD)q?F^07/[aMBFG<.qr3+a_M.Wc + q=Ee0knqb`mYH@$X*!pn8SN#aB+5)\P9Fp\fFJ3G8t"`Lko#Y'[r1$]ek>n'I(,@8.9q%5f + T4QT/sEB.djcF3_N@ON+mf7l[`->L-F'=Jr=X]q$k/)3*GjWI4ftt-s!A + =(\7Y'G(LP,00q^2T&c^?k[(,i7)7:C<)g;.oCho,"Q,81-A4RtPpoV.5-Ui\@_7c&U]o!X + B(<3PEp*C$SPjdADAaXEjcCI%<3f:l(PUTNVcIB",J+:JoPR32pj2[50cgSUFNng+GS\mg6 + KeRW4:uQ2Z,fA[WL%J0Dr$fP[qKgm4I^pnLQ7lTokMBKR:4e@gUmuM5g4dgckK]Wgi8j=\o + 98c*Pn-Z,Cb2^O,*2640Dl/u[]No.3ILmp@p91&q;d_E++ + -mGMH]QATDtFN8deG8J<"S=r)7+ZVb`qN/R*D`e;9Y/RfA^k%30F6RSu]#gB*drmk\qlsYO[Vacbe#8M + )E,nU.6]ah`Z0LH470ODC(s(%qiijgNr_,jRYUY-O0`9V1B1Y&16"pemajeg>l0@X)*3FCX + oe4#N&tL[7,AVOK3'UO$WI/s#pO'MMi84BS-T<1uKd3#Fs,NlW8/*;8>?kDQ?!Q*G/i5fC- + ]d*[AHee_0Ihs-CP-t^B$m>AGWH%NKJl%OKA'iu>k>>shKt=Wo'u6Ia!gFq8F9>QGNmP0[3 + :u+V/W5Rm$6&'O]0"+NIar(U^hF5]_q?DGWH%NKJpe6C6S1,_:--urqiq(0\Yj]J,d,qG+" + ec?@%GIo3YX'3F]o4.Vd_-_a(&;`*E5`XC$e'^o/Y]#MZ_+s7kW8j67E-&_[s!G>Ob;LU3R + 1G3iIhGDZRfC?-OCSRD0kK]XsqXrl5%4qEJ/eFaH3)Vj38irhIoaB.a(_W\1 + i*ZKS(WpCPb*@34#5!LZ`BS+$_9f9]!T4MH_NBjn"JRV),YHTQDPF77??l]Ma+.LCC]f@EA + 2#k+B`L+\NGt\g)M)Q1%#Il)Yc4VdTna]Sg9p8/c'qX1;[Wp>.Olp40G"5lctif;g12lolY + ->Y7#c/]UDe\s$k*HoX'N/M=e=@V)`Fe:]npf?@UbWU>tQt#4$23qCk4=>XfZ1%m+*TKr/- + -\U`J67>qLCA!"Q7@7pg`@V46N%oi34JNIa\Ue4!@6=ob3ZH.omP"6To0E8PfsBu!9@>IVo + &EUThT&5*R5NXq]5"0ekD!SQlR,SR6A5S$[]DY,c,0"2H(- + 39"\kRPem9*;?V>)M)Q1'Sj4Ob1"\`4.oM3+,c2@YGeCm-DR`H:*W]6_>/X=9"?Q:%2]2mP + @J*4^]+(Fe-H%ZL:Jp'*<^,pq:M]IX%H#X:RjC1Y-*nddbt$g)Pp[TSd(,SkK3>Ycel?Y05 + :Ui0#Lp1Tah.3iI#J#_M,P2\])P,jQ@GL.LjZ6Uf#9WiG$(EE1T19mTaYX9@O4I>_BR>66- + 2D_tdDVFED84.eu*tF#>^Q)Oqm?UQk)]dss124S`oFqccrr&o%OL0#Lp1Tah.3iI!1+.Vd_ + HD<^DF8_UF#ii&l;Ym+L/1Y>?GDE"1s@#^$]W%I`?s2f@^E(S*O* + K!eI"Jb&tXP]C&S)DDAo&HF3\F'XG[#h4U>PD]J)#LYm&!$DD%!WYYsY)?*]J_Df%E\ZMM5 + T306!/."7!2'VAFV3m]:`JOl/d@gf8->gnJ.U39!#1!p/j^Q]C;\iK`IRO^BcqNu&:tf$J0 + H]!7F'K#`nIInGmBFm)R%XPj^SK+s13/uq:ESsFAWO*PRf:DU[&Onp(@@"JJt5QKM\k[`2% + Bm)/&7XSR=dBIRm$0giL7[+#AHBf7ih>^Fh.6MfMXiHrrr\?'he$QN1\+e-PFeKR0aH-B3r + ,\5ijL=nZ`5?369Mdl0qWFir$u41Q14F+.c*Mp#eH*#'qG[SfV>-*/+'"Y,'ATnS.rYI2PSkcpC'tf32Y9\@ + ;t4+Hj'foCJc'n"lq[PK+FT(R*m%8H3[I.EM)gZ)>4'^nRQS=XaTD>Uc&P%Mp0l + 8a12@mOb9X^usXOPEEtT5TTj(`*uYY"i9YJqAUFnoAFd1VEKI')+]_c\I?;J)W+Od=5jLm9 + CHodg-*ck2O&uZCG8-nll9+2aUQVjam?EGa5nbg>Da.>s'@+efj&4tV@>+Y + X[n@in+Rr/or^KsI6--jgMA)8LrQfGR!SQlT"S=c>IdkR'J3.IZPE7W*e.QP8Mf>V;X?4I= + .O4L+ehSZG8>SO+>C4m?86G:q__oBZ,'WH^a!E02U,mM#lI;a^j-iB&5;eY4;#/4nuIkYVh + p_T5#\T-aR_Wo:dX]u?!JP-6sW#C-aiah2<%*=2+nLlGQS?\9KFaa[Pfq\Pbr49Cs`lgZao$NKI0h.Oapt + %U+&R%^2oib#N'`WB4gHG8#X?PQlp'9'X5(AmG0YG?BG<0hjQqj0^cT%E$?o,_c?PKEII$E + ]To-Z[59`)-//hWphE_rufZm0_c(hOYs-r:6"LtgpkYft\OrC5SLTjBn\j(?R`'`U*2MA&& + \[2o!!GL`0GqYd_-=6l1H[s[>KB;7\YfB8R9@Df)3<)0e$[\goTf[FFo]X[CME;?( + QWNLg^g:At]j67CW^p/%s'.RGlgB!KaR5]kL]5'eUZJkdeRSrWO$Be@FucM^r;%0.$AM\UQ + S.BQL(8(L`k,6Oqtp-fSO,i+_q5G$G`[KHY+6+'mj&T^[nXRW-:-8iQf2i\60(*:9-Hf + QLOar=>GdiI.6)"UR"Dg0AT36rqa)Gq+5p:RJ>kR/"aqPo4E"'%-afX5=nNFpcR!1jaHdm_ + M)8K]J,.fkgWT@$Mn%.\ohq7lJt=uWU_)kPk]lbRB(Z+nFuKgmH<)@rVCfKs76g)rO + d.1Moh1';W!ZN/^R;*a/,C9(J^fDBFXW1(G0ru>L(N#A(PNXU>:48%OZF+'TU&JT;UI*FEi + &PP1P@WR6$./oFBNP%?fX5Nhfim#C=M_:Vqp + C]cduP(,A"T!a*X'6)fPX-\(n=QP?)tWqY/m>`>`3MO4`F0cAS!&1Oa]M-uZiq-PAO`^=56 + ;D58t-=9t.#@fB&U;22GrAE5/tAjZB#n8m_e/r#k@Ds?qHQ1I*!s4b#2PkIMLK]bG_lE".l + `QLR,`'%?h)Nd)'L=sAX?5.S.S]e;G]Q,2]5X:D.r(jiqHhX\@T;mVUTJ[-\,P]&@%fFm^P + PI+)lV8aE[E\)ga_^7knXK'>2-S?#.&h\j*OL]]Cp??(hlXQh+5AV':tO%]ETn + j]OR9@C/ccK*2@gjf\!rH2iPa$BA&h+8W^5D2QIC.D+,>R1YRi5YqYl.4d'[WmF:)L=&+T[ + PoA=KRr6G,QNUp@[&SGC?m6XUYH;Du00cQ3dTSe + 344HpA,,\%>:-#q6:$#Uo1Q$[O%_-H?s.Kjf`%SO0kdHQ/-s=9)>5V;h/3SE,@q3XJHOoAZ + Y+=s&hn+*GD%HU=]j($D*hVrI^K?6=ih&l\1&o,`@YYUY0;n79Me1nP&@d/a;:Er>$1\%Jo + @pkdie7=n](>BlX)%!DO?;PHo>Edg5$F(0.YLqg$#_rKM#\,"+feX4X]R + T?ur0,QEDZ4'f)H*KM#UArd^RUUVs/Eh\Uir[QMabpW]\RTD]CTt8Vc_5"08^(TJ*J[W=cE + IZbIhPRiPU^?4T4Xbh!6"#o='_Tdu2^=>e';E.qcprh]QRU^[UDR&,hk;g_CUuSAQ,7=t%Y + sa=Cq2gPu"pp#KU++TmC-rl**C(B5lM^Hi;,*_io?p8t_?e%5_^T:)+J3d:Q@FUU?Snl`@Mb$g4#R/"s*:H_018ntT + s4qG5Ej,7X#6Fk,t;l5Ke%dXuf6VRE!d'.n7m;4/;rkDt*gnImL_ + tgF;LpO80W^Tas*5kV-oAu_ZWM=9sV/knZs&W0;hVMQ^+TmC9gW>BS<:#j&CK(W]5\h4B7b + BaOQOY$.,WX"9Qk)BJ,E+>+(3;:I;!Vqu)lB@(C_oWL'VJ+KDY.DCqOP9Bk8Ek%@I26Ha + H>N_@=s*_m8lhh/=J(@RZ-s/YOOZJ4'ZOm._#;ngU$)([@ab8Y\ieq^b;fU6s%0,9A5OOB( + SHSK/PlnS"jmh184K@FCs:]j + NbZPmnIcD'/C)oATf#c8= + eL)$*t3CH3Z;o$ONM5CWW++T2PY];n)dM4C)<^SriVf`pW"6$:=d0r/r56O[OjjUm[O2nR62Xq%#WZs7fJLd8, + I080OpH\#Rm+pgKo41%[RJP<3@IunRZ]_@ocIchrq-b9KGG1e^"/@7`BT^7DHgn%I/)"TUH + X*9:AX*1h"MpB?`!5J\KQIZK'_C-R,L9b^uN.&Os'bk((3,\\Tc%H8+6FmFE[T9e<7Gh^S< + V;.qO-HoNR`u*iHI<1N*j^;@X&"O4L*:?c"i5ZOm._#;ngU$)([@$0)!Y^%]>rAT'^corm% + sa!TXb5T;3AEBW:,&%.REujPmgm[f1:h8]GqV:+)OUjc'GSW>SO+>C4m?86G:q_ + `'9D&'#[$+9;'@KE>ab&K7`3[=fJ1F"S&[>:a?5$ONM5CWS]us7imDl" + #q#RD)i#Y*m8DAt@i4lf'Z<0*_[(LTT(R>mY;e7=e((7VEqge8$WjCg:5b[5s+sA6SN,n`6 + qj6)R:Einp[@ia9Hn7VF.me8$Y(62VgS5IN$p!Qgkrpp+#"r1(<]Md\=&GP8VXN5j%,_=D# + ^T2TYSX;r)\.Y/M3KnN:+[D]:hE>]1u6ZP(j`gD8,QU$]!i\DE*#6i9U,Fk0/!h^u=,IEOD + lEuop2D-V73f)j5K(ru-#o'p&/u.rW:p>5,_UKG-&@$r1F.d+k*J>qlf'Z<0*_[(#?$?Q,ljA82*qZWTjDL@iZ + H8N$0%TQ,uE[6\;\GN6,E,Ce7!e4J>PSkcpC'tf30qjprC%NAkn`VTD9d0jLVj[`lgZanmO + YiM;Cj,4"^k>!]<:P$)([@$1n'>R4"D'r+eE'nn/-LLTT&\C4c640;oK:8I4um94eb8R.o. + T$1n'N^BBF!(RNNo3@IunN:1iQXb=+BU-L#$,IEODlEup3cTdR1dUeC5B71(#\LoM0nT%I1 + Hn`F*q'?$0!]<:P$)([@M.,H(18ogrc6e?sk*J>qlf'Z<0*_[(#?$?Q,ljA82*qZWTjDL@i + ZH8N$0%TQ,uE[6\;\GN6,E,Ce7!e4J>PSkcpC'tf33e$7l!G`ph,$^'Y,hKU[`A$Y^@R9Qs + Tof.8V7rO:^]bQ6?0hb`EtHR9p"aY)CJ:]GqV:+%RF7QN1\+e-IWOKR0aHo8*EbQ=A]P\Z+ + R1RkLRT?uC^NalN'kHd_^?GATJVpOPrg`FV/=%OY:/o=Wu;@4cV$.cF"cjN + s,C+Fs1.:mQZardQSe0Ec$t(e;q+,pCF$0LE;skFqSmru8aJ/YESV;`>n3PamZtYL!Y_HDkt/Y'_bTKqh[4,+T@(>bk\_j)9FtdVS=aJ]9eKBU'MegLFkk + @dcne:cp-B"8DM?FMW?4mHrrr\PtH;UDdK/-QI;'8VR`=g]>f*<7=g%-VadcfAF"d8q"k0' + kdp/Z6P]0-:SZN<:ZXed1>_?]]+KnB^XI8HA?,_ngpjkQ4*@d7[$1to9hhIJh$CsP&i'9$h + j/aSeE30PqZF8i1L\aq's(,N$bGbJouRH['.PI]Uj^Hpinn7k^\-:LIsV[I[SbM<\h8luJT + ?SHq/Gcoiu];Sm>:!bI^6f7%-ne]C0l"Yh^Fb=mDu_ + 7IJ#ErBa"$B4*^ZcuIe2lD`BV^V.#PJ4rr832&,(7^EH)k?l6)Ku>[0r\;`?'18?hsNK_ki + ;%h]fmOgK96C\q@iXufp;ncA<7lKW+u+#B;ZpR(P"^+fMgB(L?FY/B$6!gNK@aJ>s.mU$c! + n3AuZ[/SmrX3AJ6&tTD*MGJ1=6i#i="f\7f#q)lYTC='k1&`TJbqaAS:V%rN&Dbro[2Ta-3 + qV9gP^io*^`TSoO.T/A_aNV">^c5\l7!;?%(Y,MrHLRO?&3\()KRc[M.21U'[J]j0&o\IUj + `bU9-'OSJq@5M8YXi*.,#q23[Ef'@m8*4PdNNo5hDR055>2(6=!lf[#Z(ur-QZ`s7+gtM?! + Oup7IC:H?@5Os,fn?#BS:5f=UA(]Io)7Fua)Oh4ATcD\H@2mJA.lHM?3Y*Z:LIo&&6E;h"O + U60]jp_V$rk5933^\"h!%5;]e)J_?NUgaPTLnYD'E"jqIPpr?a.E;mVIhu?k,`h`5J^YM+" + n\=rKG7(eVhct:d?![(;l8/J6mLSFZl`g#$DpZhka$[@s=K]b6d2`\[,'W;pSJlWfkT%dhb + >/+0dXNu(aX]&,AB)@8Q@(ak#rceZPkHhaM1:RHJ&t3;8`%dh[/\#[9/ + e3rpG7SJI!T2lcKu,OU6o*SEO%[X71n$%LSA@L&mPAg`Fi<,A'a=sT"1WVEs_kh\,#fHc3f + p0P[?UXO?2frn>FUGRf)(Ae".DIna$3Loc9XZG!O1pIjeS"Z-*=75+ZjnTHO*5&Z,"8PeK. + W`r5fZp62T8s1*5E3^qZ-a%$mt>cWUOX,W-+rRZ;uV+I)&q%KQX8.j\F$iDhP\KYI@k8P5( + EMj9Jq0Y'_"*3sBZ!1m%Dt)9*ldAm>j>iSh\JVnsrn>f\j>lIq7bhlr4rguA+ET6Fraph>f7MLlPEW&2WN7keN2:PV\g + [!^eC]q@Dr3.p8W,`M%+%'?W"F7A"](%`8H$X<[%-iR+K>pe@Tk7f$Kr,LKqQNKq#$Z@JA*m8 + cVKi720emfiW"VRY"i%e1;U(U=(:?4fHC$Z,C8gd'dmQ>hqRLh&oWt#CBpgJO%iYTZJDP&E + #M"X9R'k`?_.i@8?)ThccGU?:Eim!;)D\Je7>66V_\CZ;0n?eedY7ZT!$p=?altJQPBm8jr + 1rZ2>3-Wh41Q2SEIRHuhGm=P9_p;Z,$TCV#&3tH?09HDF$EUX&#!%AP6U5SlB'*e.f)N8L# + kl);'>$m=2$jE$qC<=7+X;Jj*Yn8Y$PQ7I=qAp(V&3-T!uY.:gD^;?kP>-geTEt>NQJ`<\W + ,oHI4q]TI>3%nE81fEE!+O4*&>q\W_rF(["$Xg/3]5/(?u'6FW\s0XK^c,%jD%9O039:SU8[SdsQbK*hFF5>4#`SbflcKb6pZ"o$L#GPY;7% + ?)/;8@fWZrS[)Ed2)LLP@VDtt1-,Y5>E6NrK?Tqr%MmUh\R?j`H)nUEM)?)6@F! + hbk^WoVm;dmd\D2"me5C"E[r=Dag/CV5\&`WWL-GXli\jfY2'kDG/O3qjHW%C0(mMg!8HA1 + kAY,Pg3MmUh\R@.jPPnq+G@m>HUmc7j@fD2sXN3sB/TZZ992s#06Ffb*1)\^#3kdO#<>cLB + e$*o!Y%Qjjd\Z!caR(C=Q]kLi]B!.'!cmkG'_nZ,mgr[O^[I`i.0Zf"B9T$^MEt]X@#5q.7 + .iN3,$Kk"_^btag,PD;e&AC714O!dZ;0E1)S)LbF].hi*S,k?!0mS9iQ3hVUoEsFQBb"oG< + .V\TbMlm,cC_dZ6h8QTN9W3.ABp30rTs`K*DS'8c"$-T]AENpkHM_*3]\r'3iru.2j/TDm` + ta[1PZ'5A5%Al8"W#7XgO=H\Lu%:kZGhPs_n'cu + Ja(1-<2o^QlX;+g+-,cnub4PQSn>8r*$crZ4rC%3DT)I6RSp"0k-OJc;Fnj/1?&%?5sg(5j + Q:`%[5f((tdKaS\d7n6&M(B!R'Ze,!^HZ.7Q=W=(N++3Ro[VadIe'e[3$HgQ84mD$:khZ&E + r]GUMgLoZmR)RbjO0\#drq"%*Gk-[Y].S/#qo!-oJsZMsiI_3,U9>L*Z0rdkIsRW2q#^pO< + c@ran,E=7,h@]`'TM<#l?]8'VNN5E!>Cd$Ndl#`k.`KWD20U&?]fPpO-Q#s<`E&&EcNmVlM + TD.RBSPn12AC&$D$aRd+:F,6q(D5o:EC)c.[gmrGLZ9T6T^Y^t@kL7Sp2=f',1S58,rW=Hi + 7D^b$/)=W=)@1noncMi5[]l@U>_6Inq*_B + @^+.NpKJ38Il?Sc-Gk3&X@KEc[/iA=B,.,2`u7C@!Hcj,39j#OmSK_!<@.RWkX\PGJ[G/+0md-k^_D^bo-MU4o+>H[T$B"G7U(Zg'W7)Q + $:$6++jcpKeu#N:Podd%5B*W%&Nb&RAVb@5]I]XYEGVAT:F*Y&>0-NDU'LjCm(tJ;UsG!^p + D8p[oaTD"-+p7Dth/:eHXKC + t']6]02k9"/MKau`O49GTeR"s/VdO7*5c@G)g=^@NMFkhh=8ZW@%^^/GU*`$K/W%.69CIa7Tg?XK;K<'6$>;1"tFSE!)Bq^]a]A\X9rU[Jc3`P8@=? + !jp8P0i9:.q0tE�i&,e`@lnP'``K1`nIJ]?,pBtMfc.fe)WaF + a)\s.OUd1g`\$BTd#33<9_W=Ttn/cnn2Mo._UB0E^D!T*7uCrq&=.AhMEt3rtNO"/$\\l?; + h-KDl)g:_6Cn#r9ECIqj)J@b.in6IV<:!a&i6\EPh4W0m + 6Zrg%)S&T_St"fXKBhtLSIo1rC:73aM[`^RuYNn*p-^TG&$mt[ACoH)ZkQ#i9&O3^Lc<3Dk + F5:Di5A_'X:8k#.T^PNMk?H=0F;Rc?dO,*)$fY2D;4,W:ss%I;iJaO\-H5$CMQbD]/ + PLFnD]5R#fA]4cQu8jd`&ehdClG9Vc"BC#kugo=tfWFAqu<"9e)E_t(erEs(2fZZX$[Y`(n + *ob0K03%!a+V>Ke!,=bN4"28L^2n&NW*We:G.4`q?!Bb%COdT7NVE/?*]7]^fs>$Zgog"/c%#;U@!7`Lp,.Q>8$s&3]2ljaCk;e:lTb9SJak`%OXW3!Z/g?,MA[o-+%"q2?ag*d1_2r)O^Lf!QK + L4"6l+ZUGQ&O@mGk4UR^]=+,"<*8_!T`"8gjKoKu^j(sVbO?U%@V(_?/ZnI%41qh:.tgs+> + j:;/e$c6EhVQcZVTR!;oUsGmrqL!+=5LQ5n&'nkF6g0lNQjFe^QRjjpt`BC9_/NZ><>r#NWP4f]"1N[o:)'Q( + _)_^W&)*BM-Y`X355HhQe2++1;0gUs1R&bn>%?c\_YcJ06d\$H)m9ZAO^gSAPW-:pYL7-3N]3;c>>+58$!3C042JC?. + d*Jh9>;Z0K;_1tJ<8'IiXI_;'AQJ,b'YB%I3a;/aFjN%Hf]j%4SF];onA%c,eFNC22s><%7\:lc6-*Ag/TMLDEE@9Udr + bp(4QBbmFa`WOp3L;5W8AlaeZXF,3a$KFTCflbnpqt= + \$hjlBln_/=u?Oi6\@$*P&Xb`s+b5abHh7umA2A$?NV5sS2IT0@ZaGJ,tLq2I>iOL_P0!s] + 5TaIa+a72Kc,ag=6p&OG + 3jJQr-1f16&Oo?=md0NKO&%NKo + ]ceHNQ&8jj<(B4k + #klYO\t29]r;Z.1#G3NII'!"_KnLK])iOcXIBM9o[B_0HAW + KT_o%1h[d@u!AoUDo&\GPO(S$I1G,(/CC+cdJY/*HCJq0@I*BnjqC2,4McsMs,:@0P98XCl + )V@4G(OLZZ\3>\*_8,]5hOnSl:JX>9HDB5uC$AXt7Qgf]9R8.5WRJ_Z\#/\Lk"\Y>[ + 3-+!G!L"d@<+&Vj6>W4DY!)1ik$$'q>nd9T\UL5%_gh<`fI^PO868fh2PuM:`FVC8*YnM6EcG*I.%SMH/fC&8C/jtc#]E + @43fk:. + 45F<.WEbdnp?kMN70,$`GI$h+!lDZ"fq`;/EPhNDj#@(Q\sJBV1m]*&a,/(@hkj,;bEjmR5@)ag*"P4)&3j8L/ + 1f#=*hZh%=.uRYdD!%.o7N7+cA%"*#Y40k@&.a)ad'?mI[f>Rh-IsZ.s?OB?sml!IQ]VdO> + [ja'GSa/DJ<3YS]-L'Nu0U';]mG`SeN,;/sF/V(b;eO=d!6l+Q&O(G&c)e`+ZY[6c+?mfAu + akP*qS5-S'u=^(^953Q0^<84cCHT5ejj@RkWeNm:Zp]62%E<`t:0"hPX5)bKC&pWu-(NQ>P.,4oh5DM04m_=4pdG5!+cWm2WV&J02:crSd + ?%PTa&Ee#-!rh*p\?@OF\c6q0YoM,::XRdGm)&4o(E'EM[2fI[Q5X)mH1!:f[PUYVnpjl\m + J/UH&Eq^Jis`D/_508])UX:%Tbir;X(.4-Dg1FiW)A68er(dWCV$<02]InAL2iY;Y + R;EtLMetK,XUB;.F>f<7]r[Gi6pq/bDSgAp]mKM9MIOi!2%hrHb[BZX+L\%^rhR$f"A,s[4 + K*r.s8;K7WGCP]m7k4fq"ROS4BZp@dK>dpUpfnTeS^-a/!h.(`L7s]`8&9^<*=m,b\c[e*> + -U0,2jej%qM0'_rfD4Vh-Khh6D"grh6HCY_>ZR9/s&[,qi:(D52tVoFO(l"YU2_1*QVBp"Z + C9f`>#k/9]4Ni#/Vu:kdoMKkE;G=BhI*0'-tKjc^c"]4^cVa/j1:GB-@39d@(3e^`flKY[`65(?- + \QmE]^Cq4mKN%.:>@u-K0f.>:G;r(/bKHqbVbUTJq5%^tP.&:EejfVRlI + DpsFQhZMm;;O`*oI&I;N^O:oC3anZ0QGaW?WJBG#NI%j?a1of.U*Km%>bM!*&'uas?8tgO> + V&R$5Ck(lA']oLjAb$#jp"`05Zb-oN(i!4ngYX!"7p+O:H[!VIfnm-5=/B]a=qKDY`M3oXC + lp@\`_4hE_<[3:&`U^Si(+iYH0G$o'doLCOX^m23(]*D#=D$9pBF#g.SPX"D^eqTQD$;3Q? + #:OEhN(QfQ=di,_=j1(#L&gq;=IE,DBeaBR']rli*i$Hp/>(tGiXa:=cIrU*>_K`Pmr7&#E + 1blZbm1,cjoe(CHp%K1?i[?p=(ZRs?P#77:\RNm3C&?!BS3^sNO;is5ObbrI@If4kMigN>6 + 07)SCq;Tpk<,FSd-CSTA=_._:Ou^5!T+l5Z@W@]u-^W$6W05c0F">T-,BO!NYc$ + R/(mVo?"P_H^+[MT&RhF,Y'RXQ.j_%Q=]iP4u@>knYUU:!6BqB"k\pC4p%,l?P[RUQXifSd + 3U5kcch:WJ0Hg/gr^^!X"Z(/E`?$e0UB\ZV<2+OD^>JcF92+CYaJ!RJ=M,q,L,gLVdlqIRH + 9&Edm-Ebo%uNFH;XHbK=uQ+2&\*t:fQ3d49M@Y!!#.:/&6F_V]mm`PM4IFWU5Htem;p)Lb] + rU'PG^b06@@R]8gB<"TYjLCn]d;=+F#gJZ5o/H2:I)GJK_ + %]j=CgZ[YX_CF]C($oKlk;8j)(808nJmiN\ERqPu!49rFjP88Y6SM*A$#-ESOmX/^ + ZC/*Db!9ilrB_67.m+8)E"$gh`>OOk7N-$?6+D,c.4/F@IfP!dY*>L"loM:#Ah>&9RLSQYm + HPEuN9e22GfH-\(=lN2R[em6WkYX;!'lFJRklXF+k?CD=;t^[N\";)g3s=am0*L2Vm5qFWJ + LJ7ZV3GlMJ8dMIXG9\CF^+We=)W=YSbqlGa*qU2:UD#U[JDG8m0AA;Z<%l?9P6'G7U'?&3A + Dsmr/:-49eB56Sk'AFWZY`M5K99H)370&,U4c;<*);=IRC6K$OKGZF0f7;2QS7@Tj(<3PI% + .h)?/QG6%^3E-be.8\qa&1KbXu4@`Pu>%?>D:\+lJeIBMC$e?De)U$hA!:8'3J"n-.mbVC$ + 1&bE(DH>BW*\`G6$/]k,!%?-XZ;VOROFs_g2:YE#1IKE/B%M%cPB0kGi\(+[B:.rof`!U&( + ubo[8Ah9mm(O/&k,EZ+=Rn9G7oT.(bqoDc.;i2V&3'Lf!:"PYF\eH%d#"#ZX:531dr;95V;38"p[u%ci?l) + YG'[G_hE,Mg@%:DaP2SVD;b!]OA*qh+aG%._%fl)-'P_Xi,5.(S_>j\UF$;U.pOGiH^8FAZ + C6I9L9-u5KeI)jPbA`Za@7j=\W6.1e]rJB*[:k6p!$7oGiE#s!=]sS$)dl!'+AL_NWMe@EZ + *qMlaS:2"1K[l?$-Y<8&^W(g[9#R#S4IK"h@W[+reCH^,tD+m!WXo!a-XcCZlVf$=++N&cP99XOhAU"ooKjg=#",3D(VM7P$ + ;K7i0.l-"_"JlVQc`n9<""`Fg.MdgSLn>YNt;mMfu$:P+caG%ZD\$3:BR$o6-es#[>S5[A[&>N*jIm,l:n$)&XX\bAN^(YTO0,)\ibmh,h6KaLs` + EQ`mEjN?C$MLgAM3p"(!2*%9ZO05F@]62%Tf/i#Ah@dK>bU+S%=+h%h3'g1FFpTr!%*EbfB + r['0`RX%SCq;DrmZdi8Ht2\!!!,:%0>0ECcWng0HQ4]=7nZBIs0]U#(A+'@EGEna4^l.7OT + B]r'Cn<>Rl=b+Eb`Io1.*#8rY2I!!'_%$cc'P_1"$+'bY3^:5M\8c":;r3_>#R#U)nG(3FklM"D]O; + @eYCEebOu&>6.D#"nmSP/[bA-kk%`F2PJ!`0NAr*K1G))!1cI8CL?Q>OsPoo7Y7),P]h[A1 + UC"imFA5L",`mIT,&`"5?!tQTN$["8T\_%*uL[!WAS"]pV;IeqLT[C8I;Y-.4EafR^kPela + Y*=!nOd[!._[$=g6cB(P9cdN5X+4ER_,^^bZuDT*[+G+Yc[jgnWKs?%GUeKD[IkUk2iFh36 + t7F?""mhO"KI(l"Kr1;"32,e.Rg4YY6L'E?r@HabIX!Qi7DS#,R?qu\IZ62kLUBd? + 'aWEP/ZbVD74Ttg>*_l;d$:oN,L)285l@uJ4eX*P&-J*,a?f@"dF"U1a!V + 'f$.W2QYnX/f1lM?@_4%J%ge3NKFY.Vi7I5\3t^c4/H> + e/3LUn)*LIb7mMei:$>Wjr>F\L7V,g:'Qdd"4s6goA4J'8Aqu9tqkqO[8lY5c-e`>#nGE&6 + kc-AT9$NMk.B/aJ#q#lu%XMs!@>uM:qQeF3[17&dV8)c^'rqWe:0$bn@RC,1qF\;1aPf)`7# + Lg,"q^?0uSA\cpUArY"bZ2#F'.(\#?ETBI1eZ9%A=T + uE`Kk:"LJ6Q=[!0_L&65?mZBO#Z([IVJ)G(Wb_W^9DW2r,n]FNigaa.>s'@+ei%09WbnZol + `#3,@SCg7Gj@em7:RIq$X6,lT`?gmF=jPae.hiku-\/i:onod;ER"@Q)<^:E2;ZAsno`$0. + 5K#dJ#reKS#NkS74BtID9NnOk`+T,NTKBXo!?@IFM]3m%-#`;&ZC&%WB5:THkDYs*b+DYHA + *)%5K5%.]ZUatN\X_5PK(q8J\!rfsc!6jjI6?Y&Fq]a=fmP77*\[mVUB1FG(aT"QO,9T##= + B^.aL1T]1nPo0#QNG6s3k198p]ha=nhirmf,K`9`$SHeBC:=??,&Cbc^!O-g0KK2?3_r#ksVUA$K5L1Nga+%@6@p'9p1LI_hV[mlkFR\4?s]IcQHn4Ce,98Ji_P46W[b?P]hQL0!=6; + YJ\;Y0YiPrtcm"Emjp#HdDh:!U+IM_,TB*8NfRFA8_*k]Q[;<(DUfTf^[A%]QLSd;3="Y=t + %R[@(=@WV"oY8YBJ1ICJNGGpR61!!#9N**j862pQM8h6HP#p-TP\[98@d_FZPIVp) + GEr\Kka,/*j2_[f3gO5=3SPLBC%Da3fVp9ZUFb8pU+rb'Hs&"i8d,h('S.q\\R4OUOsIDZ" + j\?P:Q(C#/3HaRU2Io+M\WiC+8mFSIeZVr4n>2Qr9f0b<+\b.n"(57N.n)`*26\gG`/:!6$ + 7sMO(F'a.UTc_`A0>/'Ap$1_q8ik,Wc%!41o>ZbC-;P];VN!M\>+hK##1u,bYW=Fog`ZU@" + #o>qhI4kfjdOASg+Nf*:VE[kr'RQ&!<<+J;h+@)G2ETCJ>t9F@b0rTStXXYD_(?rl1MpLq> + C7kr'1/gJ'tB9Ie]4Jjcm5\V=i=MplCP%gHJ5V,$9m#J,/26?Ae@SmFL[prVPWDS%icU/=A + X_S:j&?!D3%Nl9+pp]C4&/f<79FT!fLolM$OhPq2[+kAA1f9['+r63besP[S+`./j^+gU:s + tj'ZZcXB?3MHch<\j\.n8%?Nb,M;06Q9gXO[hr5H(Tft*X<.EqIeERJBdDqTmUC7/'5S5E7 + P*er;%AlUP[4OWZFNLi"O$Bm)8Whf0`.,Z&!C(tR99?Z'4u0&7U"n^bIhL2XK4d_eP=4Rmi + ,>+6qGs`dkE^OD*k?5u(]W"#__A%s592WTgOTjV%&MM08 + \I,rXBCg;c9`35!_&[AZTar.q^eR;V10[biSV)0)tu#cF5)i1]0`bHu3S-m8_`G!68(%+!O + RUaMkG#s"4*#8pVl's5A'fins1MrVPXOp]$Mf[hguhL)W6"Z+\'J[,C&rRS1L+`UT:t7EUk7hM%SZjbl`g*i.XDIt5'6l[&Z@<1Na,-, + bPchLh"g^3r'-uYQc(Pbrk.]LNqm\[cG/2-^:lg':LDu2=@14'f:g2"hYBB[0$E[RJ,[Cf@ + 2_#gpNFUT;hk46!k\3lSJ(r4F+a6H,ad-&*GS6.mi=gJRfJ5MNR8^2teom(=>##4ZUcRd+gU9Nl9&$__=Sg(sWQ0s*,\ + -I!nD_tsH7^r&!6WnBIMH<0e1\FH;50'=kF].uH!dIE5-%^Q3>DKPDL<$.&^m]0rR>UbZK*mTUNB',qt + YB14F?dL1,8;>IQ]X95HUh.DVVaPc]C0hgb>EN;o\>pK>\1#\o]8XTZHP5%Wd9t2\NNpa!k + h6rWF$NDR`,e5Gd0Yl8iA;.0'@Pi`pm)p'70P\gWTU12C*E./SU/HklUR4#ts=o:OT^Utrl + bDf8el0_fAN2W"2aGMc1XFUSQu]eP#+eMcZ?`n6jFhZN,m.1:u[-AQb)62V[V;eo9%]40o5 + (Z=08bo8b[,>J7>J3!9M02OpZmQ7-1=?1/$J:2<9f;A?H\MNufm2(4'Nt5%bk^Al&pBjjQ\ + eVTUn-cuP8@)o&\9di>Dnk*Q**8o%"S$C1)JcPE*tq(_OoctG>BE>/@2Y?bY$PQ)%poG>!2 + (IT@^i/?)h`./CR0mXHa:5DGPM9!Q2%8!G2(`A:Q3r?2o.NE?^S.jWTRu&&*rCYX.hXsGhC + d*.m3`TIPss7,`$r`6h3+PJ+S;kZ$8V#'FgCD8gZ,bD*R+Jk"N-5!!&ZXlAh.u*\]%Tmf^k + GVG6VOc8me'\SM)rMLS6P@FI".s,lrd>igGhm2phF:_k&OX4$0#=,OCUMc.*gfgJhNoZ + 7:Y`8_bmI+p1%]K!!(A0eC%445.)^@2eo](2u';ZoXG;+g(jW^2i@>5^I%dHa8R>Ep\[VYk + 7+"JHSLl9qFV>!3p$3lWk?/HpC<[QGC/H#gi2T#K([WL'LsdO!b?-X!!!"%>V!"R-8-_h!i + &u-`gI:%?+n*[p^X0,n^$J"_Q[a?-V%]c=='[=F#JH.nV`M5TmqXaL\Ne7kEBtdYDm8oj[0 + 2o@V&HKDt*`\;.r#k!'lU8>*D9i*sH_mI@>a+f!:[NcL)u*rjd,ogY*)9i>KBM^&,"\g$ri + V9C>RG^S/gdc1<#^%m.1AT'^corm%sa!TXb5T"&QD]=GC*V?^1L-CPb$Mm-AmE'jd[OG[K$:-:]Tp3[ks^"]EOrKc>9^]Vp + )-`iDBFs62[4Bk([*9q'jnRh-QLS/$CK2T:ahdaKaALkUQZ6JAJ0G&FAZ:8]0QUoF"s'n!!&CGF7Iq_m + =u[A>)dNnCa&=uAqNOtQCR_?@[J;;[DqHRC"j_S[Oc#BDYQlB5PE',4obRjB"2a[AGD3T>J + Lefn;j*OE'N.RIm:@k0*024l1hPdLjr-=ZauHlTVeTjN3t7+L1L>;c']:/57Q^7%Y9X=\GE\8Dn!!!# + WBt.,@'L&--;qr0u"guY*9M9:+nIP.#)JcOB9NmAmkoE**5Jr!CmK&L_eH#XMLiG.l:RY'U + rlA6l(LV*.+LjtUUJtE25r\78p9IW8=<^Cod$+kM;Tmm1F!5Kc-U`PP"S + aIGE/j>c4/Z.Q1m$<(91F+$d98NT`/Qsipa6k5?gCNi#QKEp+`K:N[IN`>_Bn=ig2+clsZ*^tnCUF?-6)Z6' + &HJ.#3FEFNKWRSV;X7<*!54@\/3E[l,bKnDJe&H?@;\`)+jWNiGiLJTs>D2T1'i-]-hKf"9 + kf5\=T%fcUFICQgQ57=!;\Ni;I=j5UuA"r>hbGdT'['45kX)6V"naUm8qt>6EPuUhp!seh: + h@`<0;Qe'n4DT\2`naVOJji#)]kbjfDT/5XF0<`s_\ + ikN-Pf6\d$a$hm;H!n]ht()%4%5SrJ)i09n@)&E,sSI-ptZ$!Am65K`qj]$m5J-[.q,d;H!n]higm8Tn&?\IL&pVgs*9 + ]6:"@3"9j[@WI%b%!WW59R,"dG4o!`/l2jpenla^VHtj#3dX?abk?N%.r0-^7QMJ/e?='a< + r!Rsb7`Gf##gcB+8m6+K/RBrHfg&\cH[A>BJ(lP4Pp$&h7Wn^(X + R>*V6Kd?_^F^-&Fq9s.M+WW4/H>bNN6esZ8#]?[.+Oa-9LZrC/u\Q= + )3Da+4%!)Gq%o]W#/MdOQiF_Q(?Y:@/1KiptipVhVqkg5-AOIJ1eWiC*W_k6*m[VacrUgtu + in(G%bAW$L,2nnM'_`p509mZ[,5(0#s%)p0"m9lO2SUZrn\V^m+B[Njtp&fOhZO/Jc8*>r' + Z0E/#Qo18n.H+!A;l^4(7%_$K=` + W`1#Xk7KbFQ2%iE;H!n]?T + knZr);;Y_?bW7<%KCt-K-Jg!!!#+_n#PYC9J/^[M5Ke<8q$H(@#>u5BZ^S?gUYI$1Z?3$;5 + iZD_U>C(IA_!l989#22,VCblIeE!<*Eb;VYnD1$O?`AG;Y1cZ$$KnaGSiR^ik=s-eY97q#L + nCAT1;PB0m]U(s-^Dj85BV)"a-Ja;GcToZ + 2S)Wps2mZ[T-Wk(0i9m1CK]Dd$)eiXMZ,-=HC + D/#"@Sd9S13WT?_&P2gCNiC52=(6l+Y!QOUH0Hs3A=@HA?)b:\+l:foNcD!!!#k$hjiIo`E + L1.0YP2.akY-G0-BD7pejbAjcL.$2JPsi2Kl8a5]OIZ + &>+PSd^`s6e*mp[J4UXXUJJ'd + _`VW5!!!E3GHWYI+9J/;:]rf,!< + Tl;C+;OI]>g,A;\T6r$_1='HCVAp/>4-3q;g>t^(Y\_$9K&rN>J>i!!!k'Wk8G%?,mt5D/$ + na)V2@\Ru;!-8UjcCiadrH,thPhA\Ms3C-TIngre!jTf[G17go.gT90&]b+thD/&*Ct5%Vm + H)`PL8X+[GW_074aB1_K!W"6M8^!*Q-"9Jks8G"Wk5S@U4 + a-J]%PdM"fg&\cH[A>BJ(lP4Pp$'sinKWk3<9`hJnLI]bKkU2Qf9(.Ia!?C!!'ff>ea+CGM + )QD""'F`!.`6P/,jDc9B,uoQ$fW\4*5^ln)!`Hmg\3;s5NO`J\U'Hj1Sa1(#-a2V!% + Uk&2[58L_1E9'no8%7='+RIrqGtum + H<(U1%?9%ji38f8H6/5j%[DFW@:2+q2ZB??Xa,[KK9gL>2A)2LHkeWDd(jM+.l'eE)tuUG" + YOULjs,V>N$\-)d3!*nPrF_sG.h + !D`g0ING/g:?fn_?BB^jBR(U\o7)Sf9VlmJ_fFXUAU.[khN/tA*-of!<<*"V5Pgo,Q1sd(5 + %@l(5RHrJ*,6$/)M.*_e_""2E0DPZb\t@]rP5el#g\WfFIr^!%>qUVWLfm;DS/?+'GfhUO\ + "gMuUH&FTVmJg=tB*bH#bn?n^q@^.8h88jSa4=R;@@%m4&3Zdq5RZa'3RSSu)XE;mp]QZJ& + .F5d0"!.]i=WkVCdBlRb:EG%4CU;>rQ&HB;O+*HrF-oZW>V37"D0>/(<>VI*GR9]Yk=RrFH + mL,V+Xh9h)/KWnDfr!t31 + lFYK+?.2DX=XrFEVc'gshm-2HWZM0G+9b!72>@PB/OlN[pO)fKAooUo4(5c2FSjs'N0KFha + 8ElN%+aEps#t7ZR?7_e<G + 2ETd!>.2CAZT`G$]':gIg%!>b3D/SJ)i/UcK@PB=<+luiYQWKk&T8B#64`(%*=nHQ8G3VdP + HW*(Du-Ria399CTeeH)Tt8p@r7.pgoRYA^+;I[mfZ7\ete]2iue=%!.a$BDRdZFA13ICBWu + ]32(nn(a[MWa%e23-gJ,qgLIq2<*AQDd1,Xbse>Z%6%5+'U(bbI^!!!"rU9XFWTpa*QI"KX + [YctQ)0dO]PHHKB>c7[`lg]c\ED(;k!ZFZ)M$D27@:,,allI"t`'p]LEEI:nODY4)3!!&nX + gQJ>-#=oS79\mV?('T6`L\Q(Q\msk!JnKHH30@qYCKm%![e0@2f9UIKG#I^8D%6OG!!"iAK + dAsaqtStL-L"h3Ll)-I!r+W)>MeQ/q\*kUIrAnCOdGh;>&e?X_n?]/a(ARJCf)c'e/1D+WL2?FH9NhaNH0D;2K.)7b1m]?Jg>0uSQ__lY + -ken9.HG:l)60Z.;^V!)p!7alXJ`N6aR?HLnFzBFBtdVq7cAqZ[jjce%Wu+3ra=0.GT>kLY + jR@*4^R2f=#Zr>[lj[gNsFT`t;9mi*0+FN9F9BH]V?'@Q7\3V-t[n7UU(CU203pap25gWXA + Wacb8ES%madCGg%=G*;:35Pb5F%@.G&d>)IM2*]Dp2qd+DI;Dr^6P75C>JBI1EsQWIu%^2(]S[ME@Cft*YdU@JnsJ5V"kHUN@/jT%_fA.bpOoXnC3 + AqHZ6#-zY46ANd=T`U,V"g-MqrK\X4C<)o2&*r`fhcF-;\fT0l5G)-#%1PbaL'CKqTjO+7"`foaR]/as$Yiuq<&3:j1%b1X + ]!!%PHTJ"#mJJ0iONiTDFZaRh-'&l,&k0Mgj)d;+.E<5>(2Jp*\K%rsnF"cgeC3BQX=VL!P + \$ES+O*!JFj6,#K1%?:=S8Ar$e"_[_jWNo'fZf3N9A@gZZp"0#Y>s]rs";4&dR$"J!2$a$/ + NmDS5!Pn"+?GjIWI('QDR$VUz7cSl:DMJ2T]u-`!'UH#471(n9o!NAkRfNOQ4W$mHPFpHb^n4cZON>](X(bUmur@WelM+C)gI3V + Hl4ZhJqb3)S]hVqC*7H0(.llSJH/n*1X2@V$2/j95M`! + .Y9a;KcgDYj!'o%LD(O[,R^hU.+&4dsZjk2qL3LI"'MhK.o];qn\Lma0qOmG$N(Y[@gISeb`ZXj._X0e+Pkj,/D1&Vpg:c5lFORWqBL+T;-J:2r + _P3B>#KBPB`-%gSXittcFc]mV;]r3OcSLZ*-0,>oOtR)"p_d.^:V6Aro;[>ndk?P?YW`Yr& + hA^mm#S,M&`G7IjqQQ\a?03[a[?G!<<**FlDZ6hg)Z>3D4^;?>oiA8W9;2)d<6791DC&lHV + MTibGmJGuiMgY_DWtRn\f@_JXSJU.#H-^\u.S#9"h>5:lfofjO@]PN2]($_@1cbMOkcc`/5 + 77-W%Y4`G74]5,B4FkaE'56([S)q$`:msdsE,O"rscV/]C8W!JhCA%T*=12tH>INmUMMdS$ + ,7)s(nNW.cjk$]H1N;$lWH)"Bm'%H;bC:"lh?*`Xd[9k)=uV9;ZEghWLd4&ATFf#6k7K`C42Or5oZNK&?S,=5o9j\%>7=LD.2rVcN]S_9POFJ?dYRILZC_KKYO5fqX_M\a#i#*h0W&]X<[cGJ4V$VeoSa + _IJMuQ>@3u5diM2meS!UkR57k&?erprZ9Ob\NP4iSkT=0sP31Ag0D;INT9?ZJ+;2D"=d1l21GXY7/qh)95]rG'_Cd1"TSOa6;Fr_]NVs?`[!_a//=fHRl4c^ia;[=3\S6:%M.Z.F0bd!-BU + ^qqiC\JG0`DA`qSc,-1.rD!!#7sqVt4SmB.2[fA/53V)Lj5hq\-CDXK($p7LXFs6Rg^DjK: + iJ&+kM=-7;Xo/T&-fgh$=#Hk1CF-[l\s!db:9=?td!!#Or&lBb>BU@eDn2h:G5*8Q6;>fV= + IHUCqiV,J*Q$CjKgLkGqY8gp + $LY,9J9/EeF-OH#irE`='TOo=ntd!rY=_10:%8p!u/DG,KD)9?TeQM%Y+Wd+?l5J,W\IbGh + OHD/aS>)_!=[a_EG0hY->$=7>/?\`GDRIqI!=BR%$W?Tp;gi1&X%#PDqKNC;f6Zl%Q<9IqnWt!<<+q\^@V[nkind"Bb0=7hY[5!!_u.I/2<452iuE + @?%?(#],W.>nPiljl]ZT'innX_*Bi+-PJP)<]C2n!)l]uHH1'JB1;E.X+3WVt^ + 0E#UXlUEbea]i8kgefH4]M)NP$B\&I&uf#rD-#SEu?V2!.ZB0rpnk54PTVlQcG_S#4\m23M + GOV\n#=sW:%t\=ftfKb*m2Zs#-@D?>^>SDKjX*714"JrPepE)FHG-YL;USO1/G9M,Q;Y6RM + *XJs75E`4qoB'%jBpF6BI7a/7u0-NX),r3AO?J*R>[UcFJ8f`V9TJ4VToeR)'6]r0+XqX0e + "`dH4`Ur7ank>*B&Ab>`3Z>Eh%Z=R*:<0Tdg:rYBE>i+96kR0%++qr-=Id5qm&%anKZX6pW + S)sD6P[d9FXpeQYoA4Ecn=A,&s8D4+DVYBp!0B>8LV:hRJFSI]#4Z&$[PZ:YIc?<9FkTW>I + >pPjhg=ff:7lu8-L\XWa5O6mNW4G(Sm&G\1)XqGRk/LQWJLT#NdTK#_ceL=l$j's>Q/[(5Z + 4'Nj_t*jpZD-2N>DQp+IT3%7$$4)<7FQ/%H;kF+AcF#0MLH[ffII?c + DmZcl&^@%SV06GY?!!!"u6F-XI2,ES^0E:DA>Jb9t@`]:4)]Kl`K*]ZTg[Ypts1VjKQ/'pT + ]^Ga=IV$WL18XgD[_@.Ig)=])Sf?8[@095h"t@>jgXHus2UJ;BRTp]J5#Iomg&L + [5Q.3K`gLRhB26JA7\W]RSVZ67IIG^'e!pB>+$Dm\!rr=3TK#aE+oYCsrq4V5pFj$JRf?47 + 6`8XbBRTp]J;cqpVe,dumJfSC?TjV=:OD!W?C_&r!&04YrO2WmQ;^koReT[8pm:,ms05qE[ + cFlFq;mC3*r9FI6(/kq!!%oH'7TW;q0G0R`.'P_s-_g8A*\X?C@NeR]Goa2>u1%o!!",kKD + ;q/[*d:=1)Ur9')tN?s$Jq>J,@$IG1VWM$Z>g3B=f,bd/3kD!&-\9VcN_&pj,p=ac>6XP^h + PLSX85Sh##min+W=E`rZ5@JCMSQ5:I3EUL3u]j9qOIXKHJ_Q?HVZcUWt3l5@hH!!#9SN%ar + X.[l]p4i?Zi,5s0Ns0#1I.\2(Ig7#_4rh4`&%IspRBgRP+V4!49/s1o(MO';Je!WW4NoKiCZ+92AL[ + V8=pMiR6bcb3ZEs2^cARNDM0!)nID[r?^-BTca%Mts3]DuT"(8"Q6h-i=#G!!&-:.fPY!ZK + 4Z-_Cklh!+:?P-iO,H!0A@[J)VOM!!!nR+T>0.gqS+(_Q9j'U!5-0=d#D,Z/>"K9BthYlul + TNm];_?N?1m'5&Y5kUouI3fX5PK("q7r$4C.Q]t;dpHp5$g3Erp-CWisa5&pn@hHG]P/mFM + [cklEK[EkI0=4;3Tl;jta=-KSp7/R,e!$Jrm`;fDi=%bQ7NZO5Y;)$Y`Eoi"p^T?#>\TR&Y + Mpu"6:f1*erU)'&Z>UbFO(]OF(`+fp-Q + \^+k!!&fRKD='*S?VSYqgFXMqYpp/rPW$E(-5MIaEFHZ:$AWI7Y8WaNZ;QsJ6HWmC&1/AQc + Sr_\kBt+!!!#I>=.kPRld[_Hb2s^H"9dmR`fl/LO6lr*d7C.e1F1Npig,iplF2ViZA.#!9q + `Nrl`HML7S%uE7ffZ-<]>O=2c9]'br$q%*!\(tq[H6Rd=q9[IhM/>u1EOkY/RidV.s&$6F3TAos + rIWqnlksTjhBH=efd5W"!!!#`/a[KLg"?(m*5Ygl)oOr@!!"R:`pp6H3AR\LR4%M8!!%Q1O + gOY^VgIX3I$]Y=!!!"p[%r]]9Gk]4!!!#C7/R_u!!!#?&B$g'%fcT[$pje)rr<$!a:PW9J( + ied]T^fb&H;_1!&2lhTDUqFbdts>Em$O)/I1eV!!!!T)9;c;*?.UDYHg9Rdrc6%!!!!QP:9X3TlWTiBY6J(.'QfWpk`e4$k!!%P;\DW_K#64`hL>Z+ + )`'45%!&=]I:](:p!$FW?s27,%!!"d-62[YQWW"?Oo>Ein!!(4W:].+Y8/)"'!!%O(55?T* + !<<+]+VOY4?RB)tXi"Rk3bPq/Ct'72%X'F.G"$TJN5@n_DssjUQY0l(cd0AYn+We-5+c%c/ + 'F^%h3^,;Q0%>_h5Y0LoB4HelYDRJr6S`/>Vk%;nIGU"!&Go>rs]EQ7Rmso!aAp44FLX,77 + h:\j"fl`Gujc+Ca6c(P?Lmk?b:a,9m+)t&lGa&?8E[a[;9,M,Vt62U + fb!5M9b`kRbQ5$+B5CKcbp\6^cZqgEK-+Q%o+PkiBkd("jTm+>-.pIoB-Vn%X(iP?*>o'3:+IhPN94->nq#M2`3a'=Qkp-(p"DDA=eC)3?9-0j + h8=`>#+qq!!!".R<\W?%3:Q0f;jH,6[(9k7n_-n:[`0& + peagZ3J%QM1`Es2[']D%Q^I!!"]OC-CN7-#VX4quZp!+??9!r+fJrjnh=@!rrdIIa"BKD5ZO!.^JnJ)VOM!!!l\T"FqTLjoC)!2KYTTD/Wk!'l9p(&sE + *gm:T5f(An2o5+3ZN=@F*:4"``S(Eo&TehM\jNO_]BI&\[D;1)S=gkRla9Ok4)F: + opD5< + !deGP?9K8<\h##S_FC1#kKlXekQa#K/h,!!(5R&Ha + O%8SDnX56(Z`0I[FiJ,T4*V#U,]hRV)[`GW0>4J(h+j*tGZ:g@6>HGOMd>9j+J!!%O@_*bq + mIfKHKA-h1ep]gd!5_bZ]pt)mCY[Mfb-hAJ[!<<+--9h5QrW*!!O?09IoOOcc<]VM-UdTjA@S3t1*j!!!!G1Pl(dgf`IhgLVQl+56 + Y4nZQ9%k#&V*+T;BA!+7R7pie^a_-iH@]A$U+2?'ABp(J>D;7FFcrW*!!?o!B0hmq2\h/9^ + V,k%MJ^VkMCp5G`?H(c&P7`Kr-m4a?G!!!"dCtqh]-0'i3!!!"pQ>ss[VWCo$c`'*aIfKHK + Qtb@GcQN2f!!&*aLk"D+!!!!:_BAhhCO%h9`ut?^!!$E(EQ#WRc($\Ep]gd!J=4Dsg5k@?S2Q#p#64aSR>g1`mB4 + UWSl&HD0D'j'bF:M/#4W3(!!"hFKO<^\!!!!:K(p_m!<<+]+c(X-*rl9@)1qW2rW*!!Oh"5XH/L+T\XLLacfN'[FmD4Wg8=PYcM + Z?HMVT^:];:Oer5V1%Ks5=*DX%/quZp!^eAaf^YeLDFO/*uY(-GSBBD2@I + G'+[%G^i')qq3!'hBRpg:f8%fN1DRIAqqOW]u#O*-K]KtgoHS"2]PmFke*X1iOdk^`GcSJ^s8N70I.:Q!s58OC@IGW5 + Se1o%!!"\dnPB&b!!"-/&HB[5!!!!SKQ6qUO6+X4^Y&#LW?kkhXi"Rk3bPq/Ct'9d2u1t1S + @Z;^`fJm^>8XnjT?f)nNquH+Bn%ee%^0)\X6b]0O6i/%Sj]_QquZp!+H=A3aaZ"sjDs@]Ao + ;9a1HKhA&D3]mWlKJ*H3up=7fu.s]XiFN\T;[.2tJiOXK/ERNtq][iEp/-99&ZkE_YO8!!! + "5bTQo`IU?NW.k>DHrXlhYAgr4XXqo`-R_E`O,T(1la4e%>_)Rg+m+>-Y56(Z`d[3>ukN:(TmbTQ0M.GYBNuJ$Jl(bt?b`,+5]6F9an`#78cQ5b.raY=%nIGU" + J;dqKrsjfI(i5@%G.Xf6j'SAN;dWn,()@V.l0-bN0DBd.,@0 + rW*!!?lI>dkF@#%!!$O8ih,uN!!#9=+T@4I!!!"0L_PjKRrA:=I8Wp>@en:\rr<$!8-u74r + uE,Llg&?Y\]7Y)ft#Z(>pB7K!!&,Y;DJ/$/'A$G/c&^!F\okJs>0d'AF8Pgfon>#"hYHbuo_H%=D\j,3Yrq''IfKHK,X6qV0.jkP_hPd6,%!u8Y#I: + 8d'.,(oPbqW73Xipeh1Srt1>.)L%6^_9dBWmUmHE3H"ht$;!' + iZ*0DI+O0%)E#mI,NNU%f]H#fpf!0)1EUCSC:eG#uedMMgPq$[sDs^"uq@/dDRF5To.mnIG + U"!&GqsXZg58?W:'llP&ruY>cL[56(Z`b`q2YT=Pj1')qq3!(]!]O+6EcY[MfVVog.]!<<+ + -VBl3&5J7i"dG-7O&kJ)VOM!!$Ud^Y]]6@1nu^*#Q_ + G#g-2moF!+;[D4Q3cC@En$"iBUe/<4>0k=')Si'\C+%W$l@sI9\*^4jQb#lO0%4^H0Zq7EMQ0.jWLI#J8Ih + \Rf>Fj#l_L3s.Q+gdf5c%j)X6=2a=;q* + #Jt&p;8NXNUn/X(J=1D]s[^lj/H&a!m*Z_IfKHKQmkIBobfY;/'IUBHJ2Fm%,r?/!!$V'O8 + )Mu62Ufb!5M8AO+0mI#of1#FfGl0*rl9@B&]#(iZA.#!#Ztpj'S@j?Vs[0q9BQO!!!!i!u$ + WCK,aepLiIL-GXb3Dk5+omII?W)GBRl34Of4;!!!"p3cdL\:Gi&$/'HH`4(XRA\*bXC!<<+ + ]ZmP+&J!kPp[17uJl($SXZ8)!LdmD!`=dLWl73C5VquZp!+DFPZr&6I6)'(j[#],WFO8N]Y + S'B6M&c-@UhEctm#64aSR3jZfV>U"3.5SYFB+kTKj*!!$CR55? + T*!<<+]+fp\'0eWQ.-i@%FPZZf-`'45%!)f7Or#:lGUA+$shf_%A2V6R4k];f_]!HIYjge. + a!rrnJq3QALoh$\&a<0Xk(i5@9=$LP8=>N!a3"X`:(7(1il1%_[q!/5KOmudU;:=1p\4 + h3pSsB<,(Ws!JkZak?NIZh7!!!"d.K9)a)$re3aRAjpX(Q!p7g(+/`!&.Oaia7< + 8baCDKj58h"#D5`Koknu=EVuldId667U7V(bC=NY_rP?<&F^_IIe-3T-*LjUt(B=F8QjA?> + ?bcRMrG3I+ptrX2,Q2PigS1:]+$/",ps%*UZ$,Ldl?jZGe"NH;df8l]/luA#o:mf1^"uq@0 + &'G4!bjHHIfKHKR*#8]Ho3fG=Bo)FkK9'Tjn_A.m44_3nIGU"!&L#\s-f5u,P5T>)*Wk+!! + !"dao"s6)8n`>!!"Q9r"K)1!!((O`'CO!!&h0,=dc9F`m*-]2q=@-VPf#E;?ob044\b:7XFWocF58!!(I)M%_8n + H062>d!bfbm=C,T(GVbWeGpcNTXaMEK6]3liYL!-Z*IeiP1n + G27>>Q' +Q +Q Q +showpage +%%Trailer +%%EOF diff --git a/twister.ps b/twister.ps new file mode 100644 index 0000000..40e4f85 --- /dev/null +++ b/twister.ps @@ -0,0 +1,378 @@ +%!PS-Adobe-3.0 +%%Creator: cairo 1.15.10 (http://cairographics.org) +%%CreationDate: Fri May 24 11:55:20 2019 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%DocumentMedia: A4 595 842 0 () () +%%BoundingBox: 0 21 595 842 +%%EndComments +%%BeginProlog +/languagelevel where +{ pop languagelevel } { 1 } ifelse +3 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto + (This print job requires a PostScript Language Level 3 printer.) show + showpage quit } if +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +/cairo_set_page_size { + % Change paper size, but only if different from previous paper size otherwise + % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size + % so we use the same when checking if the size changes. + /setpagedevice where { + pop currentpagedevice + /PageSize known { + 2 copy + currentpagedevice /PageSize get aload pop + exch 4 1 roll + sub abs 5 gt + 3 1 roll + sub abs 5 gt + or + } { + true + } ifelse + { + 2 array astore + 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end + setpagedevice + } { + pop pop + } ifelse + } { + pop + } ifelse +} def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageOrientation: Landscape +%%PageMedia: A4 +%%PageBoundingBox: 0 21 595 842 +596 842 cairo_set_page_size +%%EndPageSetup +q 0 21 595 821 rectclip +1 0 0 -1 0 842 cm q +1 g +0 -22.109 594.961 841.68 re f +Q q +0 0 595 820 re W n +1 g +0.24 w +1 J +1 j +[] 0.0 d +10 M q 0 -1 1 0 0 0 cm +22.109 0 -841.68 594.961 re S Q +q +59 183 454 431 re W n +[ 0 -431.04 -453.6 0 512.64 614.369764 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceRGB setcolorspace +<< + /ImageType 1 + /Width 365 + /Height 384 + /Interpolate false + /BitsPerComponent 8 + /Decode [ 0 1 0 1 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 365 0 0 -384 0 384 ] +>> +cairo_image + Gb"/l$Wn.oqYr^X&V#k^2"P\1iuuC+;e2cGb`'as6Vt^J`_SV;YOX)e.?e9>"Z<\S;=gq6. + *?+B'bCpS]OKk`c.":"`CjOcbcp"s$a + ccd/M@p$:4*CC:.CC8&.,7d*e:JllI>^k!"\r:#[b2mb1C!5KY%QBA\e3%A-3<7KL$>7V]5 + :f^V?jiS=?$O$OgULtITHM&aV,@.p)c-FT],rp#,84>t$eqF/*nBnS$&DasBDq_R46:(`&8 + P)J["XH$FhUK,5!.asn\Vr(F\s/*HhL"];-RWif\<-h*e8#'2)cgO'H.\RWSk^"-GB\77B% + CnW]X_7UDXKC/!e"X(3HO?,nDV8(2JcL1If2`q)?g?N;t.TI/NuA4D;2L:DJl&;SnloY@=F + sKl)2bL9K"!8PLajBfTGu%[?u:5lFlc2.r3b>V1>AKZkW0O!;)!d)5.DVO$EWbXt2%PU6U1 + VI_YgO$\\_j5[S4Oo.+,AoT^#ShgYII@^4;Jgt^O&rVc]ZCJIV7rBtrub<\E[lqtX:_J%3L + \T?F]SN:n.euW"Z>TCl>eu`.RY5pn,fTD;7^\sJ1db!*;rc5i&R$=L#C]up9,Z=Q\OkPY/Im-`9KdBn=HGW=tG!9b(X1;_e//p?)DqF\.7As + nKF#cb=Tkg3bTKF);;T!ah&GK5Mq#l;,[q/TZq]6>n[p[$Rs]CEFQk@eF7?m+_l!9b*,AE: + t&1Ednb'O%a>fL\bQji6,=l:htA0K#N%W$nMXKm2a(mFj_sfOIk_6G3R'*TFSf0U3Qbg;9o + ?YZ+Y(k2bUM:F&$Wh!FCK[$HdbOn)=&oDA!koCAD7HT#^pIJS'8CB2^)Nlq_"%&I%/?JLiE + \u;$(C&Ro$lPTlYZ""%;e>5eSDJm*-R3ksPc:m85E,`%cOG=>gVOrSO)1m/D!'8&<)7`sm] + i.Tk!`7:dIS+C9[BsTL"4of>`dh^\?T3p@Ft[L$Ck#f)VI&F?ZRVbP:VfWMg1@/k!A + W!*s"U).B*]NuBk_obmgPKn3d1ZEgcMe#)!Yh?aJpR@0Hh,ph[7j]WH-!-%BB5B#C@R9lSe + /:IEhAU9_37RkD9`/pQ)()CXj.,YG;\o^O0CXKqZJCFV8oFr5f+P/3U\[c7gq=Ecf0`mh&D + 5*b&RC0bQ!S;neP#Mi-O[-0kg-u'=!p1+d8kLQd0<_=Q\8p[<3YFC[A-A8>jq:e'B[MA5#> + UdK6"5G+"O7&d!@ET4"D5rL8QFp$dS`sUF%hDH09P!<@dCN-Y"#9pO%P&d)=0K&7//41B]ghu`<]8Y+aPO!-)mouDn'nh]j=q8#2Lm1*X)36-RK7OqPe?)*paajq/3@,>u_q)%g&u&iDU04599k7Z\4qGshf)L_ + R1r0-`DoPjV?E4E&0MWDE1[G3d:-k+oK[0+&1N;m>u@XhC0-0B(fp&ebp!+(V1#N9JqeqY, + dOC@qkcr-7r#_LISApBaIfO%3)Pq%p[up=T4d(\oA(j2s'SdWCuAR]>-m.>J;5f9u+3RUFWO7C1Y)Ca>mco` + sj5fN#9E(qY,dOCjC[b]Q)kC7m)so'p.>AIpKr:cC/#Z)54)U]mF]jQQ^'IPO8/)?J:Z>)h + 67F\G@8o<^r$W-2i0Y"BIZP[`s.V`,Ui?I,E0@IFA?^U-ffl.)#HegLWqKR:!!JR'])9Y)s + _l7dJiU>T6;"&Hc0-ruMc'<>d5(1tl)nOHL:^]qr9q<&V>q1/_E,J%W6XH@EW;B=7(&K=WW + 7)TmkjM3cb_N82'CRaSL.Y[7.aU8^>IT75/S + _7K=)^=`=ZLa>n=?gP_c->V^U3N`852K5]q@n8>On5l`&6q/\(3d7`?kg3WF)S"D&?dI?ug + $J&/8mgqn1,Q.mO?GB@pTrQp;QEaEQ7nnZH-^B\1Y1Co*tlMfF*i^kY+7c^ri"X/nr>29#/S2h7P2/>PP#mojCrVDkhN5h[8P + =$6GqI@Et%6jZ*17J@tH[%YN\*a?Yj@j:1PYmDZs,#;;)s6n\YQ:(]r?hT^qIIA+kNj/r\,NuU*HCAMC#" + t`VS,XgaY3RJh6J6.?!f[[_h8>7`l1ZI"Yq"LS6913HH*I7_mio/D>J3[iDNi%SI#ZCC.kh + >OqDuAe?.I]P9u8KFXl9g)$pXrq=VI_N*$@:4:=3mtHXV@_/VG>>bsKLBheE8c(Ns + m?h?.b2h-U4e\Q8>`Wjqd83;QSf,?8Lf7&?93e(=-GZXhkq>i%2O]UpS99]c7VnXMU_73HM + F^=!3d6%q.Eh$O7[!(\\^spG5D][ML#Jd!Zp0IhZZA,@'J'_(mS+("*&@2;!O'j*)3EEj[j + 5*'Yq7U^Zu]Aa-mS:dM,'trUBf2;Kt66Js4Ya9bA'dTf`p0XNmX:SJ!@ARHA'R;a)c.Gim6 + t;WdIZ[@l5>;AL+f-h]pE,7<%+hTeAE[gG\&m;hQo8leH(S(fCu)pi4[O\s&7;S]1K#-J=^ + t1(hKG,cqLo\20c$)Z&N48O;1*6*HI!W"MKaT^H>Y!@q$ARnH.;B\0ESCHZ1Qs+EUgc56N+F:mPD9$*ZC^>/oSB8; + kr@&:*mpI9f]`iICFZ`nbk:O.o1]]uab[4'V!%>P1d[8a[._gN5$rt5K`-c;Qh2ULPeKpuO + kRt8fs(j/qm,dalt;nE2$U@Lr]MG,Th!2(leD%D0rAQr\(Y?.1cN$-0+->qCi%hsD`BpY1B + 0o5k2%=ULAjj/f&PI\qMPE6@O:u"6j-ORZ7@mcfCr";7egkGFbC-I7%Z54H+gSppSd@mA-] + kpd-;X;Y)_M5,L#kq&YiH"ruMc'/WX]U(e%&[Z*SV7OP5eN\;!NG.3jdA9&:!"ndI3b.oq@ociSt#?=B83XRr]MG,4!()_,j1"JKlN%;BLpO>-+SML*KTDb7[QSd`gkWZl^nO< + pth8%KV_?QT:E*j2m8:s*]9_^\KSLirYj?<24"nB=@rN6&OEN?+e.XYh1,#$&VWe,1A=ap, + i_-jIX:@XLhV/7)!k]QdCG38e[0n".pTQ%lj&68#,Ti8P$IU5D=U#-kf!&)"?jC8??7"3\W + ugU&J;f';Tt/HC8=smCI?PQ!$783G0#IRlZ$bI):=L86i`9=0fro6MY4J;KT,-8,9h + Y.UmPF2)*'m!%[FtOM4$n?2&S-IQ1XMW&\oVhbc[%d(cnWC,=i/e6j3"8'XK;)NQdH\ps=! + Epq18P-a!/W`0aTR^ILZlO%:ueg.%l;$+Vr^gPC;@+p*!WMV0-t;QRpH+_3u**YAE8,/ro1 + ⋘kg(6$6+-23X*g'oTaG:PrEGYt!d>pdc!09Z*4(La:osco5N9J;,,(N1ZQlZ,pUc^9mg + (=3Po]$Mq^`ub$Nd`3N*g^qbLjgTFnV@J/&Lh<^^C_oUbIKN!^CgEh6j3"8'XOQO6qW`+CI + >Igkf4nlJ4HE&*AShXH<_CU7eG^Q&\oVhbRPMQ@Qgk'+X?jRL^;oN.;"?o8?j5fL6*#GGXM + ](L_R0_7\j.ICI?1!IQSeUGXRGB'p=\h0j6bj5JCO.3fhIp2A@;ZC0Kl6fL6^)7!)>;hhVU + \3O*7hk#Rc'm-$APj`*<4L?LRj+-23X*g'oTfk'6qjf:U_fuKn?R$Eu9\I&;-[3g8J'hPf4 + D1i/+-MrORbTUk`dP@PoQ',MQhdj24Wm?R,-oJ[\B6)EF,#H*#aY/ZFIc*6Knh`gVf^,oe# + a^^;P3hQ%`5KT=Fh<%s;+.H!#I\.WLkQZ)R6b(WsnCm/Kcl189qs@TT[[q4GbjDaHiqX3+@&"A`UXX"-d5+AgWdR[>Ol@0RL$>U8S + $[V(8(\JI5)iVS^eh-nd6_s#27HLf.8Wrct6a^naJHYgu>^*?f(plJe$u,U0QbQ@GLuQX7d + `phs_0L-4#'6*i'k,Eu2BBdr.8C1^>*s2rD)W`.%bY?3tmiD^:d?n+<)M&F7>:]T.8`PK + Z-qXXPQ0@+ij!iRW*=Zl9GoQf[es.G.?@"f:60e2,2)q6C)>B!B:'s"4]K9aZR[LM,[ZcTk + nliWRoH3;;h+GI4T'5g=-2P&Hai&5kmJNXJI5)iVS^eh\8p\grP'dY7V&u+rli?_HDJ"=ZS + [!]dc;/>Rf152ZK/1q:3f5OEd;1_pmc]BdC;\MRslec]<(fXQVCGp6*i'k,BR0g0Id(QW_T + JuGq.jX!SbNTVuGrB,MTrfQa#=EF%?!\HBj+C:k>Uu<-\6I2fIQ[s#27HLqHdBo6Dg,Xqld + ^*SYcdo5B&#I^h).hXe+O0Q]C\A[D#_N#.9/2_;#17CXG*&P:% + 185NEWRQ^7h5n,n.l_QnaE2%UX\6EX'>=+[e4m4j:83]gaI17(LEfmI+(r;ogiYU"_lp*2p + ?png/G5Y8U?a4EMe=)UN[P@-\`]NEkmSgjd)i8(fp'9PARru"@C1"HgXDrGoZ@&s/h;2XV] + Qf8rABbbKC:J'>@WHR[ZS/ICK)q8_0*\]Dp$^rYc,`9aG<\9:OT]-McloMM%)ui69d6B,I? + WMQOY!JQ:Y.`nc[N.FSbAH+2]Xr`TOh.(L0s0fQcsjg"E_s^-m/JjUS1a)*+0nP1OS*HWt" + ^P1qpEf="XjK2+NAF/mM>?YKNr@MH8b5*#N*!dd?<&q.pDY2IC)B>eiBll-ngX5t5en>nhO'_`UEL6E + ZTE'gApc$Q[C2Sp*B\eS'KUS1iTeg%7/\*R,lbM2^4inrXAk_oTp?@bm.Bkc9E\'!s9FWQF + B!B'qb0Zn@&)d)g2=)6qnN6l(YqA4/Y,e9P_1SITf.r'BY#R$SWT4L1d.1Cr$8X*$^-`=+M + B[jE5kBOCIL03u0-b4.b]'8)c=Wf=jC:_ZH3qK[B5,G5\d#Ka+LO1'_[L5bFH@I8;+ + ?o2>*hPpe9m[:k3O$+X[EO'K-i6@i)2ZeCmcd9nGNO&Jg7ZU"],L486AM0I_*R&pA[.XpkO[PdE&sbg:(J]Vc%6bbYE^\M"'c + -@n9SIWr%.FE@2#cK:I,>m`ASQ9Vo:?0bAg%A7Cq;#"M%9-G6SQ+,3aI`99Zd1DC]kBcgAG + \V;?j4qU)%mQCp+h>,KE;idSBO(toEVmcEfe!9pFNhtq+!5P`EeW)@OGE:*AguG"(Kfeo]V + KBF'=BFrck6[SkZ6[]088%!1*+ndQ(df).[#%S*&nYHfJT8L'g*.7Z2L?HV(`]"ripBi#A3 + ,-dhc8^%gge5;]k:Z#EEP>^1__n=+>>c!t5m*)#^$mEAa<8>*m)o<)qf#CH&acB=l^u!IB< + 7i`R=OL2J11+X'XlG?-4^SN:m%QSZhZEB0N#^SCEujMdEf*&Nuh<])pF74aWQ+OS-]7Vq%G + h,%pB9"TUf=hV?2YbFXMSQ]UC^>0nV[DE>e'+XoIqT_Y]#?&VZgB&]O1!@,f>e+ld_Lr4I> + ILV?^OF(T%0m:YY[b]`qn!\()CZ,dWJ>p(lj;qEmQPaVd%>d`WRgI-=tabLPI#1D[%1(NEn + O84?VmRmgDTPZr;>Dun%H&?X*+43hg\Et:[d/R]DZ"D.O.1H3L\bJT^qAjjUU5lm,'&t+$" + ?e8[j?,41JVPAgW9We^TAcfp_;pCW!StgOAb=2p?;_E\asdCYH.0_qd(45MsN%a3DlRe'iB + gW`=93O)8DY3JC@FIsd+?N(o]n>e&.u_kV,*]%-iH`f8B@7lRAt(?hg$i\C>USNF;`ZY$R. + ,UA&rQit67Z*9!.X_?S(q:2NI\RhEVjNa;X#qZeQ*qGV!&&,:63Xgo+'p$?bRi=oG8+k + "JI:18T!N`jC3IY[Qm*i8nGR;NG(drhkndL&Y"uRr]&9gMajSmc"X-XOPlPkNAIec30XX3c + m?'k`B%MFYP9_Tm5,Q:L)M1)`Ne^/NK0W8\4`G10HRf/<%2Pe##itMMc(uU.sdJ]?3Z*8RG + o(&_s)j+$Q4fk+kS4!WrP.e.<<.6sokF&i[0AZK3;VbX(=kMjI=A8QK_hES,"kGY=-1'M5e=]lU\)Tr$1gjJI-nGNMk]*`=_ + EtL0:eLX$)YuOOs$*kV_R,k2ekBh9=9=LpZn_<:9FBc6N@Pk6'EcQ3AT!U1ihRlmk=tu1,P + uCl4h3)lLecOpjlSF"hGT)0A_aSrlAtNq_H?#\o_B?Y4 + '+%NcnrtPKPVor"9SR6"`CGC5WiZW.IBPfK=G7Y^\4)"f$E!q_)dadopgiK!FY+\tdotC-K + (6h?IBRoMFH-[OO/[)I+[8[`Z\r0Vfs.P;(/mXm2)%H8->i25Ifo3a-4S^-.L4fkG>F)l + m$C47_8PHZCFWtLD+C*_FiK#GJre5NZMLUK2J<$q`?F"`D"KInH3Ro%qF9q+%6QS,+GqP:,#qf.)`MA02JCIqr;#sT(3j'!`&!f + cC_`58^eB`Tc7#^1ZLr=?`FGpo=)6_pT8E44FS[jY5+\6(HRt%;1,C_STU.uJ3f:,E0Cr,_ + NZAoe=?n5lSSV7CjAj`aa0Jl&VJV!,i3ePH/W?g%5Q:H<5(39t3HKq@^]!k13fqm>KJ4E8l + qEY@M9TlPgKB.:1UL.WX2PWeGh6mT;;LoL:="u@\KHZ2Y6J/@3 + \-;)[\mm[;]Ha_;%>R]ZfWg%LWYcX+BOSC_b]>nS$hDk\-jD4Z#![>9>5X?t*q)m'1a#fKi + rM]=U.mK'm!@7uq9N:_Y)%?'Wu>NLM2[HdZ(\QIUTCX_G6i&`u6UZ!%u+s+8OA]"(aJW'\W + j$E;Pr>@/IrFEYg[&d*5FR + UDSpXj)V(ZUKg;$f\BJ8?6*s?;)V*FjiYj!.@m!!b^KJ(*lu"I/HQWWeHe'W@D7V$VVL6Y1 + .'M/Wmo+T)r(+;\!"Vg]mKLrFVFq_^#(+4eJ[Vejt;Up;)Wa\a4*h.M4[,)akX2pol54X1Q + [4=7lG\R]9QMO3#e_%?Z,#W%g,c3'5^mk7Kul8C"(LO:21UNJ#9.mOoMc3" + [d7<#]Y%Oq"pJ`3QQ!*PtF7-Cb60CCjoI*li69ArcR.,LkCVZXhV3-'_E-cXD\l4#hg.tP# + \Dq)]FVEeJOY,(5>[8P[3iMMQ1-.*87qLRW#.Unf`"-Smpc_Ch#(FPQH;^E%L"A6K%'\2/I + 2Y)$"2*!ni3D.<0'4.=O'Ta:A?`\B!pfo=2S)YBbFX^PrMEhM1NPI>'TI=TW%Jb<>X:?1u%0VNliT< + <.0#7JV1&C.+F?";p*bKs[-r_M:p$/a8NeP9&@Cg4;,TqYsM!!k`7k(Z10+jilqKXf!C$uhi:2utP+#sg*,![O>iD$GD]>$_bKskPH&/9]VGQr2$(^**.o^J_YP*(Xh# + ;n&_JZ,T]?/0KPGKt:1oRQ')$-@uE>'^Xo^9Q)?![aXE($H)68@3eU6SbB]qhu[`:G\YV[% + 6TN/e,lmXo,ipBU4Dq#2]I;U?s@u*7$mkLj^[\,dI;&Fd(A[!Pf`p%f:s=fVbb?p=@j9@It + bj5JNc'TN*(sbbhS;c-Qq*hd928oL"uO(kOp>I&oo;f&Sl_eN^!030dH6d2I>3!aS)>jFuT + AcYGJL + 4D28=R0+Q87RiE_Rrb8_)+e9u(,JH().@ilIMK+]p7)/Fc@7;Ua]2@DPhMF8QbOH>6a!!#.a)3J2o/5^JpZa2T-g/M6Z8k + MuY;'EnEkDOMY=V^-?H"H'^XhEWTXncGep^Edf'Xt5=P@J>Xs1C;1*6qf3qtIdm?g0&]8A` + ,S,pjsNAnI3h:eX1VM.l?_5(&MMjD9:%N#i3hG%?i"'+)k14oJ:4oh?G_.4p!gH>,kFU$VF + M=_W`9/JG%X4<7sHq>.gj$h)lurd%XF7b37=N/s#I-)$]ZC,]^8A`?t4]Nb'idWAV4%Y4Ju + +sWB)98eT'bOToHe0X^dV8Gbp>J;6!.j2IMW#O@&eGPJ2:.A,*kE(Y(?G5'%Yu!\PobnEk@ + =#TPiLQ87e;A>c+UolHrL]B.6diCigX2+0BihmbpW^nuL>Dd0<:d.scSDeECc'6>*mF[P+C + .IF]ePg0K_1s]%:R]a/5hY$5,"EPot$ENj7AE@SdEE3).4.(b/b*M/(.Z!3u!J*+-TOgk4# + CiRU>hNPS*IWG)Lkik:S7FE<'N>MN$?$[aTH_=2&#)!IqY5JT?TEPrA + qR#V8jDL:SFO7L"E@P5m7Ze:?5]Ssh:F-`*l>Zf77uE8l)uDojfEXMJRJ?"l\nircNN];g?pE+.^'=s0@B$QCS>LJh[DgOXq3.k6Eph:`M\)T:HJq!\8a + + IJA45nQP2H(h?f.(*aYk>S;LRH8598fBS`,J+h-MeEQ^+sS?U(jQ@FM\I&&*JNM2KT$nnG$ + ILShqh$!'T*tN1iR(kR5OWYh=BL?PX0q.-"W`A&63\NapFC + c.DK+^flfr^7!83Jt)JRUaYB2pVRM<[._Kp]k`n>$YM*pFOT@Bd"0=+?[)eRd'!c6[2lf%A + ieR'aD@@C6`+&3go+o>ntq#.kgW+m@Y5^&sE87AD^lP#TT`8P'#@<=XjH*k]'=VI2]e^`Cf + #JN'KU6M(H5N0#0A@2__>Xk#2MeLo@:S]8C9V9Ru2-I4q$?++LOM5:;)]0HdNL?%G\sti`` + 9&k&p:I+bVb\,Unqe%GBc!m^"=*AcCEW.=c,TLT#cfF@,6nK9ISc97DO6(OUh3- + [h!F6#k1/^l(!ZV;G+Q748TG^DY]^OAoU*&Kdk3eq\i4T++QP1-Rg4]?VjN.H9h'm=j`q.FY?Y?Za(;( + ;lLi"h,OeT!i#5/Q`L?,S?PKuj_$8HeC,F*MXDcYDC+iWJ-3n+XWq,lWIZnpY8)ho)E"/V( + WQB#32fkJ;@qmdQp7Zml^[O+COaU`7MgLJtIH,NG4:Zo.80?g&.l_A*bQ!e!V%Y)$Z[2Pqc + 6<59r2S@:7ZPcSc[Y5>Rh_9sni-WT,KosR[KVU6-!=TH\d;06?^XjqAQr5!LH4J2oD7<>dnY + <#DJ]QV:=hJ]G[.Y[Q + V1=LQ.O/<]k&5K^`1c\>>5K0;"bDU\-mM=*)?0sp%)a(bJ;_=daROOskRp.DR#]/0iQ=\`p + Q:lX,EEj-XL45m:_lMiOCV%DN3!C(Satil0Ch&ZS#6Gj"*#t4R3,/r)C11(pq1907b78TS+ + N%RQIs`^Vn3#G5bMs^p9p+E^bNr*HEgU4eIbHgNm=,DOPYa9XII7Ze9M,fg6F-amR + He>`AK?/*u5qZ(sde!eRQT;l85*dr(dV*'+u]+#];nF1ZJ/T"7J@'WG^N0^n-WDuEt$bR]b + e]a0-UW5SIgU:r^GO8SOh49S\U;`aGF$F0dfU?64G4b=p@_^d6]shQG&*?%HO:_KZ?qWuco + ^Ros#\>?H@ZmA@$e(u4V?Qh_ea%MSWr2MQ0` + *`Vk9_qg:l-3S<=KC&XiG>(tb)fJWQZ]!>W([h"'s_cCOKA5iV20psGiSO:_J-7CnH1\`AG + W+cD9bJ#05!?f')_[op$a>IVUQePoXg+aC#Amr?f,LaH*nb>!7ZlX) + **,VTM$(C?5"ik@9Q1SL.A9\F_'Rfln!:rRIBKT,#1TW.Z-ehkb+N=c.Q7hKQkROHA-;mhfTHgO#IE(?bZH*!+*qO( + P.S=FIBmXuS'd[W#?.X;#2=ld%H[P'OouX'k/kUV(E@SE0YVJrlIZ45!C7J,g6%sCbgA- + =Xhb^c5r^?k@#FmEWsCtO8)&R)&-WkYdu<`l%<@6&P7L_d`$b!I$T1GM7KMu[p.91HG/l]* + %2W*d:\1D9`>?['lfZ"'1a)50$cAP3R1akQ]4jpaYi9[&S@,J]hBq\`oI!/Ws1+U# + r!C.ij&]b4X'%)>j@%J8:%#n,]]/#&25Xp8a0oCo,,!e\K3PheBgb`We@.k%e.4Ln9=3(XI + [=VQQG_o$m>eH6j@>b@.!Pgmd234(R.Z2uiJ"f;cFqin#7K@B1baQRF7ujBBQ)Ap!8(fp>A + -;o0@+IGXU<8LWO&ocKdd6<(*BSRGL6)uIC'Cs+EDpOad'@3pb]6D$qt(UY!^NmOU&18$,f + g6F-]eq]#QPLbO,RJt49,eIIUpA#&nD-4'19is;7a\57Y!KR`2n6G&HMH^+_JuOMu]M`1n6 + Faek_\hMKX:9ajs.'?Uf]Ql7bLnJ2u"rei\, + ;*U+1CP^OD]DQ1MV)$/kf_ccT4M?>pSQT(KG1'2uDd;[Z!X&YEcXWG[/>=>2?HhP(Me,Wk^ + 1n6Fael,sD]240u2OnAjc1CFLKTq?A,Jl$TQlmWhS7pRRbUANl+X7!>7me.k@FP]r"99057 + n1uMFpAlc5W/0fVT+bM()\;^7Y!KRauhP9ckFJ+0IK>P&ORhb#V[WnmYZ4u>)*/F7KD@tl) + q+b,tk*D+!(D"!Pf:$h3B\5`D'hI%7*G`W"i!M`CgLD+&QnCg9hR7#QP?dl)qO1h7?`'^ke + A$'/BX5%&UYr*=bfF!'#lX\t?N,JrB\N!Z?QJ!$DmPa9\ZT!l1Jm7n-`+5t6Abd=[CVguD\ + N_a-bB3RRYi)TW0aq?JbW)$)uH3ZjelARftUE-0sYP;uE&g"O^<_2*nDqjgE*.qK^4#8mR) + 7-?r/fYe_8-Tig=2IjaoWg^E;4"_aY1D`2t%l+41M9^n=fc"0E4K,m()k40d1*ZVJ4idm_- + TW?<=6o?:G1imSfU=qG_9B#.4(J"-,J]i5HtZig_s>rd[Seo&k#cf'Xi[mhbZpP%O55GI!- + =n+Tm=$UY@Eoe-(u\mUu*fPq/bq;JC/ba9XIIXs>79\/= + )g=0A:?AcCQKg=j7Aug,J\u*D$4]#!([5J!Z;#(,*3DX#QPKgN'Ki4OGHbE7.rP] + "pam7(5<=d"W7>+$KdS8]Y$ZhB9$PhB?V2k=L]&#!e=t..3l`c#8@k'AsR.^SNRrJ!e:RC] + [GJq(HC0[lLk&rAl$b82fJ+rI_C4/b>t_dK8]dQ)I"uVp^*n/Z$B + !$OrCbnEPkuaTad_>Yn^:qo73KhC`;/#G>A-;lU8drsc:duoaMFgAf-Lp_ + ESs&XNZVn`_4!p)Eo]bDZIT:(N*Fo9Q+g04NQ(f(P2jdVX2CUBU%Pe*9&/UE?B&H?\d`7fC + ">U&&M;a3Ol#8=!A-A8>(PkQQP9;*cS@ECJ4*X")Ssc_!*$l"6h;^c) + )IY.9TtY1$%8pRCgK6F#QR1r?t`kHbsW;c`@EAZ[\t$A"+Y-r^sK`oRLZUigHX)Z6T]HH)T + W0aWo4j`o8Xe^UFK(2k)Zh@0+?)-5W)eSBHF.+O,m@NiR7)Z"W][N1[9ObGlXdt$Ok8f%1Q + LL/:q#bM0Y`-T",PG> + *7?=OtA2k!."9?iJ&TK7YF-@+>9ji5Xk_bN=%ER) + >Q2^:&kO*eRUWJA-;n[kd1/SqSQ_a,63NhT/'m&";q7&`2\b%a0!E]RD+XTnMc7Y!L=a_4)C_0qCW?qss7\uRmd;l/=.50+!`-a#2['pF + q7RDO&*d:uVjA-A85f9ku`;I&!6P!3Iq1'2up\AiVl#mh\rmFqQn[1_W&[Y,n@2#\BKDQc9^mqoL031dOpH_9!3H8%:d3M"IJ2tGf=-+!o + ,_B\41'2to+/(<4W!3 + !qh!se&XR@0I7Qb[>Y!AYdcOc2jY/MAd/g9CXV#DM'3V58;)dr!S9,X;PZ1QjK7U_OUZ>!! + K"oq;1/Sb@.-V,2OQO8p/[bXf`!P?te?7;KpFTH83le#ehZI&bJa!"pCVOr;B/AC?r+DeeZ + Az!+8:q&%:hu:&~> +Q +Q Q +showpage +%%Trailer +%%EOF diff --git a/uml_control.pdf b/uml_control.pdf new file mode 100644 index 0000000000000000000000000000000000000000..77e74b40c36e94014307ffb6794f25347c9d121b GIT binary patch literal 93059 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

6W{chpL7m=|NlWB$=(YI^?vHTTtF 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 + + + + + + + + + diff --git a/workspace/.catkin_tools/VERSION b/workspace/.catkin_tools/VERSION index b300caa..c8a5397 100644 --- a/workspace/.catkin_tools/VERSION +++ b/workspace/.catkin_tools/VERSION @@ -1 +1 @@ -0.4.4 \ No newline at end of file +0.4.5 \ No newline at end of file diff --git a/workspace/.catkin_tools/profiles/default/config.yaml b/workspace/.catkin_tools/profiles/default/config.yaml new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/workspace/.catkin_tools/profiles/default/config.yaml @@ -0,0 +1 @@ +{} diff --git a/workspace/.catkin_tools/profiles/default/devel_collisions.txt b/workspace/.catkin_tools/profiles/default/devel_collisions.txt index e69de29..881f52a 100644 --- a/workspace/.catkin_tools/profiles/default/devel_collisions.txt +++ b/workspace/.catkin_tools/profiles/default/devel_collisions.txt @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock 88 diff --git a/workspace/.catkin_tools/profiles/default/packages/bebop_description/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/bebop_description/devel_manifest.txt index 14b22f9..5f26921 100644 --- a/workspace/.catkin_tools/profiles/default/packages/bebop_description/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/bebop_description/devel_manifest.txt @@ -1,4 +1,5 @@ bebop_autonomy/bebop_description +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/lib/pkgconfig/bebop_description.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/pkgconfig/bebop_description.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/share/bebop_description/cmake/bebop_descriptionConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/bebop_description/cmake/bebop_descriptionConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/share/bebop_description/cmake/bebop_descriptionConfig.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/bebop_description/cmake/bebop_descriptionConfig.cmake diff --git a/workspace/.catkin_tools/profiles/default/packages/bebop_driver/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/bebop_driver/devel_manifest.txt index 8a5ef49..9a7cf00 100644 --- a/workspace/.catkin_tools/profiles/default/packages/bebop_driver/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/bebop_driver/devel_manifest.txt @@ -1,4 +1,5 @@ bebop_autonomy/bebop_driver +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/lib/libbebop.so /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/libbebop.so /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/lib/libbebop_driver_nodelet.so /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/libbebop_driver_nodelet.so /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/lib/bebop_driver/bebop_driver_node /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/bebop_driver/bebop_driver_node diff --git a/workspace/.catkin_tools/profiles/default/packages/bebop_msgs/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/bebop_msgs/devel_manifest.txt index 5beb1ef..0c01a49 100644 --- a/workspace/.catkin_tools/profiles/default/packages/bebop_msgs/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/bebop_msgs/devel_manifest.txt @@ -1,4 +1,5 @@ bebop_autonomy/bebop_msgs +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/lib/python2.7/dist-packages/bebop_msgs/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/bebop_msgs/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/lib/python2.7/dist-packages/bebop_msgs/msg/_Ardrone3CameraStateOrientationV2.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/bebop_msgs/msg/_Ardrone3CameraStateOrientationV2.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/lib/python2.7/dist-packages/bebop_msgs/msg/_Ardrone3PilotingStateAltitudeChanged.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/bebop_msgs/msg/_Ardrone3PilotingStateAltitudeChanged.py diff --git a/workspace/.catkin_tools/profiles/default/packages/bebop_tools/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/bebop_tools/devel_manifest.txt index 8f7632c..0725d9e 100644 --- a/workspace/.catkin_tools/profiles/default/packages/bebop_tools/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/bebop_tools/devel_manifest.txt @@ -1,4 +1,5 @@ bebop_autonomy/bebop_tools +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/lib/pkgconfig/bebop_tools.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/pkgconfig/bebop_tools.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/share/bebop_tools/cmake/bebop_toolsConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/bebop_tools/cmake/bebop_toolsConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/share/bebop_tools/cmake/bebop_toolsConfig.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/bebop_tools/cmake/bebop_toolsConfig.cmake diff --git a/workspace/.catkin_tools/profiles/default/packages/demo_teleop/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/demo_teleop/devel_manifest.txt index b815cd9..1ed47f3 100644 --- a/workspace/.catkin_tools/profiles/default/packages/demo_teleop/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/demo_teleop/devel_manifest.txt @@ -1,4 +1,5 @@ demo-teleop +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages/demo_teleop/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/demo_teleop/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages/demo_teleop/cfg/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/demo_teleop/cfg/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages/demo_teleop/cfg/SafeDroneTeleopConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/demo_teleop/cfg/SafeDroneTeleopConfig.py diff --git a/workspace/.catkin_tools/profiles/default/packages/detect_targets/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/detect_targets/devel_manifest.txt index 20320ff..b02503e 100644 --- a/workspace/.catkin_tools/profiles/default/packages/detect_targets/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/detect_targets/devel_manifest.txt @@ -1,24 +1,55 @@ detect_targets +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/msg/_control.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/msg/_control.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/msg/_component_centers.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/msg/_component_centers.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/msg/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/msg/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/msg/_component_center.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/msg/_component_center.py +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/__init__.py +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/TriangleParamConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/TriangleParamConfig.py +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DetectTargetsConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/detect_targets/cfg/DetectTargetsConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/pkgconfig/detect_targets.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/pkgconfig/detect_targets.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/DetectTargetsConfig.h +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/ProportionalNodeConfig.h +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/InputNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/component_centers.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/component_centers.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/control.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/control.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/TriangleParamConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/TriangleParamConfig.h +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/DerivativeNodeConfig.h +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/IntegralNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/component_center.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/component_center.h +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/PIDNodeConfig.h +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/include/detect_targets/SaturateNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DetectTargetsConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/DetectTargetsConfig-usage.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/PIDNodeConfig.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/SaturateNodeConfig-usage.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/PIDNodeConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/PIDNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/TriangleParamConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DetectTargetsConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/DetectTargetsConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/InputNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/TriangleParamConfig.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/InputNodeConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DetectTargetsConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/DetectTargetsConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/TriangleParamConfig-usage.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/IntegralNodeConfig-usage.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig-usage.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/InputNodeConfig-usage.dox +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.dox /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/cmake/detect_targets-msg-extras.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/cmake/detect_targets-msg-extras.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/cmake/detect_targets-msg-paths.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/cmake/detect_targets-msg-paths.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/cmake/detect_targetsConfig.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/detect_targets/cmake/detect_targetsConfig.cmake diff --git a/workspace/.catkin_tools/profiles/default/packages/drone_demo/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/drone_demo/devel_manifest.txt index 8acdfda..a0b6835 100644 --- a/workspace/.catkin_tools/profiles/default/packages/drone_demo/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/drone_demo/devel_manifest.txt @@ -1,4 +1,5 @@ drone_demo +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo/lib/python2.7/dist-packages/drone_demo/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/drone_demo/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo/lib/python2.7/dist-packages/drone_demo/msg/_control.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/drone_demo/msg/_control.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo/lib/python2.7/dist-packages/drone_demo/msg/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/drone_demo/msg/__init__.py diff --git a/workspace/.catkin_tools/profiles/default/packages/joy_teleop/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/joy_teleop/devel_manifest.txt index d8ce77e..6e7bc8f 100644 --- a/workspace/.catkin_tools/profiles/default/packages/joy_teleop/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/joy_teleop/devel_manifest.txt @@ -1,4 +1,5 @@ teleop_tools/joy_teleop +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/lib/pkgconfig/joy_teleop.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/pkgconfig/joy_teleop.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/share/joy_teleop/cmake/joy_teleopConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/joy_teleop/cmake/joy_teleopConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/share/joy_teleop/cmake/joy_teleopConfig.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/joy_teleop/cmake/joy_teleopConfig.cmake diff --git a/workspace/.catkin_tools/profiles/default/packages/key_teleop/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/key_teleop/devel_manifest.txt index 9a66dc4..683e21b 100644 --- a/workspace/.catkin_tools/profiles/default/packages/key_teleop/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/key_teleop/devel_manifest.txt @@ -1,4 +1,5 @@ teleop_tools/key_teleop +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/lib/pkgconfig/key_teleop.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/pkgconfig/key_teleop.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/share/key_teleop/cmake/key_teleopConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/key_teleop/cmake/key_teleopConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/share/key_teleop/cmake/key_teleopConfig.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/key_teleop/cmake/key_teleopConfig.cmake diff --git a/workspace/.catkin_tools/profiles/default/packages/mouse_teleop/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/mouse_teleop/devel_manifest.txt index 9934c6a..792f348 100644 --- a/workspace/.catkin_tools/profiles/default/packages/mouse_teleop/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/mouse_teleop/devel_manifest.txt @@ -1,4 +1,5 @@ teleop_tools/mouse_teleop +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/lib/pkgconfig/mouse_teleop.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/pkgconfig/mouse_teleop.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/share/mouse_teleop/cmake/mouse_teleopConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/mouse_teleop/cmake/mouse_teleopConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/share/mouse_teleop/cmake/mouse_teleopConfig.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/mouse_teleop/cmake/mouse_teleopConfig.cmake diff --git a/workspace/.catkin_tools/profiles/default/packages/rcontrol/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/rcontrol/devel_manifest.txt new file mode 100644 index 0000000..173f04d --- /dev/null +++ b/workspace/.catkin_tools/profiles/default/packages/rcontrol/devel_manifest.txt @@ -0,0 +1,5 @@ +rcontrol +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/lib/pkgconfig/rcontrol.pc /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/pkgconfig/rcontrol.pc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/rcontrol/cmake/rcontrolConfig.cmake +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig-version.cmake /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/share/rcontrol/cmake/rcontrolConfig-version.cmake diff --git a/workspace/.catkin_tools/profiles/default/packages/rcontrol/package.xml b/workspace/.catkin_tools/profiles/default/packages/rcontrol/package.xml new file mode 100644 index 0000000..1a44bb9 --- /dev/null +++ b/workspace/.catkin_tools/profiles/default/packages/rcontrol/package.xml @@ -0,0 +1,63 @@ + + + rcontrol + 0.0.0 + The rcontrol package + + + + + klafyvel + + + + + + GPLv3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + rospy + std_msgs + rospy + std_msgs + rospy + std_msgs + + + + + + diff --git a/workspace/.catkin_tools/profiles/default/packages/vqimg/devel_manifest.txt b/workspace/.catkin_tools/profiles/default/packages/vqimg/devel_manifest.txt index f16b4db..ae266dd 100644 --- a/workspace/.catkin_tools/profiles/default/packages/vqimg/devel_manifest.txt +++ b/workspace/.catkin_tools/profiles/default/packages/vqimg/devel_manifest.txt @@ -1,4 +1,5 @@ vqimg +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/./cmake.lock /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/vqimg/hue_filter_node /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/vqimg/hue_filter_node /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/vqimg/gngt_node /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/vqimg/gngt_node /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg/__init__.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib/python2.7/dist-packages/vqimg/__init__.py diff --git a/workspace/build/bebop_description/CMakeCache.txt b/workspace/build/bebop_description/CMakeCache.txt index 3834d59..23ac328 100644 --- a/workspace/build/bebop_description/CMakeCache.txt +++ b/workspace/build/bebop_description/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/bebop_description/CMakeFiles/Makefile.cmake b/workspace/build/bebop_description/CMakeFiles/Makefile.cmake index 09a48fd..87c644f 100644 --- a/workspace/build/bebop_description/CMakeFiles/Makefile.cmake +++ b/workspace/build/bebop_description/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/installspace/_setup_util.py" "catkin_generated/package.cmake" @@ -56,6 +54,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -73,95 +74,28 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/roslaunch/cmake/roslaunch-extras.cmake" "/opt/ros/melodic/share/roslaunch/cmake/roslaunchConfig-version.cmake" "/opt/ros/melodic/share/roslaunch/cmake/roslaunchConfig.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -181,18 +115,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/bebop_description/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/bebop_description/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" diff --git a/workspace/build/bebop_description/CTestConfiguration.ini b/workspace/build/bebop_description/CTestConfiguration.ini new file mode 100644 index 0000000..58185bf --- /dev/null +++ b/workspace/build/bebop_description/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_description +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_description" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/bebop_description/CTestCustom.cmake b/workspace/build/bebop_description/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/bebop_description/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/bebop_description/atomic_configure/.rosinstall b/workspace/build/bebop_description/atomic_configure/.rosinstall new file mode 100644 index 0000000..58524ab --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/setup.sh diff --git a/workspace/build/bebop_description/atomic_configure/_setup_util.py b/workspace/build/bebop_description/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/bebop_description/atomic_configure/env.sh b/workspace/build/bebop_description/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/bebop_description/atomic_configure/local_setup.bash b/workspace/build/bebop_description/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_description/atomic_configure/local_setup.sh b/workspace/build/bebop_description/atomic_configure/local_setup.sh new file mode 100644 index 0000000..eb003ca --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_description/atomic_configure/local_setup.zsh b/workspace/build/bebop_description/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_description/atomic_configure/setup.bash b/workspace/build/bebop_description/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/bebop_description/atomic_configure/setup.sh b/workspace/build/bebop_description/atomic_configure/setup.sh new file mode 100644 index 0000000..63fab31 --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/bebop_description/atomic_configure/setup.zsh b/workspace/build/bebop_description/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/bebop_description/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/bebop_description/catkin/catkin_generated/version/package.cmake b/workspace/build/bebop_description/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/bebop_description/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/bebop_description/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/bebop_description/catkin_generated/installspace/_setup_util.py b/workspace/build/bebop_description/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_description/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/bebop_description/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_description/catkin_generated/installspace/bebop_descriptionConfig.cmake b/workspace/build/bebop_description/catkin_generated/installspace/bebop_descriptionConfig.cmake index fe5d707..ec8afdd 100644 --- a/workspace/build/bebop_description/catkin_generated/installspace/bebop_descriptionConfig.cmake +++ b/workspace/build/bebop_description/catkin_generated/installspace/bebop_descriptionConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_description_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_description_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_description_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/bebop_description/catkin_generated/installspace/local_setup.bash b/workspace/build/bebop_description/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_description/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_description/catkin_generated/installspace/local_setup.sh b/workspace/build/bebop_description/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/bebop_description/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_description/catkin_generated/installspace/local_setup.zsh b/workspace/build/bebop_description/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_description/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_description/catkin_generated/installspace/setup.sh b/workspace/build/bebop_description/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/bebop_description/catkin_generated/installspace/setup.sh +++ b/workspace/build/bebop_description/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/bebop_description/catkin_generated/setup_cached.sh b/workspace/build/bebop_description/catkin_generated/setup_cached.sh index 905b488..a1b84ff 100755 --- a/workspace/build/bebop_description/catkin_generated/setup_cached.sh +++ b/workspace/build/bebop_description/catkin_generated/setup_cached.sh @@ -8,6 +8,8 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_description:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/bebop_description/catkin_generated/stamps/bebop_description/_setup_util.py.stamp b/workspace/build/bebop_description/catkin_generated/stamps/bebop_description/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_description/catkin_generated/stamps/bebop_description/_setup_util.py.stamp +++ b/workspace/build/bebop_description/catkin_generated/stamps/bebop_description/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_description/cmake_install.cmake b/workspace/build/bebop_description/cmake_install.cmake index c7d85a3..548e985 100644 --- a/workspace/build/bebop_description/cmake_install.cmake +++ b/workspace/build/bebop_description/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_description/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/bebop_driver/CMakeCache.txt b/workspace/build/bebop_driver/CMakeCache.txt index f7eacb8..698cf72 100644 --- a/workspace/build/bebop_driver/CMakeCache.txt +++ b/workspace/build/bebop_driver/CMakeCache.txt @@ -260,6 +260,9 @@ RUN_HARDWARE_TESTS:BOOL=OFF //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/bebop_driver/CMakeFiles/CMakeRuleHashes.txt b/workspace/build/bebop_driver/CMakeFiles/CMakeRuleHashes.txt index a30ad51..9837da2 100644 --- a/workspace/build/bebop_driver/CMakeFiles/CMakeRuleHashes.txt +++ b/workspace/build/bebop_driver/CMakeFiles/CMakeRuleHashes.txt @@ -1,4 +1,4 @@ # Hashes of file build rules. -8a45a11f53bf58f7c2f6ebaa0432a5e1 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/include/bebop_driver/BebopArdrone3Config.h +2d3a84cb59cc7c7d04939265157d17e1 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/include/bebop_driver/BebopArdrone3Config.h 172afb579b1887f95deb892bdbf292d7 CMakeFiles/bebop_driver_gencfg d2096ff1ad2fa84cf9408e448e8ea5a6 CMakeFiles/clean_test_results diff --git a/workspace/build/bebop_driver/CMakeFiles/Makefile.cmake b/workspace/build/bebop_driver/CMakeFiles/Makefile.cmake index 35b7d6a..8df72db 100644 --- a/workspace/build/bebop_driver/CMakeFiles/Makefile.cmake +++ b/workspace/build/bebop_driver/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/installspace/_setup_util.py" "catkin_generated/ordered_paths.cmake" @@ -76,6 +74,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -95,6 +96,7 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/class_loader/cmake/class_loaderConfig.cmake" "/opt/ros/melodic/share/cpp_common/cmake/cpp_commonConfig-version.cmake" "/opt/ros/melodic/share/cpp_common/cmake/cpp_commonConfig.cmake" + "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../cmake/setup_custom_pythonpath.sh.in" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-extras.cmake" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-macros.cmake" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-msg-extras.cmake" @@ -189,87 +191,22 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/xmlrpcpp/cmake/xmlrpcpp-extras.cmake" "/opt/ros/melodic/share/xmlrpcpp/cmake/xmlrpcppConfig-version.cmake" "/opt/ros/melodic/share/xmlrpcpp/cmake/xmlrpcppConfig.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" @@ -277,8 +214,6 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -298,22 +233,31 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/bebop_driver/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/bebop_driver/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" "catkin_generated/stamps/bebop_driver/interrogate_setup_dot_py.py.stamp" + "setup_custom_pythonpath.sh" "catkin_generated/stamps/bebop_driver/package.xml.stamp" "catkin_generated/pkg.develspace.context.pc.py" "catkin_generated/stamps/bebop_driver/pkg.pc.em.stamp" diff --git a/workspace/build/bebop_driver/CMakeFiles/bebop.dir/CXX.includecache b/workspace/build/bebop_driver/CMakeFiles/bebop.dir/CXX.includecache index e9b006b..90acc12 100644 --- a/workspace/build/bebop_driver/CMakeFiles/bebop.dir/CXX.includecache +++ b/workspace/build/bebop_driver/CMakeFiles/bebop.dir/CXX.includecache @@ -2617,8 +2617,6 @@ boost/type_traits/remove_reference.hpp - /opt/ros/melodic/include/ros/platform.h -windows.h -- stdlib.h - string diff --git a/workspace/build/bebop_driver/CMakeFiles/bebop.dir/DependInfo.cmake b/workspace/build/bebop_driver/CMakeFiles/bebop.dir/DependInfo.cmake index 7a0f2d7..079fd70 100644 --- a/workspace/build/bebop_driver/CMakeFiles/bebop.dir/DependInfo.cmake +++ b/workspace/build/bebop_driver/CMakeFiles/bebop.dir/DependInfo.cmake @@ -12,6 +12,7 @@ set(CMAKE_CXX_COMPILER_ID "GNU") # Preprocessor definitions for this target. set(CMAKE_TARGET_DEFINITIONS_CXX "ROSCONSOLE_BACKEND_LOG4CXX" + "ROS_BUILD_SHARED_LIBS=1" "ROS_PACKAGE_NAME=\"bebop_driver\"" ) diff --git a/workspace/build/bebop_driver/CMakeFiles/bebop.dir/flags.make b/workspace/build/bebop_driver/CMakeFiles/bebop.dir/flags.make index aa6a0dc..1776bd6 100644 --- a/workspace/build/bebop_driver/CMakeFiles/bebop.dir/flags.make +++ b/workspace/build/bebop_driver/CMakeFiles/bebop.dir/flags.make @@ -4,7 +4,7 @@ # compile CXX with /usr/bin/c++ CXX_FLAGS = -fPIC -CXX_DEFINES = -DROSCONSOLE_BACKEND_LOG4CXX -DROS_PACKAGE_NAME=\"bebop_driver\" -Dbebop_EXPORTS +CXX_DEFINES = -DROSCONSOLE_BACKEND_LOG4CXX -DROS_BUILD_SHARED_LIBS=1 -DROS_PACKAGE_NAME=\"bebop_driver\" -Dbebop_EXPORTS CXX_INCLUDES = -I/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/include -I/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/include -I/opt/ros/melodic/include -I/opt/ros/melodic/share/xmlrpcpp/cmake/../../../include/xmlrpcpp -I/opt/ros/melodic/share/orocos_kdl/cmake/../../../include -I/usr/include/eigen3 -I/opt/ros/melodic/include/parrot_arsdk -I/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/include -I/usr/include/x86_64-linux-gnu diff --git a/workspace/build/bebop_driver/CMakeFiles/bebop.dir/src/bebop.cpp.o b/workspace/build/bebop_driver/CMakeFiles/bebop.dir/src/bebop.cpp.o index 3db6e61b2ec1a866d6d47a5957eac5921527b590..416165a787155f8bda7db8034d13c0b8700348d1 100644 GIT binary patch delta 291571 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%0Drw30X|h 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 delta 293670 zcma%k3tW`d_BPB+r9=g4VmQ@cR*IB($qP<~hNcKIAaWT-12j{_JDJj`s9;89K;|+W z3$GbbUQ)NwWTVlIsK7jCG!>YY5tW*!JVf<9Ywykf>wiA{^!$GBS(j&Bp1t;d-?>0| z=(Dd(7n{E_756bL`Eg}vL8xy*sNq1U@wyvsz0DFHVVOJ6GGk%JoQM2wvkZu^Je)l* zGb3Ah#E=_|4_$S+D9W%KyNf;Dj5DsjlF+WAPfz3hR}|V^t`5`UN%Y<{4UGr+xc=c7vC*1K6Tj{ zsuR3+sqw+f_7>kQGyZ)=1-prhtBq?eTabHq6~$|fy)Ii-?0w4E^@_%Qqd57D@wqGN z9Ynu;YV@aT*BiT%?bEw^h{GF=OD~%#hHN$-zHAh)?MBgQtMRof3hgfHb{cnFQD`@@ z_GRPam!H`6dyOkD8^tuciSmQSMOW0jyXf~uv{gT%z&ja#p1SwZ6JHscSMttx)@H9d7jJKtRtcQ$pp!aaTU2Gj7%_x`S% zDf+Te>eP)5HqE@E(5}LBtLeqdhKd=tn?f!-NU^4`Y0qV&)Y%+&w`t}TPUqdhrsT^q z~@byNN@qOxc%xPr_Vp6vK*43$JKScs7=p{=A~|*G<%Iyy8>+>SoiSDpEQ5U2t{9)eYB;xVq!wdOdL6gew?VPh4hPH{-fRB)@fQeU`ze zKZS-`?lz?NCwr)6u^}Lwj)hvL8p`|AzNSk*F;q4T_D^Hzl(eJCJ{0T#y@)BNQTHL{#Jz}lXD0cLL`?Y{ zS~U_ewR5OO+6!s)eX!qINQL(?{wNtDVZZ+VUQLuMEOZ%d@ zW*LQ!f&FnAEgZv}^a34|_6rm|mhtUWIu`h`?bN`wrGgS3fPG&Dl|2C4^D1>22fO7} zvX8SYCR?z=j?^AFL+qG001H1D_)FAD8N{EH+e~ijv89zZ?Cc?h@GqO*FUH1hYWBZ3M zC^!ywWFwWv!Jgen4QzX^qXZl5Q`b?MjaS@-TG@W53yqEkULHhM@vuJ%B0~b(X39-~ zU2mqNY&V8b#3W4FM811{d=G_=Txs&1B zMx&D9JHfv6Arz4WUm^LXaJ?k>Y$K?ZeRJsu`;wC3^V~;O$;|scGNdrCD9TNN{jVrG z%64QlMWiBUI{Bt?omAvR#!)N#7SIv)CE4N2OQb40@?J_LLmKk(QYkkL_O?_ynud9# zPo-WC*iTKREC=xPX>^M1l4%q=h5OE=ty5rsGLxFw_ROKosj$DBLlslmUP!$jg#GV@ zl=UFzFQHRxZ&*U1>9Bp4)7Es@_bsPpwi{PdW(Mq_e5%NRo%aOw%7p#e6O@(7@lVq! zw(owLLZ`94p0-Yd-G4nbvu$~fGN;2H`y5qFXZv~T^$_fo=PBzU*q&{4itRtPQRocV zc`wn{8L;=iM9pklc2nlVoWGkY9%g$#^_t1{e#)8&JK%LX#dhfH6grFZ-=wXxIR8y* zX4~>MWoE&i@HSOsvHd>vnhiVoeae~*+w&2fV*C4#C^VbxW3)9JcFQqpmiA|qIS2Nc z&!}P!@I7AYH5c|LUdoyaJFru#0Ewt)U z^lh}zKG?oKbYul$?^uGot`w37ea#Z&S$fgdCBP$TFZ;SLwL}{x-A0*9`6cN#DqV_N z^Lx{INZ-{IxDqila*tmhV`%cPqqJCr_I?8fVAL_M?`}U!PWvD%$7UU!L-DSvIP4%qbv7CGNrP0d~ ze>Rl1F1M^R82iz{709#nqs$dtFN}_|oD@dA^0;0YCFH^0a~JJn`SxAZWhMNLchTsT zur2**E6YLs$*>CkNWAo}f}I{tr7RbP(|Pvem9^Ju*yRIg70cHK(5cn%dj?RKeAsmZ zX(7vR2GX&7_w#5x}zU!Q01EWe8?3b@|g!f%abh@ZjT zpGFs3#;$0bV3MKF>V&8gm9QjS73!q@N80@{D!$$StM=z<{|!3+u2NN}So^Qn{u$a| zuKZnnuGN4`1AAg9xWsaIuqReEx=Q0+o>2wsVnt?&<*?DvI7sw*)^dxl!4poSH(&5w8i$I6jh3r@4VK|#e~tkw9ea)et1y&FU?ll%Vqg@l z+Qh&pv2T+E?x!jj17m66W(LNJ%*_%QM_JD^Fo8}z&%gxHof2N;tm$IaixQYYg}VSW&LqQ206eqAz?T^CnN1ND49uZ@6%5Q3rz#{c zpPFB0U?F8zGO$RLR!ZOzDtm>2N2$xJ3@j0&UzI>EMek++Z-jO;uuPoaErAu(x`%<4 zv~Vv2tHjp562ObdJ_goMuh$rOTqL|EfhWkmAAsjcI<_A`d66(2V4(3S@;k^tF|9ht zK#ACQPy(e?B^Y>?1|DKygUCE2OKqgA*SSX-oqC;nY!Y3nB(Rx+-(cVcDt&{2a&hzx z32dbrHv`*g^qT-0cZh{=G7$M9@Ht3@ZzIWbhz!+8Dt}!JtmdS~DvEfAfj4R2 zI{@+yi&O6~;CYLh-vy9&lrrCA;B8U*p3JDGviAYt#jMK*0DL|Wqd#CEvWB8-82E^e z)-dp~IA0@yPpI`n29D9fS_VE9TWck7oGLzI;4|v=F#{(>!p9Q$oa~NuC` zD!TlO0iPQw_yhw%RC=K%0Ba{hAwKDUWp z4Gcu~rqC}KxRbVi!9X8z>r3Nnpcqo4fz;c&Z^(6y&cT?e40Pr+5d<~#{pcwcy z1C4_yq7gv(5Zc!WAaAHR)yRNn7&SKm$ipX@Qvf2ZqVyC4>Gx9EHvoJhsmo~qjgeyX zX$CB#Df(Lgjd&OMEdyi3`EMDBe1KZN<5JPI@OuF16U5f<87PmTiZcwvQLi5uu!)2p z81TfCy%_*L{v2xtP(E20eq^9AiTqj^z~`VA2JB*Aiv-fB>L&o@Q)%GO0P-FbnLo=? z>6G;g19F?<&7-?>LLS; zc~tlx0G50*v;wdch=HvP3|K13?;0+(n^s-JE%u0g*T{^$ zRMm-r{WP#M0|!KAX9*mnEI$B|cq8ivz^6)dxmK2XgM$6J$D35@&pi%{qy7@`P|bB* z>TMc*J(sE$3$K@@-l5zZ7nB zvj>34Q=+s71L@yT*-atq44yCw4F=%3OW1=$Zt*kt458fKaQKX%3Mui$fRtm%?{@a% zBa@VIlqF>%l}U*Y`ch7%Rw?n(=MIjaNp_Zv*;FXy0;-a7F*Qs17zN+ScpgPdSwOi` z7E%RE&(qW(<$Ch#!*S11gp~NGBIPzJW10RE)v&a@O06t?UZc>y952Yu(&MH=mgPsN zilxtc)XdUSOTnQm>nU2w6O=3E7gWKr{A+4pnRlA}`awp1OA-Arxb*L+re6rY9Qd9> z!ywDgP$5gt57f-Ev6-Upg7j&j3YM0i$nS2*$e$^TW%@5v!!qwIh4zOmKSzZuJ?E*J zW#g|D9S-U9Z>nHv`HlPrKt}#fSuE2pQVq+z|4`^a$nsVyWa;^XnprlsQS=~4pTDSr zrR8t(8yqs#nC@ew*@Hu-7}I@?^dT#G1|#*m2THloNKdljF&XJcD0u&#@hRTkOdS#u zZM0ltq?d;PjqGHkYllKf?~GDV40(Q3GZa0_ucgpoEd8mFrB4@X9)_7UcBkOsEPGNk zOG^mlN_huWNZF4XSeA#AUj(G*9*SUD9zj_wE%#9wOP?sJVVORjT3O~zq|gzNo=Iev zGKC7IoI+JB%QLB&W#hvXY=!ihL(x($q+FJHk5UCo%Q9+^{?+7nFYNNQ6u~lb9c4-R z43)7=-$*r5Zl+e2jaw;nB**U}JIlydsgPy*Yg8rWA!=sX=%(QN7(YtUEYshkT$cEn zrh=u@>j%7N|+-S(W zAE|<6c? zXO3kg&fEi#c{p<{%W>vddT{2(LGqbn8HqDD9%nAk$3(No^TEP5Kp(Q=V>D5}Xebtw ziJoL7@+uSk$V&RvCYmq-O8GS=dYP5RPA0lG2ItJ;M_Dmk_gbo9neI=au`I8nLYC#% zQ!`7?4HP{Q(kGBASX#P}UmRp)SIT0U-i>Ocypcj}92Z1|Hq1A&2UW4myNQ}vdV(o9 z9@1i_XqI_5Q!Y!-EmR@>7HVLb9zuQzkmbE7f@R}vl*Q6=JC(6azk_NdekZj`ybpy= zf@3UsQ6Wp8yQqpK-UKzX^z^6TMD`D$XqJ%!DVJs5AgW+#8B7g{yguA7lUWX- zGAV~rtCYjYo&~9>VW}jG=9yA)i1V|gk|A2N zq%uPovRNsgE&S$4WxnV#S1ON);CWKX6}{$5WrYY`AeDSEaG_M55D|-5$y+Bz=Sbxl z5&ejSHj0GBQrRr*k4j~$$XvpT&n}U*R4T8Cg}JPF_KMucpiuGh5PafrhMYI#y&(#h zF_!KTrOR0%tEBR|s9McR-dEyiJ}Z&mh?)XcJOSd^ z8dl106b+9{C0LwVE1_FO^AoHz_7>+0rP5clKFLaCe_?ovmAt{iZyhV?!$p^;S@9Vu zf{R)4j2690q-UH6EoCJ#Rt$WGmGlG=v7VK@WHI_#sW?RR1_@<|1d^T^!oHCe&uo$T zoK)tEtTI+Ci^alC(({Z=+>keFZ z;_8E|FRoBr{cwfhx(nCcxccJ?$29=gKwMmFFs^%W4Z$@O*DzeeaYf)7fy;{PUR)z_ z-G?g@*C<@0aovwA3fCB1V{tuzYaFiexS~bFu?ZXA?%dW-eRcFJh1hMk3D<_0d|!j> zE_@dgv#zu2E(H#!bI-*D;U|DGJpkfS^jyqhmYHQS>sX$L?Cio*iT~G$0w>#oMERx| z%e96>{l(FpF>AUR%wZJ$M$A-5QSnC1Z%Yl{3AFW|*r_ZHLzK)M61&ro6E6IQ#!kH5 zkQ0MPMeJgh$5CJcmC!3g$yFIL zfVyPH{)|8}OpCpn;|5Msc&U=&{Ipm+f>5!`L$b11_)zR}S@HY~6`Am`lw#k*99aa8 zGf^5DnX_aD9o4c|maee^Ik7c8G6hfBhY3B8}P^8zd|{V)?B07ZE#SulDWi?XM2!23olb zX!?tcTEi)KSM1`>R-L*;f)wyl>={E_EVaIb9fd5cz|J`)QuNEQJ3Bk{vc2S6fkFY5 zu{MLjja%VWoLw;X+pQR9?T+n!wZR!q5wj+Sipm4A{=SA?;iBqb?1pQ6-E{7g*nYx! zn7!W(A$aZL^joo3hK`&B6!RWK%_D^UeU(ts1h2V{y=NjtXua~T{1)DplkELrjA;E_ zd7FNO*WJY4rf5-fD)yiObw{0txAI%|o{m#3yL}&9YXTJb2O$3zhQ3J@!9U@I!W)0} z#C{_CJbRl{MeeVfNFcn{KV}>aDyhM{}9J?5%!O)Pzn< z3PfzvICx{M?0v^6?DwkJ1!?eBj+PZx>QzQf#424hd=?=8@eIASMg&KrjKTS&+8|dN z+`ii>WA4N>VVW{=u)o1sEUEp4FgTwTp>x>%^0R71?zvcz!Br-* zmaw~~OhvaX zTCbtC+a`vIZlz4{3?11Hzw;UPr&Pj!x(t3Qer2LV#JJeo=K#F>w{dg@WgJAbc?bLk z=bOS_$t^d(shPaOZtGDIdVt;Yk1DtOAT#m4Cko$SCPrHM0oQm_dTT}V5%yk1@yD3Q z+tOPvqTgq4C)#@wUhfB7*n2_**K=XRXR2`JF%GW%LJfTTXJBaf_6vpif6kb-Q8awX zDGxWQ(Pn==F~;BEzD`vA2)FU8>+t#XRBWn<`3bYdj-LAqJ9_*VR5BjvVx%_?0<)gu zQm!E3_Z#PY5TyOC-zO$sV|1B~G-B4ozQX)B_y5RzAT$ogz#Bqk<8A%KD}iy>;?=yD zsOl0o@+yP(4$&GEhblgI>MBJy#ho@8z5R3**DZ0V5{TEdTjOxzozyfeuAlJsh1dAP z0G$)nFRs>PbPUls)^N^QGekrWh}&?DF=mAJ`wwS-)(879V_7&l0jEBa;ZwMXdb~iA9^)a=e;(Z zPivFFEr}M%O@zBKP24rXcAJTcH`zOpC)L)6^5Sga%Cy*FHo`PGy5nQ0Z5@@{V9e`| z&!D!^6c%su7nXQiiqYT%o@iUgkl$q6&n#P&6wOJtj}2sVsq!gGL**1aOStG^!|ot~ zdOM8-i4>`ML)+LdXijLWG;+(J=L;mbFnN>uG|dZ%Xu?;QpIxKjGk1sLP}AXhs`k5 znt5VVSz=gHqTpe}*JgncVI$fAya@J9Yi<4ErRZItoce_AMK&T{f-$~O8lq}8Z$$4R z-U$C&@ZAMwfA%Txf)Q-zU0J6Ld3*w%hH>jH>iD>x2IJzVnX&a2YAyw1K)KI=DP-1q zDTV!6X6(3?LN|gbq}<*^8&L>G^G48~cdMv)j%hn@r9wAo@7)aA^KPZ!H*sY8JdYy- z!|yPR9xq5kv>s;K7s{Eo+oH~oXDe#LkPR%`lpzP*$i^r528z#5_IA)t-_EqX2!0W? z0bxQvv&3*%iqHzs#sRDUx9wJnoNf!CKChriTL{@-!8#zTUIFzRdWqaunYy_bMb85D zmHR;bhF;V#3q$_TJ`5Q~O%{wFUXzBNc=Z83jse?nFfIni_n~5eb0W=@o-ohC#1Y)v zGyZAXa|n7IEilL5PuAB#KKyki@3@VJwayTC8_(%ymKYIBo(^W7-CJ$v#UmgNBlIYU zLlzzd@fE#A^xI6_)mz=Ow)YUVqPMzd-+vEdh9U3SL+?vN-?Qs$ARC1w)>kVr|HiV><;Tu8%r7-cuNU-6=VId@cDM4A77L5*?#+nZ#0dXH8F_x{L|-BzJTBV5m&E#^MALM z8~zT}H_Ao6Q7-aw&G==*Kd@Xt(QQ~JWW=9RiqOAo>r{Ymyb3VHs{o^vBGeSG1Fq2l zopeBF9pD!~^=gAPj0ywdr?PC;GCDB+upur??Q=|*ctnD7Z ziw*gNSP~=+{e(!oDIWV=d6(K}OHX9Mko%mc4LpL@QKT8jTX(62*P7$;C^pCQ6XGrk zwtzOE3Jd5$mW4jm2 zmeLO-VMxZ~!la=Y_r9AMJHi#?v;C0;Lo&97D?>647yx5lxMJ)Y0LH}wm@z(CHxCA5 zK)LsTDP-0VDTRF~Gj1np&rF-d_7Q~u(6<>K9*^>A$UA!1B#9YUC4+D zQi{-+_@p3TFV&aF$BDXW@fY#ELO9jT0A1GrQTTBDL4(1IirptK5(l#4H{t83fz;ds z);rnSY7L&ejlP^0f2|0Z7w?e)SvMnK%!2q2rB!h&tb#>4JYw;rtz=yca&?bzJMTbI zvxH{{rR=fz>!nh$EdINz@QB*d%brFptK+8|yhEvZCNgUa;{6X6ppUPaj=UAWNDO`) z!+}wM1V+>o%4m8!ej7Q8c;lW_vGMN$u6`=MmSaoahhZvKv0G{o>n=sCt&|Cwhl}WE zjgCZTAB z^yXo?nbs&htiu@AVLhyiC_dPuir2St+oQ^8YU5$OgHFZOdRTu0u6|b!%QpeT`as2Q zF(zPGA0pQFp=5Qxi2hizx*wmsC9C^I=%;G;nn1{4e3%NGHyaQZxdnzn)JMS0*?Ad&+8T#`QNJ85DQ|hXAoQWy<|2{ z)HF+G<3!m{lG!*tud`}iTW;rh{hQ}CLC@=V%Mnu=5d96yATMDjaX)mO;wMNZ>gIBQ_vd#nvYRjxs06;~tm{ zBmWi^8F< zP<-$}RlGi%+YVMn(_Eg@P;@FDqGID00InXUSd}b-VH%-gw>-jgx)-swdnK!65gjR6 zC5zzuC97l+I!4W@i3w#-U_y31r&wg>#ppRbj>7vVs>1P4a7&vqGM?l)O+swIBt566 z07p&Mb1H_BpR8g-N_kFp#MY%sMh;Qqkc=Fn>_N%Mq34vT=Cq{`&*|ZW>3E*TZ$WnL zER1QE9@93|9z0vsuHV63=P0A;MT9!$qfzlZJ*Eo4)eH2PDq)y%RP2^l5$j%zSlePr zDnmpsm83F6uv3!CP^9vgD^eMKc~<$7RQ;RCj#-23yaGKc4~p-9TosQ$%59%eMn*Ma zy+w!(DAJ>P7jV=%J*p32hkPi`SeFm|0rIOVQQS+>1HA9qbl&ofmiZb3jFNK8i zl*&N}U-mX2v34t_v=u!JZCPZWJ!zpByd8Df%9;Z!YNxhx=i&M9cnNKacj@rv1qi6F z04EL)&4FclMTg558uxC5+jcXnwk#37k6A$pKESMyqMqx5XXT|Prk4Gtq*nhM&+08? z=N*>K<|%IbJ+k~f#jX0Nwj?+2I|vVWM~6#pQSV7^^AxxI4|KSC5v)ac-G`FfJW=zp zpBS&`vMdDLbl1#6Z=vY&e0S5T3c#jr_iRjNr$V6 zeIr@r=!t!&!_~yjAl!CFvdR(BKT1|PBKT*?Do0Q3teRLx7*FgsHL?Dn7IP8VdB4kM zOZCM5Bg-$<6Z=D3YGQvOJm4=K&fE?}P2$a5st0D6#3x}XsexTJ2?H}t;>}ztYOa~Y zo4Hh!`Ay=@Tq-L3C#fTL7Z0qxnkS z!8%+G%q&?g*8{s%hpT~wAlw!rSuGdQy(O#VBKS_pYPlX*-%09-F}3XelG+b5d0+#O zofj^ft=0n@D9f+b0~@R@HL#%w4;ZS$)e##mxvka{8==G1#6}{#?q11lwWx`d+*XUS z`z5#4qGAjtX7H}zcYJngnJ{U(!Tq>?#>Zl2v9i%xJ+nAjdaa&WytdTL649u5k`7lh zn=E;))iX=c;c8}fgxl3PM-B@%BDNc(1vT!X88W^xR4KDH>dO*SV0|mcbRi zY*I1avOcByn^*9jx$!v}duA%&_9Y^#K=vrbuQMa z8fvcK_JBfP(NM&0Zr?_F_4|4CuW@_0)anoN>JM^zxa338d`O+xEdzMBdT50{0Iapsj zkd=t708(K{R3TNS#GU*FXvV0-MO4{25d-LyXfwbwAPOF*KRkP`O)U0>XVlolG~v1~ zvFIv;qk=-aCLT7JUlz?>6H(hyDeT?3CX}omTFDL8P_vo)0t&rVLlGg|*FjBF&?W2+ zbV zP$Ir$J2MBW;~rKo&O?A}Cfq{9NoWT~J z!K_5wfUoPF&q85?w@Nh3=J7&lo}-o4dAtSiWG&<^fKrj8p{m8$0(kV{e~ed;uk<-c zAO7V$fMsaUE_oNaR)7JXK}|#W@E3rC^RQ?x;2!R`gnccShLTmNmE0l?HLv6LfI>?& z6!8qVcfX|%|3+RqaeKJbL!gXTU&ig>QV#(aw|CN(p?vtaa{ISM)>gU1YSFM=uB=)# z@6<}`E)8Y9ELUGGDqhi0)o!`^YQ6gXy!zMV>ha&J@Dtc6c=ZS6>Z|qY51~DN9z>ys zarWEZ7tM#czO_c!k8oKiS#N74_ZnEc5YuV-#(b}YO z_3%5*X9Re~cN(ucqiAH@j;57A@c>#BjRAe&ah~P%|DtG&3Iz?s~#8jR$2A9$ZFF{?q9O~@dM41dHu&lsBtpS=(vcuYO-4YC|qfE0vp zez^JP_}R3EszT5l9^Usw^vWHRuN95AqdU8>?~7Sy zIl!fk{umy?80G+%I{FVxc3)+1;=eqP0S5;KMz(XXPGk2^`QhOXeBg}Ilxnv z#2lbBq-dzw&Kz8)6bJ8vXc+JybAU^7sLX_`F@rh4B{|ei!yNF1Q(y{izx}f&^C!yz z+a_-l?krHi7g<|&;H$N^?8)-GhP^Ms@SmrQBQGH=W`PPDPzj`Hkuny%3ZwQB6}EB@ z!u*#^HW`iP0Q~TMN&EtGI6sT;|s^ zJ2&lp3-zpz^MKmA3BMnkIh4d^<`wtuV~NsaREZMS7J3XqhAip)33H?j982e*Is0V@14w_ zNp2FM`zL=amDYn;l}wT(r@yX76>kU0n75eZ&6;G`5fn)Gpe6P*{txWU`lD)ZGX8|I zy;>Oy{>Hbg?)MOT_FWa*l)`^a{_83}Lfw+m==2w$)YeN;5-naXYNh%h6b<{Di{jyV6AWvUGS2l(+9sUe zsIZJ%fVjU^#uf{Vw(nKg-d+f^HuLGS_SXAa^fP#Qe&T&)pWIi+Irxgt^1iZ9j?8(U z_ti`x1HjLDaq@Js3`pukXJ<}wk)xI4|HIp4?W;Go`VaJ!rrg-$f3};vvCp<7`5&+( z>3F%ViH0O>E2qnCU2jU#>2h0Ru1UhtxjG5cv-TAYos%#8!m*j7%G9J}3+ggXE; zj0MNGZb{RjXH3NKz1@)>&>ao&;#qIQNTPb6KL4&x0*u69Wt>YyZ1&BFEjO#!jAX#a zZvi!a)lG%bEkwocO+#$$ZHP_3jcGaW#&1I~EhwRVL5r1$eo5b5MV7222RR3Tj*FVI zkmeYKwBmu>0$)wdLDlNPT-8e%^SIv-Wh_{L*p}glwG3CWO^X00j$k_Y=4LUB_4lgS z0ZR}Y6N%Wy`;VF3swNGgrret&t!2y^NpGs}9Nz;waq5AlH<4__X z4(*KYVR|d0;?YBzaw`)jwVU!D%}zo_`Q-KtxtYh4c{90y+{|wF_6)h1wGL#YJ3tdp zs0ACbirNR0@cTvh^~6muT$#Kid>genDNU@O&Saewafgq_2U9*3P+FhVir+d7#=8?_4b}%l?k;WvrLdwsK#n5&6^w%Y5xaFj^j_wHUl92T zU9AVvb^Zb7fp=zS;qiYRp2$PY1J9@P;1N~@9tLMLRlSvj-iXiqTIg_c5M8JvvLDd`cDli)U~gy`@h+0V+?(+h$@i4#17c z{Im&-OWr12-IMt}S{go=%GzlnH&`o$X4yYYwB927r-_IV4MpFE{zh+F`{Mhc-~2nl zK>F0;`@t6(3J%hz79Yke(0MxF0t3OqNhPzv!aN8pjP7)O6dm^@<0!h*Me7i52*qzW zxX1u`6kA3xYxt|~)d4m4F(a-Z-xj%}cqaEVBlf8y@c>U{EHh%CIuhfOaZ|deo*7k6 zOvb}*x_*8X**H8d8P5;zLz>uyco37Oe14b`+fDiWFef9!meighndYbP%D8}hepK7r zGvxEbIRzO3Qd8Mdd}Gt}TpcyOGd2KP*Rh8o-kWCU!G{N@Y4=On-RqG1ycj+4~jp2y&f zZTNLjzTpkKXVdjtV!Kn+_T(62+oJXn?nJ4`9o*dUh^CwKB6nj`(#?OV-IR1)mB^@j zxjjSDHNDDoIYZKo+S8sP>9*}dM)5wT>v%*I9$>mq?1y-qP_n8pPNNIIzbcPEzyyj1QuNN@nsw{1PM`E83^{H3~$2#Vx&g?Ne;z9&D;9o@zJM z6u(7A-RbrWHO23lBxk58{?MMGruZW=ihpF1-aJwGGn0g3KgUyqlJzSeO1$LF;zRi# z&@&gb&+reVdRn=eb4~jU+qgQLYKDKen`(xJ6wJ^!MQ5lP8dE@zGt>;PO3?+>3_Bqs zpi>IyIoAlkYg0fEO2c(2m?0;r83v@tCvjjF&#-$6Zsx-F8TLSd$RM=jn>ir`H}g&C zz&CRujQpO;2uVu8&3p@D>uy%DB`JVS7Lenc*$yMBmx^t2AhxYHVvBn-F>{e9ypxGR zv4?^fD_LPFn46X2XQyCp15@~&abPwQiv}anGl-iwXyshgy>JiL#R-_t9fv7n%R81?{FfdpXFkEo#qDXYUb76&dR6J=&h3&R#Au0&?Zq+a&y! z$+NdfG_2q)c5V{QD^u_R(m{c9Krd=-3f}m}o7?jYbv=Z^OhAK)@ z_>B*~#D7LZtWMztX}dUuoT&;XCU};a6Jtgw3nR1v?f>O7Owy(IebFZjr2_PHCn2G?7W|XTT>1jtq0oI{f8XuLA@{T zKQUH=^PsT*EgKyaS-z=rF+v2$ZHO_YGTVb9`07+|22Y?by43aIzWADAI!_=Bp7MU&*GvOu@C5EcU*7!%y!(Sv@x!ab zqG6D1;1SV7WL=N257SCkgoYZdvbRSB->0F_QL1b0;d(xTe$`;ob!nl=2PK+6q=@ev1JAS2*D0 z_wdH-X0=B%)S|r{(5D3fwXda`j8ykaY7UtX@k|7GQ2BY-Emb^^DzKnE7g8O<->o?8 zZB4~2j->Lp$qW8S-6qpa@iD37(f04vonJEz?^hzaiCaLi zf1{PGZ4c{{jD8bDd3T?oS`0?VH~M%a{)J&nlV3ItOt))GzG^s)c6`ffu;V=gC&=S+ z+GOYV?J(u5M(=CdGvup=w=**4cee8zm2X6rzx`vWMBHGXNVm?mWoh@wHF)rDWgpq_#-v^OC9dp7#S}OgJrJz zxU#;tJ;u;BQRm*y5tDSTG*Wc#9gIv-hVxD~GIdTLHXhbFYuxbL3r%39yJO&UbDt=!f5DdFdlj}>uA7w{{7I=Ae!T&prgSA zjvvDf&g%waRD&2!7>gh@U_I&q=x8vJ6UISDgE;8btfK+z`QxFZfsNy%p`$@O$4}q} zf2aoYt@hqj4G%9PfwN+uqYLX%vCz>ak+UX3ci?Y6K(AJMJ?r^#@S{r-$J^{NMwbzP zOX}hHSZcJ{=NsL4R7y)VibsI=D(y;7K!6#4TuKI5CfVncEgAb#{BZm@lJTZQ#5+3c zi1I|lJN^DyFn=<-yYM%o)8fdI1lZ-T;YPOF0`WxXnrNq2lI_!s-tPL*lbynMLQidl zrONXZn1(adqV#&!EA7%>;((r=1|9R80zJ$D-A#d0Ii7VF)w5nXMaAx zS(DS~t_N|eVRRXs@F0SmRL^>4x-3+Z$q5-!kDmrTEEDwHQxrYJPx^K#7s^K%5m+4mj(cb)r z;cZ*hUT!9eyVhcoF_`2}GqD&e)$<46%2^<7#g~7)fGk8gHn!)?W^1#yTG;Y#)mCLT z*W0D7>^ZVV{5)RxT<93oeCRDouV=k-9_PE;Gv>px9@SRZ0$7gswAI3vw^mz~3t_d@ zx92TF^)`xsggfO(J#aC1f=+cy+aCy(k08nXZF|yU1iGo-$;bOq95yeNEQ4-Z0v*Mc zL$7AtO!X_E=P!lsppra}&&3#>KmPN)njQm;bF`AvSoc!kDo%4kZ=-tFqn1H8Q+z&j z({iZ?7H~Z4m^|zGE4cKpy0j$^PYD;5tl^B6i1JeWrM(>$MI`bJnKZ0!uiabu5GR{3k)mfj|4Do&ZH^8Ks=@6r!+jCC@*4pUFF66M7aK+0r@3Za~-umWh|w5=oD{kHydFZ&0YSPQ2h)lTDxjj z`g#O7x@pVuEL%7JGu*U+XS&tai8gMsCsO4G93LwMZpJywCVt5ifaD8L*hY1-7;0hN zOz|&3uY3+V=2^}uWjKrOTkxmT_#IQ&CK*+-1uxUP=cyam+YtPvV zt1Zk#JzG=kG-n$gvCg|S7PcLjyMKEgTW#ScdSguz9>zNmX&tDs?47`zgWB_6lneuR z^BLHs_MP==rI+mCGw_o1$M5AcP$BieeH{NXbet^KtCe2z8pl^kfBb%qe+9aO0uONf zt9)4Q)!SG8Do&r1>KV!3jVLFT9OR5WQjZs$u~+JWhoDzOH#$eRAB=rC3eNlgc@&~v z!%;Z6R-?4W|1%sPED;{9Tq6CD zeH`A&$B2s8?blz6dvjF#id$Y_M&J*kZN(=cki${2M9hPzQ216p8Io>oT4Ss1P}$_Tswqo{=q z7x`X<;XJF1bAQ0dzMzbzzhO8oDx=<*mL_7_lyT&mw6p`(G?~Bm+O#x7+5)n5Nm4tvQce0(}Pk@MWNz>d(C1P*mk##9*IBp60luzKtZj~#(V_pRF8GnGv* ze*Z&0f6Gs!@GF@pZ1m#yE!ZcDXK-me!4{%gQI=xiyBLOZE|+!;*MV3nYPH>~YuPTM z)|ACu%RO3$MCQtn2ecW!T$SGY1geFt;?fS<@)Qj78r7$y1cra1GFCndqwOgbw%|D! zEhP%c*bKw_EDWQ2wl3~@j(fTBGbFi;J)7AyFIFb0m2Tk?x+$uVqRw+W|zjo-{er|7HwLNuxWi!n*r~z z>8(`e!4KFn?^70?t-}catOZG$e-cNprB1H!4V_zeT;_VT={X4#Bu1SE3Aa~GX22O3 zm5pq;DWnC4>og1sIE#8kXO!Rf0{qSvl@YiU=PCUxmu|zyX|=u!X?1pk6Mx!2&N1?$ zZxm%bFeS)0TZ!$WeSK?b)c7g*V_oB?bfR(Nrv!8wyhQ!MFlua=(p$L3Pr)CO zuuTBkXTp>K-y#Z`fFji*egbEE$v1XNki}G>a`-Q!@&DTYN}5&sRV_y>YWW_grirM~ zCPk;PB9);ctZ|4K<|tOa|E`vQ3BOzWDetDKw~L$Or>yoJmPj4fa9+Z{U;7o0wuC7K zzC&FdmoRVc*zeGORl=LdOL6Y#IClFb{KvIl)o>?q4R=MyHBMi`-|b};uWGnbxJJ&N zj%&Cs;jh(xRl{lL8Zietu90&If2H=T8V(27XnVcm8ojGJ_9tpT)t#MkySR5MZ*8}? zI*zqo!k?r4iibI!d7OTy;~M_&cI=PRepRC_gO5i|$DzGH?AV{E{gnPYmh$B^UdriD zI*#?P>)3DAenrFm5HF?M=a-1Rgg;07RSnm}sG;vkOZ8VBmuk~~I{PQ6FPkNAux~n! zbzZ{n)_&R6;8;c@e{kF_ie^tq{GawYKXhDjzxFG});YZDu%A1QO}vDEz4lX{iJuYk zcnSHxc3h+K68;wLS3KJ0^C9?8$0fX%@cXx_cvZr?@c&aH|F4cqyS1MJuEk2;%;A;b z4+Y8K|9)Z?UBd6yenrEzm?wIv8d04(uAQ&_s)lok+?DG(j!nFTKVSQ)JP>P{lFMr` zb?LZ9*d_eg+OK$6oy@}>)Nzf|m++f=sCZSwyqs$|Ztl27{w4fw?N>G0R`AyL>bOMM zCH&L1UzPB#WE$ChI84S2f(LQ3G!SLmtOV?sO%J@Fl~Pe!^8CCpEa^@~1E1 zH{YY;Re9&*TwcGT$52xtx;XI_1j;*}05l*hvg7iJm+%rJv%8X+uWCMITO6;fj4Ls=efCdyj*m0Ttm++sa0UMF*+`x6GQ`2*(TO>uN>gk$g zc^e+bQ#SHlJKGkmq0kezQXD{iv{Q67ykJH{4 zkleOePIwEdwowK|r?BOkyL@-)eF4RXMXm0*c=jdymD;b5_!h3=UE6UD(-R&0t=g|@ zxVG{7)j788U)OQUY3)}j&K=zLLTSgb=4U$gCu+Z{;dqhTR@0FR45&qkFgjO($ys0G z^3$L1xJ=O{{I%Mz%9~&28ZFy8uF-9K$Nm`YS2fxy{nXeU5AiQw z<>MH(`x3F2@Vm5MHFfV{;@$RlT*G<^f06d98m@g@!@sKI8iOz4cWS??;oQ$PyoWok zVS1}$f0XvC8jgcpqo}&$*!`FAU(kM4!+Hoc_&NB7ypdRRveu}ID#BdFU99yTcbR?( zzf1d7jkY)VCF?}TCH7y!-=_Vlg!fI9=y8eAC<=KS#EZW8Cvo>%|DUGEzwVe!x5j^# za2?^bC!X#&)_Dp4e(hJpoo~ze{m^lZ>6h@kv|rV5yu&pH|J-p6$0hvv+OKL@-{Ts` zfA6?P+a>(giz;5#Fn_=`oPTy)WBVoiUhS7P4E7c3{dw4jQzrWkHK{+&{on5{k6*%X zzDmVYqc1-YYWabHKW^ILJJjQs@cZN6HRAuNCAmMwk_N25q2n6vOZYF~uOQ=5>Z;>; zbnDS^vh@=F9POw1ov?^y$FKwDaK zVhXOQxE{onjw=IKCa!6?rsH}D*9=?_`D9ID=>F%(Y~9M z?*jX-Zc%Xo$~X9Z__}Lf7v;-gUmxweQ`cjk?SJQ9U|;(G&K>*#d<(TNn|yQ9yV9TK zhHL534+?Ig;^VxC4+@5L{_20y{%^?d2=P5j_4NgJ(y*F>9-VLbNpa28ylM)}hWGKW zAJ$;Kc^cE4F97RYs(pIBgFl3?Qv38ea@coV`}7RH;4Xn0-^I3`&gWdHP6qv0W ze*$dS4odh0SgywI)lC`8+kt;15!fM(_0xHEToZY91ta}VYwR{(#b-Z*7m*0i(CIho zQjY?b-&Er@sz6RXV$xrvQpR>_>@I~}VC>|J)a4kk;~LYAbB+P)w2Mj^^ZEUM)x5yi zuwB&UQ($W}rWcd*DX=}rW2{QMBZ^==QY;e?>Ml4m#CDnTQ2I!YMzWmzC>OA z15u|kdMnim)=N8Slw2Q`+c=W+sA9r76S`;Y23K=)(Jr-HhC2F$9l zcAlRB3$LJ3#%5~lW}U|v{;AI{CxNZ`ue_7MmLLz9-(HQ~;!8i48*ZlGPZr!{*oDN; zk@!igB6HI}@7>P}Zt8qS1K0io5DZ+Tl9#Vb50wayx$D*4~+>_qOyf^MCC{!-lf zD&PVVJBMmtil)_s`JBOgnlPVL8XK=EF_!)c9b>FkWBR!{_!O{{uTa7%U>7v@f7m+v zIJc(!kEb(5lNQso7)1repllE(t+wL1D5g=2qJpyHIS7-|twBx4Q%%!y%2LCY?Rp$! zOgMVV^$VP zMO7l!-@ZewrM0Y$IKx_4%bZ*F9dmBy+FQf@b}(~(a>dksLsG|^iA9;wzqxg!@6dkE zVr`gClHYL1Si8x8gPpnx2kz3l59>JU6&BoK`>>9ns^?5<9YGr{JJt39#&0Q4+{h6} ze9I9}u5=omZjYGwmf-Qvo7A@iFYoWbA-#^+{Vngrxiar818qpCi;zOvM7s!Czl9UB zlg)sz>K9BN=G$^hhqY+nKY_s)O!S`w&fdy_d-gh3$3N*^+5-D7SCSxpYtp}-pzr`E zXuDoPjq90@+A=036;8GlGPe8c3C?7U|6i~zy)LVXf5DQAO-k7Amf7pOB&>C@@qY(9 z(#;az!4?rG?0m~kvBwjZCGOv_XD!>dx7mNosQDexA>f1G0o?-D{0^x79`Ntq0gVEF z`5n+9V4%;*LT^{y0*3t#sQnLMpWgwE0>Tyyw&(soT<9m*vOm~_NZIwaY@|~*VN_s% z8B@GA%jlKT?0RE!)9qHz8$FTV{`yma@xiS?@Qs?jOlS(gJ%Ggnr_Hfh8vT z69=4UnZ9)h3u8uD`v1k1V0FZmxO#GyRqEUzuz^6Jchw-L7rn34+W+EYodx>F@n39L zZS7RHWoaoJZOd%ROHx*6%TBQA{h0%{y=bC8bHMv8v#XA@u-uC#FKmTnHr=6aX2ESA z{1YqBZr1K)OLde$y}oT6N2fVQDp6Jue98FBv=*~W*Jx!}@+FfJw!kud+ZL83ZUbz& zWmh?E-gWZ51I+XdGRg>+3Wsg$9JKd)LiYx8Ho*dW#Lz}sZFt#4HxhKaWjd6EwZClg z!d|el-mYk9+@gawB?EYNE{ z>i(7f*IA(b*hGWN-ZIfmjKa8O>M<>_@RrE~y=MpddaV5okJnkS%z8}xM$~|JOzJll z|B;a(l_ zIH0emj(*KM`qo+SmgY^OI#(Kh1yN6qcA_+I70uNZH6NLjutA6QF=)Cga5&Ne&08f6 zHguY3B_1bOrXJG*n>tM%=naqU>#?>!9-|hh$3c&I)yvg&* zIGVFnGw`NqkMC=+aSII2x4;@qZ-IyKm;8n|1~Zna!O)h#x-U(1OAIbNv9H07 zEit&%0yS8YsN~nizZKqQo?)W$y6jt%;?=wMjK03Qx58KddIxCY1~l)?uU@SjM2Dsh zXddYsVYzxsOND@$xHT2lQo&m_xv#%kFaGwm;B0$ICA|0>|D8#B@zZ>k6E(c|1wfQ{ zp#|#4M^O3SCh8;6Za&*t3Y$MzUrySmR)f1uW3~3~t`JvZeB5vx+ER#6ooz@nA~WAnoMj*)PTVzwH^8ETxjz0x@ddj-=0<)9{rv4 zZI7=O3p9P(OC!Tfo*>^M%hXqB2Vh{BiS9s)^Zwe`SH}+cdfEc@Rg$RjI~#vBe(q$Q z$E(Th)Xaunb#vIe^OC;Kx~p+E#sbaQj?&DYCb}ce&bCaQr3J?JGmji# zQR71o$3L?Hp_T0a_Wfp|7vT0KP_Aph*kR$o!*Co*>@@%hXqBH(>kGCb}Cf zhX2>sSI2JnidwLFYLlqWV~u}zPAET$HbQ3L-J7dT)!s7Pc4xQ^tr*a=-R-(ScgJ1G z0?pbUG*v#qMEAhmB+JxYT42?QCJ*#R`a3Q5UY^yCz};jE^lTd(ui^U|(O2d*Ul%fo5$_8mXUX@&x%}mZ`7MUcmT76WxmzCv4rwRJy_r+-cNiL)5eQB`$Dw8M3H^MUY7}^iG>?#x8j~1&=@9VK+KRoVhfi5jd5>>p$ z_(u}ee1;R%duh=)5+4gKunAkSmV~`Dl7zKgYw|?;-mn!mo7tacGuN8v{xsWu=I@x< zA2Z7>_*~zsB&yJ8{0DFr7hP(i^4jz#lj7AIzRYQ*capjfz+AlrI{N=0jWn6)AMlm5 zOns#VmYYl-=$(2+UthIBe9f>xlavS&6}ZKuf<%3KW#1%q6D5n;gJnf?AZIo=(?k#C z_|c_zXsUh?6+}4igRGXV49O{d9!zvzGy_+7?-2vM1voG808%IVKPE4xQQ8Xl*S<53oT0s!Y@pm78l)wIr;3x5>+EV7~E(X{El^X{EQX z#xTB;7HAg3G!nbtJq&LH9&&=zTUy}wznDDGTWag; zt#%CFwt3hA>Mb#bsQ9BMHHN6pCmm@2qAZVLY-jm+XDlrIl*3&48!H#21)9IHH0XKK z==i~85XF=l0-$GHvYrO-*`56C5A?2nxv#I(m>$3Z3Tt+O=OddmP zo;OVN7!1ZNQ-f)N)o++Q&^zJ7z6NWL#o$F2sKLasL`B{*sbew7cGK|~EFVh-Bkvgh zakNzPd0%gh$Kh?f1v>hUqoLSxlPAd6V3~RgjRz)|o9K92oV2E|w~q06yTSrp3{7}~ zlk&@WIVmfQ|9C?Cf8&JOIWT!VM%z9xDPbYYdS52p$76Jo1)9VY@RH4$=m{82Sf)nP z0y}di5A?>q?Q695M2ucf69k5wlKe(+&olv2PV>N_!K-8zcA5LIMjDMdq55) zWdjN(FJ+x(j+BM#IQ);BoEGoVKauJNmOf> z@t;a+iUAXq*Y^LI6tCX)-JDi>`P$v{H1{ycm#wyRz5>+KDfwT{R@TupiOr@U&j6R* zs7dTb6)ji4X{o@ccxTFP6cxOm@6p$D?P+-a*@Dfhq0{gj|JkHY!((($C#v_7v70Dw z+yeD;IzfT5iJngGS}oh`MPRsW@<8wOy?@8Y8Th!@0=*0qXAl+JXi{g8vylgwyu8MK zHU4^9Is1S&amm8jLWhGn!U4VvSF)J%&BLw zGgQr%lKiJO(?Xk|tDxTghxheadp16YTX4DlC44qvi@aDlyLoKIoed^`HVF(5G5&M7 zvYs?6&*jQWp3_{-)i^jNS04YaDDP(wSIul&4lir0QwGx2=tRE@u}zxm}{F8hL+BL(3YL2<5z7$?PZ&Hw9d zjFZw5FnOT3xIhBVO9Wg!W$f@*FOOj%l0(>^I@wk>wOj) z&*v}{eK(4uFC16|ku1)PIn7W_m1;*qGDeT;u9 zX<>mH<<;c=D1Y%!CMyB3p^77hHYy5wtJM-@AYoqaxBq(ix zCg_he(h@d#f_$qj(@`2~0Jeoqw1F10fBu~WHISfBEzq~Hl0+>VZTuG#weYV_lwM00 z)4A%yO-fk*MSVSXUyR2Q7HF0(p~3niO!N{w9&MR=Obd)3Ve&w4@bSJLYcIv)2^Q%4 zT;fuq<{xEJmy)y3`QC%P&SxvvXzmg;Qg@AsCh!%pOns#VHe6%! zK<~&QPK&)KjM{7Qb*u$n>7LTHM73UPQrF5k3^(|3RcEA&lIq9V5#f0C$QMmte@ zohCV_t!!TiJNvM{9=nrxoNj^UZW;~dZZpwocznPz^_Ujeb(_fpy)9$=daS)3kB?Ze zdEs(BQB`-E)b&Jd;+;kQb1htm^6q@N1JuV21ZD3s(HrnF#Ai&(%4Tr01l)obe}hwTu718K6|4EW>`Z#T=n4~+*J{3P$*Z^X z3a4`KGt)hjGgG!eN6f7>5@t)|R;*NC>9&#Xo z3pRILqPmtD|7@b#A9bSa$V|?b)V^y{!U~qThR1A%hvzXT$PSMQPcYuc+|76&@Scg@ zjnROuu=&!tn?nZPGkKtQ(4xLZYg;k8mj${~O0*I+o=t~Va#VcYQL%__6+gC z_sL-6-xUMCF?qOe&s2fi^;(=)^e-!B11hWPtVMNLmhDvtlw_~(<6MXOCz zUdOLDDPGy$nD}P`%kw!Z*NOZ)d>=<`_?L;^$5E?4bRRW+AB{Er%jALH{vSKA_YkkW zpCk;oVDleJ_Y<|~-zIfGhkS|O+mS=w&tbAfUppNSVCNtU)J{pF0wv>rkVErb?T6&h4`L_WZBmqZ zJ>NPl^&ZUK4>Dc?7U+0cKtuKHIV`|i#4`1k78qyG0q7n1&%WMjAHv(Q7O1zxLqyGI z&*34wt>uYolB$RB*3P~|8!Zhj_VKp6XHoI@_iRG8vgWdl#&hgN(2#GEW$HKdFtCfg zh=(~!Pr-RdZ>KCHWi2%(FJ){G zNm=-5=FyFZIBn}lPdv?m+xIo8r%6QX7?YRRcD{e|41p|*o+U8(3i?sjtuyU`^CSm(b#b8~Xa%_P;l6VP0Co zfV;?2eHSW8Xx${^f05AsH#?!aCVi0;+i-?S2@6@)`^0v?C@0o}W9*mYU!uX5dJ}yK zqxV~Ow|-?`V5Z*Wf!=*)I!7DY>)WTbFE{U48JRiIoVuoYPm_F^tFz8l`^s()q+jOK zhB`ARE1x#J+&r=()N1@oNonpp6Xn%Awbg0&v|jCYEXC;(3#`-9Qp^<3H~v>}>Y3vN zsnf(O&Npmd<0uPX;WLf9Q+?fbzk=KL)Ic-$#94cpQQ77ld|6vf-6pcqTfprx3T=(%MR?F;o4U) z4EcWcUS`@dGF-6LG{fm-((PMJei?0~-*MWo<0AYH*Ik@%(!2v(Ygw;M@9x>ON59|w zn=B7~SvEi=eHh zy-2((nV4--?~?fbohC1@o%b033fc^HI&JoHZW>oGMsBx2NAn6ADc@`I1o?87>F@}> z=bVh3oQ(H4mFIrywAy=!bi9YtrcdngKh=ksk-p)7C_i>n5XHvX!!|I%s zw7d3w+FiJ=uiM%WaJ$h0>o)NL4aL}A`T)0)Z=Il3v}RqOe6Ezdm_je@H;^|6hfWAW$apY(&EEI`nv4s#ASBKAhYTzF0T!p zxXjsVIut^mNKaog(NAb&{;p0Nb{J$nVHgzNF?nIjEbE=y+D~yjJm3WB;Qf@`a`)>$ z$nC;U$?a6j^>Qmo1(GinMtsIu`)N0)f!>!}<7YUp+MWD%;C%6CI1lXZRMX3?^qKUY zue5wlUi-89I03yKcYiLU!2%t)|Dd4;Hj4fslY?dIHZ5>ITTDRj zxxv0pYu7aISkV+T(KST3+6wA1y{4zHbH2pW+BLk%CB_*47x-;oW1_rz7mn%cvEvIo zZnQv0>=)R`ePR3sjuIK`1Z^Iz1t;ZSOV11R{IzjT1=olz;IqJjcTMwNCj6z$3bxkf z0sEzN^-Gib5@T9=0jgg_Sc)}*BsSFtPF?o??=jby=1cra(W^h`3{Sqgz_c*wF#4THxG5=(_RJg=(n*1l1dC`iD z2+ySsDIowckW@>UuUpKEKnUt>(V}vJtX)JsTmh?M;3?hrjGD zhw&uj%@0hd{TCe?KidJC^?%_xyCZjn)1ldx=_FSYSlp4@!fA2aRwuA`hZ?^l>%mr= z_3v;Tv9)xLD}6^3Ejw|CIN2WXfQj-dYqz3YFaKsRhaYg7?L9oY|Bcbv7FeU9?-^$- z+kTL7_C14nwdHCyO@)g35hnjVW=~tt*KF;7FdJWB6aOE~HrZNgHvJ#zFIy!4!R&Y* z`BCIGzCSl@(`54TzDDmpixc`%kwxbFmRh%^A}zHZVEjLj)}c>0k?J(@12B7lNddk0 zJlWT2_YXL2=X0T+`Qk^MW^FBXn)p#V%RMqb(nL$fX+q}<0xCNBLdH+9jAgyk+xQdd z-Da^9WDTc(qQP>Q+q5w}$ucz@Dml6DmfV*(X&)}>Yr3O^=^`HxiRp3))1DWdT53A< zU+MQ~6a6n~<%Zi7ud+xh)9l*+(ro!HC!n|4+Mh9d^4l)6iJxgG#-IK_V|JcpYPKY> z^(f=-ru*By)7NNYw+z~M?4a$IL2GNN(NcF$e^+kA*oZQ7+5q06%9vg>f%~#)HvC~< zqupg0v=-=~-GG;6Cz72eSwqc;UpaB7pSg9<;;+`3B@@45 zYY`E@a_HHX*=GfmVDbg_o+E4`_Hj2)Y-;8?P6yHQLZNTDX$i`mv2zX*f4{-Ma`VJ* zaNhESFNB-iUbAXU`8RsSo&u%!jF>gj)a^a1=APuN>V6GQ*+R;4QdXv{$+q54D%KF4 z>__Q*+oqJ}q_ixh?Y3@()ZItwR?H$Vhl+bC%Sl<8GTD&q@mwi2_m!HJl=4YUk5ehl zNokqVimJ)R-+$IPQ@5Yg>rY9|WbTHZHLl+{GjTu3zLZ6%wT09gDYdqsgkMcbNl8vh z%2E=i&X!VVf2p%2-g33G_{P|lv%>wB+O{aIXrta%Qttq%w-xp3!cuRmSz(itvNB~A zIcg1%T7QsQ11Ra@h*FZ1lCqR|_(G0X>I9{Zmy+tUxEopONJ&{rg4FRzodczgkCO4! zk&>L0l%*s_oqHiB7Rv>5yY>k^GhQP|i3ESjmC1F+P82?b%@N?ar8w!)#>V%DR zvy!j~aofSBxLIO5SUqvVX1G~NSe&@+VGGR~amLskjHazC;Up1_YIAP=5tR&1c#rSuGO>witjGT{rI;ie@hZxW9C z-Qf$|Jh3}`nLWDjrEXplUa;|dz}L8WVh=d?y!2#G_$D_m!A;fSOq|stW`(`OFL3vL z1m~qD#;v+?uHCF8EE40kT{+iome>UiZhEH|(um;veoUn0jHsQ>feA}dE*3b&idB(pF z6{ff=B=#Y=`aEvRh0SoYlCU6g`@$BuSz=$KUk7DVVm5n zB&?OVk+9(xx;r@%wum@kgRuWbu?f}>VH%lDApyQG~ zQZCs8WYD^KNjR6R@DYEILF?udt|Rf&|1fK)T(>=qNTp5gN~J&02-j^-BSHA^i`<{LYuq$(FwtDMJ<-B{wfy*Af39~QJZr~_D!y18;v5|NN2mMtFk03@3o;>Bl{)!`B}=ths>(>-frXUv&a&M5EpmqEBMZ5No-p<<}PF=U@1R)Tq_*s?qAW=SpebKEFjOa1kh zg&mfLnY!`J6ZOZ<8f4bi;$`=XohEIS756hv#)KIsNi*>{3{4GFX|k;}%eE8d7>lNI z%Pq(F%CfXQ{wP@ZLhiVQ-Fu1C__Mt-+%bv_7cMk;sWARh*U>|x3GTXx8*X7umgzx- zRsYfCg$=mOiPM7~CWhEvIt=!bWv+uB#zE`2hej$~ak&$0pS>9xLva1YCOQW8fMvsN zPld%VHhE!7EYqjDjV1dzTc(dfqpYIkVv`z6{f%x`64rLH@sERzxWe&ph;y98I9P@_ zVUsPhr=%n-N8I7Clx6zd(8FP#OSrQZmbJ`2M(oav%(aIz*9I>!{sB?wH7<**?BVaXghxN{A;}K+Z{-xYYONCEug@DtW(h+24qb;+U2^~p;ZI_wo zk<=e?mD8X;EKXSFGVY*-ootzXlw0U1+KSmS`{!(evWnbgCUq3`r@L86Sl4C7e>7~q zWqa8y9}V+d&fT-HrIuL_C1KS(@!=R)mu2>8s)=J@JPjfxtmbOR`!>DCboVi{cJv-< z!M?pf?XhI3l@E@OB{F6!9AwAVv9!8~Pn?CNEIYtqq2pj#;*Nu5H#h7&M_X8tIAQB8 zyUE6lhYjGH(c@>0^Idk0OKsrsu&ygj^my1o*E&qUCn0Qn z+~kEtEwh6xbOJ0E=eAhb49os(J18tkoUmcnIc?gMhE9Zqc^t-xv-kqXb=(6xYg}dg zx~-irDU?r~RbAPnDm($zswyd}O;tuzJ8IQuvROW1)((|fVGqcsR41WwS~GbPH49pE zG0a=Eo@`%AC*f)SRooDZ-<=yBzdGbjhVl506wDX4Y{x455GR2J0#A_y&2j>DMmPo5 zd51~CeA6w{Gg1;*yuhtU3AAn!b+DSdxIY$Faht#PVZO9wnx;D^@wD49r_tT`A`?B0 z=xrWwLBdShSSyW8afyiWSM3uF&S9oIgCK>$c%x%B5X^8aq{&VI!WuY{cbx+{I5^JuP#-Q4r! zw7+f#%Hs1R4Wi@=S>^K>8rj!n?2W6;X=(C&Nr0-1sG_LDWtKaic+VR>@eI2QP*o`B zi!q`C4%^dYE+BEiHylrzxY7lfDtygNtr$LGwJULnsj$vpO$z2qSf+_92`v6<{1+1V z{)bNBPR?APxDZzJn@I^B`%t^bEU@AtG)AEo=MlA=5x+nO0sRjSIO0;<9dq&CQ2egmnEXlaJh$~skLlrQ$NJ4K<3aTUYW zsTa>0>%IP4SB}!aih3SocQH9yXqo0HbO|ud4cC{@*G*kcpnVK|TG*nUxP2A2`#&9K za}>H1mgNh~m%^4>rn8i=rk%NQm2P;}+m44Xla8xOiVCR8hzhDIi;AcUUyiC%l@t|I zl@S$JRTkBxDtrZrYF+P6RN@M(6?W#HRct@L(Uqr?u+Bq`|4Q<-+A_^k;!0rgP?G|B z5BSBEr;@Omu<^%XQOj(e5^-20%+0B=?=92GN|Wb22Y)qDUMnNN>Oi?l`mL%g zDyAxYwe(w6QdARa?q7L?-;%3mZC}}{tSqceRrnfIyQ(D0m;Ke9q4YJFij6Y)YcTxj z*4xM|;?Xs60#<)2H=vTC{@XZAGn5t>Kb0F$37oR619jDPEo{*w6TKF8yJa>*X<^w( z+ucnV zxV_4x8fhde=qmZnqg2dk#c+~F3aXN#imEawpJ%XRZ1bd)#984qVY@j{mr&DS zomZL^%y+b9nx>M#;+4jKJ%I~$cLI;JlhXCD8WwHB3YO`lBrL+3?FQKNJzQx@+yL`j zZBnqx>>f5v-b3h zPxQ8KggZ^4890maoQ4^=z9i&IQ(9R4ohA?S&9h9?6uJ=@zmuCr3H<&LSDG$MvYLG9 zMh?5^E|ZrE!9$%2Iyp5FoV|-XNntB2)5%F#(`;@eC0A9ow$I_4q?f9aqJpY2q9Urw zqUuzIZ$`ybB}K(mWkfZpDvN4W6~2Wr)mH0HR^k?{6<7q{g6$>8xsp{9)+x7=lB~6s zX|fVCfkl3@1?U}jyenBHVKsbB;Z|6aWjZxOvtN6-_6YywqvcI^kK=X;YOH)vhXos>q&TQjf53-7rfoK}F#fDi%~F zQNE(Jq!(Sf1y3=)q}YOA-&w8%g>Hk@zsa4XBq(H=CMYd1{-((Ty|d4D0`0q8=yn)4 zc}8!CJ!hHDO~SI=04nU{b6g1u-2rQQ+eGh>&Yxowl(|DXj~bGamCqgYuw7aBPFPk| zQdADr^A+sHcT%&UtPHCt^5N25wC$Oq$-j$;DpeVjFEGXNq!}vRg{cDT-`N-*eT6GS ziP^BuFS)&x3{AC6GgJ~-{L=XECUEJMPGF6lmhOhtd~H&~)>)?0lCTJivsT#6aaV>C ztuW78ZXu-?xw!2`xs|>Z_$&KahQO#fbi1f1Ifo8Dp5VlPGJGmkb?ZF zoPq_FB~!47s*I>QsVQIm+(1oV>?(JfLUVBzTg!c;xW4`-SDMno>bY$W=38i)rYSTJ z7~jM_qXcfc*$JF%w-1CZ;+tK<>ThwF&PeybvV0}%9$3jTosnRbO`cQDs(V;cMrPU$ zhwmj%bv*d-Ua}X{(hQ}QaaCneO{&5M)v78fs!df!R6EMqcQB+ct1LX9k(8V1PEle$ zt_rxCJD(-x`gyJ#m4FqU!;Jqvay0ZFhiQ%y_W_H;ObY0|;$8>pFB=J~+1dE-hovmj z+30>)gteKl1B?@=vym{*F5Ev#GUCRjDEVjUzN(C-5rs=^OTe^n(#6;)+Kd7hw^2DyeFmMc+|T#4aFU;)&Sb+BoV@E#E4nFf#0(a00- z43!?iRDl)lUobrRMOTIre}Q$LYEm%YOv^MwC4t3LjejA5YhH2!&$ZLhLRigdCM9g# z%MR1&NLYkr*`u&eEwf`N@hHr5x=Fz*1525BFTR_;Jt{K^%IVu<^erOl8fKtrkHPAc zWrW34l|{u>h5yRn`N=6Hc>LEZ9w_jm%7swT7D*epe z(v%if&vXg%l`PXVh5iPNvzz%h0#D94f%;`VVT-QfR!-PF%XB(=9M;Kh=Hsy7N+(XI zBVqHe<}OaT)K)TM)XRkX1iffNIe)c_YDM)VE%OAOZ(C{dPsq^I((sccD61+dDyJ$V zs-UVYs;Dablw4|gcZL#AVXDju_bChy`^uG}lCUCoxI8VFnq``y#M8h5>`DT?3%+&& zcX9?&Nmyhy_jJORSY|Vncm^hSwFo?qcTWhnBY^N9PsxqRos>-5r zqU3TK^(@&dC`&#oy;qe%Rd~LUcSn||-!Mq?jG9r;5fMQ3(yRYp`$RasO-Rk#CH zrz$BbrYeK-#mnwIl{&D-jV}HSwr?M>ZSTKt6B$_XP43bpPif0EPbGl^*pggK;5I%d z(2k_UVp!yDlM=SCWj0SGVf8G@mcZV!OsAwJutxsQ z71$=rbT$$;f33;GDkH;fhQe9ty{e?Bn5vAZxT>)O}wyZ!)If=a@Qn~eW;5;XJ=4$}lBUI%hx zKnm!+BIrs`304{LOfo~>V7-;H&}Jy{2CyDDSKt8$I*~R-C4trbhrVyq^OvxjHtM(GRoIf@6J#tkEtZL1mrP%e}gMSX<>184`IGH zEYl2yRsmbsc3ef^@JpOP`wfP)uEjB|3ov*l`4Ur~Jv4p^~u3 z)%>O{Y@TI0A$Pk~+4J^y2#A{%yEz`+JSSOo}!s2sWX$pM- zo6j>^zmU^AM>F$<^jB3GRgs&+U4_&sXlb$_Jyn%KRd`Y|nX#o-ASG2PQu(Z;@=H_z z<&4TN2@9&qpnQ>(J3*x{@x*gu{a@jC@*}PUCBA|c`MqVBZ>D9Mppw7=>@t2$;F`ZU zf%dIG@ii>MUx>mg7CKDlB4PEc#@50XSf+E)S{TprPr)h+3vDmTYo+t5!r!1gk1`;7 z?y~&!|{84v?Lf>L4$z509 zV)*vIyE2p(7H78*=1W_q847g)Ti9moB5<1ySBBEUvV1fw>>$f@F8U{|lWoR-!rr$` z=OSVAmzg}QvMOVH8eUH?0;-atf~qp2BC5)w>QFtKm81SezGBLf|ANI;WkfZpDvN4W z75a4GArBfu)SoND^De1MV^HAZ}PO(GR;%s-@pNEHUholmb>y)5*Ar& z{NKaQw@hcG?_u>U%7ksQOlKrv)jXd4Kg>vxcTJSn%DQ)LzB2!zH!)RZQE^nyM%kz$ zIcZXsEK0wH$)CiFg|#Uw3u{*u{sEO$l|=b+@47RT{sB`-{?hva!|OkDWhnF`EY5b} zk7Q`*=MK{hr3JRI&j|Eh@ec>;%IGK7TUpO(=G329Z{2U9&PD<|fvW@_y2gpLISQ44 z^ZOB5Vino6hU6S0e=n5iWUHv2P1q9MYEu>duXI^e5>=61!wq{RH>ag#sZ&5Xk4O2L z){4rKKf^p<=xIRts=jbc>5N_a8CPXo4e7@6zW;Hke$LiSB8oeiR5w|gWSM5EBya#b zjb*a*bkPaa8L145?80q&u)JkDBMGZ#IkrKv`-3Y-i4Cx7{%n9%w*SC&BTvQHuz^lx zQ9UUNZ=_Q>QSz0pX&Ye$lrv&P6@~SD0x8P#qsIM@xGGgiR7K!NllmV=3R1eNMUM18 zHjg4dx>FST1yf1>ruhZKlPjuv|3RA;7H7i{=9_7mW+?P4kjHCBeQ#>s! z%csD?w(RdPosl-dI@xL51bf6XosopiAI&eJ;=9?Ur(ZCx#U-!rO(HI=P*PqKxnN<{_{L&!Smo()usBUYV5ibnNo*?}iLIEHl;CHl26 z8L_JE*TMpFJ6DQI!iqfnsG@}hq-C0-Lv#OY)tZ2TGAz1PAdRIN$rFI`fVK~==7`BhWuG-+vg3+lA0N{VVzl@Zmh zsw^t2D!e5srz(l^6|5)CPbFRJ8`~5hx%`)A3InS*q zXD0GW?@@FAD+?VTtX*o#w<@QJ%A%ZQw5Z(XI3JlU>?Z?^0jj0Rfs}eiau)|*pjbSR zAyhTev7`wq4a8GTf;$QEyYCnW>O3?E7GSRs=9^@hCa5GZ%qHX31U^013DkLLYgqhl zZZd@BEwc$K32R{~whioxajpalhg$8475jXn}#`fe>TzN_hYh%X{=9_7m z<|*U{X4q=<6S$_%3AEdgX<qQ9UckQQMKB2&!impC+nKYi72iW=vICR9sbfdot7%b!RBC zJ*Fa0aWf)@??2y_p^~sLdxbm5WMr9UD6s>uj!i}&_b@qu6YXRqtcAx4SHt3#*$gGB zVQnnMgbljTiPOnQSnM6{MkF(J7jiktU$fJ8q=zw7&!v{xQTpU4W@uqe%EH6Aa9X*0 zVi@sl5I*btdI&r7?0PD?gD$-6;RfTtz{;Eof%BjkTDyS-pDyj+xP@ZWzI#Cr>(@ZKrM+4Iw zPnw}p08{nrjDI%_kG{=;IvefQvU6n}pL5OKjYru}wNO)3650SAvU|%|@6y{{IZEsf zZ0kp;!1WgDgd{Kr9I^+n`3_f>5_MV^ByUGtm0DVsIx$t@eNk~$Nl{IzGNM{ll|{9odalh; z`*Fp!KjcnPVn0m9cjc}^3@?Aim7$Wb2DS@FlA)4inxVu+bdjFhW4+qeTn5vAZxT>;UMujRY{buU_I#-mkwg8c$motF}(3LSB63d z!n)WlJW%GO*Bz!AN(#>~HnH1S zOW@Lvoj_eD)xt8@@VlF^uPn29DhbQ6+Zcw;=yc^N5r(xUObS++?bOVK83Q>U9zTlG zf|e#n(bJ-;j4011^jjWpwn6?9sX{r^*l1WlRZ>(?RYp`qRT<^0`^250&|#P=Cb;(x z!N!oscG_XpekUk=mRXe_LOCD~Zm zQp_*ZAJZfkp6|4WOjQ=R< z({DCu$)luCsxqRQRFy@wstO;CY7-^j2$^;?DQrhMo0g)oTC*%QbE?9}FmMa(3LQg7 zi`LVQ_MWcvF_;?gG{1|9VPDnY-rE47V__aX(LI*HkY$>ov_L+C&I7%(2RnhM*}ve9 zgVpgAq~l;~Ez=1~SOcpxVNHG~&Soey9#*rQ+xo~*)<4+UU|c+&zU5HP1T~(%6;y?f zM-^2iMR|tUni)}5s>-4Qs=_Crf~u0DBB-8E#TTEz1XVZ0ai)1Hoq)BL<;H&^wlCSk zm8ZmsuqO5pVZM2mX`V^~`6Svufxz!aIDtnvc}h%x<-Rc~VZl8erW2H~E;b)ef~~O3 z<|%O!Y!Oc)g;iGVg>QL?@P?DfQ$SSD-?k^Cf~cOXB~O;6!Cu_gM?{^LmMN`_sS2Nh zimOVBYEqRE)vBtD^0n>d&QPchQv<#=(K-w-InmKf46~|^#pPNHHASI`&}!(Z z6Ip4E3p=4YMG35{AXMPh7U~=o1vUUrjRLnBjaHKhY7aT=~#a5eWdEN?vCm8TN0 zqKRF^(-}!4PH>o}DRDZGkD*gQ?~D^2xRYHp3Cj&P{xe|rTV|7#I0M$j_M@;vC%AG{ z61HepeytMYO%rsq)Jw-zWl$Au6SyydU5*X)46Alf&mO?2Gf`Qsm^_oPoT`kdf~vBp zqN?y@l;Q*~$T`5Y$U`=c#!hAC=(-f5i@?o_9JObBT6Rb`Z~^%{4ELKk8xa3()SiQ&g@ab+kijL)0%FyCs+G((|_ zfI;>WFCy@OTb)2Vh|5U(W7Z>^^>Nl61xIV?fD`T8l52exsblz~$0!l=JQWD`0KP zl2=H-Rb@nFRh32MMD={J@=D?g%92+ykc!sR=Go{eeN{o}C zkY$>ow7?*Hi9qk{C!9cgsfDhBH9W-)e6Zz~*$kzHH9f_TNy09A(v_jm)i8c{K6*8o zX@An@B6GF$P*qt}PF46Ch7LQL(QAk(QrdF?F206-d!Eu+~z zk*6F_nxRqxQ*BQh|FsyN{IV-UiECke;GBZ_W?H5hDhX_75Ar$!*DQ4c^)I;VU|sK+ zl(33d9A-0A66Rq=)(Bf*nNCKHu&{T&Q*FQt^)n*&8nGLUjMTzPoY~m z#eD1>y_GRFwA*2trnJBy`;b8I6=etN{!%lnVOJAvhTU(O&P&3Y*oPE$=msaw<|s4^ z7U2i8XVLwp4K_uYS<+!qJ@&z+B`4ahN-rI@!yW&eSQAkf8Zu=hw-s<3g(++nP#XYu$_I#I|zJw zpcAO`(jBm_!}vu=Sl%+7mxOs(mE8%uVvrN3^U|HL>==`RRkjcE+jp@$=|xsm_%2jV zRZ>(zRYp`%Raum0YuieAHmXWhQdB@yMpRH$8Rd&??Ksmsh3>{$U@X4{iS5a|xbl=1 zR?Vg&%s10A%~Plq7-ToHmB2N_oj^O1(!v_*`4vc*Z&!!u>@)|~#BSsq*khLI>?AC5 zCO-fvpTP0wNs4@V0)8_$APdJ766hU%kP~P}Qb|}B z9}wRQJJK?pknV+fSe6M}W0}rJ!m`&IzacY$gKaL7hF%0wtD-Ww81fWRRu)z#O1_{o zYJSTO6|sZ)p-1B5S|>A~I!&s|qFPmj??bhrobSxt$8^+wuscKP`!E%_jvs!+@baTv z84BGGt7bd#elk?DOf!@g$g|$_K<~-NIDtAF{TbFU$3*`OyWTRLjfBl-A5z%%$2xI3 z8$AH4PjT-aJ&YZzqvZj55m!|f)ubx?p!8Q&QdFC&jHq^1Wl>p_^YDNLjf4eRmOTtR{Y+Pe5)Z?Q#K9`t&a@dSKP){}6@El|swycerz#_=fO2jo zd4$nc6!ky(JL4}X&tx5!f1zfTs*I?BsxrzKoa{K$JcSlwt?n5UU5M=yE^*~4Eo?kH zh%jHmGR;%yQ6Qg8M;|5d{YzbWN(-C6oF8U{ZL~~hqsL&&*m`^ncJF1bJf(%Tyle8X z%ED!~PvO7Pi=wI|s^^(&f2B^<<(f;W6HpaigbJ!kii)6|4>A{#uR3LAVKG(VzmcK% z})!)Bi`1U`!GE@>)VDIp8GL*JVGn9B7$S2b&pm&=aoj{$9gayAf{wH7u zS*Ekm6EJ=vHYMzR%XBspHlT~&Ta?~6=~;hLdao)YDyXU~Dxxa<6siuj>IqruJSB5e zlks=R*J?z>oA~KPnr_-0@H7Ffs*)&QTa!CM>8J73&}H&Z<9A7`D?y=WSU1Hg&NQb! zBTGmNHA88kN$4u5cU;N|)#<1m*j`C!JMa<Bsb03ko=ZI@lRu!|pNHjC zWl+9?wWilw>3O_$;cZA7;~W3t%2pyxCJSsJrWsBn7CKCmRT5Zc=kf2PdB&p-w0pOS zzr%t7lM?ovWjZkl8_&Az1=z`txiXb_0XASaetwa2-uhTiYS`a?fsxSmm<$URPfjU6 z^w&Y>vZ^woa-xRuCbyx3G!#(Icld3@aw`c7o@xA9*sv82(-|oX8_$AF*bA2Fj3jKpWaEF89(vxh z*UYq6$w?K;$;qqIUsYvMK~XYvM!iPOh$y)kdzz>^t(kd^nlV*nQE^q_*U46 zRb^4Fs=~`qZK{%@+EryxzHGsrr_wU4bzNut?_m4WqAO2{cVLB9lY;sB|KKpqQ%PW% zJ;&t)PWjQ5r^IqtP;PjE-E5goM#9FkEPEF={3j>Q<|*+mY`|Q8sE|Cxej-n@e%|md zBO;D+K5ScoY7!=2cTcWh47C1aQY(mP)6z1fmF*~JhJKHTtg_^Lu$-!lsDi38%2%|W zHcv+HW2#{;ze$K;U;iP!|Ef(3i?MYG^Mx$a423=bCfRfRfWX;XIDz`tny_|03l_G- zGM$Waux0Ey=3u99>BQL#rG>RTWAd=dwk?M^SqQI`{;Eof%A$JiFj~Bl-shB+g%wnV z^QfY#q$tl;L*$0`v6WT)!+D#O;()5~DpC~O$}y!WO02?F*E1%y3dbkx;7UYv;q@Phq1+I?U!N zEo>QEkHS8(Oedw!U@cuH`Wbl&>~DLY`HTxHxWCCuX+%rIpG)6VB}K(lWkkhQl|?nF z3jYJuswyd}O;rZvYv13Uq0&Dv)y3*|4ThJGb!8~AhJ{n1VzQaLhLvQ=LQPRgXc;=> z3zk(UAMS+O%PsK*Fxa0^f!AATlT;EI0}d$ww~siHIwci=fh~vxR>mTFQ52-pC}*Gg zOPQ0DCBKwTtICLKlbStW9H3@JdxYEfNN-l_B)_6gPE|%!K~)*$D_T=}!G*rYRTHjG z{Tj=@iH>Fat-ds{AJ1B^x{U|Pf88?D8?=0w9WZNKcxL;M+lKN(f6x;w-QA&SsP{5k zwu@6%qO9K{r^ON95OcfbnxtG)3H!HzR-S)TfOA_l^!d_q0@v6_FUq@sU z%hq*7CN0~^9u>x~W~|(fevJ5*qt0{l#JBLW!xsu~w|tuW)4#MgrMfb~gRi%(jk^?i@lg715@P1Yx^%Mom-L+fs0`)cl1w8A6UNQXAW z(-P8x_@wc0uQuNgXd!$*pw(EPvy(Y~}kX>;*O<7v11Y3`3`_4s~7 z8|-NbX{+!_E4RLFXifOGq21G_^|~+AIqP@!W+;^{VN17D8YnW6?Pwe92x|)6DVf1rRi8PL8T>%>lLpAzK6BELoD2PH>;&S0l95iZ{(jaV)}^mWi;eQL zl3Z9}UlYlN-Qs5rVnOP}7Wi4oZm4I&d*BrfHhIK2kd=6YY@v&CzkQEl09L8BiXM8>wS@b zonrltWV;${q@R^^ft6C%1$Kjk|Ju#fDP{Gtt9lbm`=7ynO&=6zxONwYwCFRZ%21*Uw7!g+-~`7q-mL z8pIY*C-$wMl>}go)CFJ%l=&Aaww5}vQa>xnhqX|b51Z&`4Psr6V!s;fem^TIfE6Ca zb~V^iKWh*RQYW_2&r0@#g{a#PR&c3*onjNH6FbSzO1i_Usp}5A!p|DS=29mX^|O-w zVfEDQ4_o4A4PvXP6KnRfk^^8()ExlZXS{!%Vj1ehf__$VAS}?|L=J?F_p=7Ee*H~a zY_^}3^njI8*8}#FpEZb$p-!yH&q{j2DyZuT>w1}gonq6e6D#qvl3uV{>UzO0_Ok}D z1a&YIIATUW6Fg`}k4{MwKAaDWC8nv`08u$)D5 zN(&t!CmJ6sV?}Zv;&nYjT@R7BkG!ZRR3xvoKwr&2R6V7YA1a@;gtSl}`J@GooN<&n z@vs>OnxwSy!{j?szQg3}D<4{?S`#}`vkTQxYI&iY{p6GuI#Nz)fuq#%@EHf{%#YL> z50~>OIS-e!pPbSH{n3KG)lph`Z~3Gpq=k->Pg>w;`Ht|;`Y3fgLQbg(RGxV%r?kKT zIg8X$T6vLt(h|}_N6UxCXQ9{tolPIF=h5ofXU2fMQ5D{m;C@r>GlO3f2B=E3#ZOE6 zLX)E9eWA1e=C6h32KdWvU#^sXlYFe?NLZ4;>>deQ?q>~RQU0LdEN}`N#9(tP{dGra-YF(>6s+WWA8QbcmYTF!($7lzYu>3Q(jRus4gNZ@z)+JG z>oVELN{-gNp(b)Ptj^CG#CU{qTCB9nUpGMWhMC9!*vEd>AQm{?q+$FbnL0_Y-!W~k zU;fE@{f=pSUGt?Uq_5=Bg&b#eTx`Na@Dv@3=S&kDf?jp(j2?NTr+D+-|202WYdgcF zkJTMKMAy=BTsP5E^co+hYe`xHtUpYq{y{yZC8Pz0qBTnkoGRZy_0~}pN8Ew=L)CGhI!ev7@zXT>c(l+^IgeLw z9VK)W7^aS*fz!}}CG=_J$!^N41T`u(fohUE%IGL`x;p+*9fzS+{n0y{(=}UaQfda( z1WxBDcmll1gvHBGP*2p{t~1PzGiLNR%~Aqq$Tvv6byTIJD{HGHrCYCI`_% zXUZ4E7u8XMBYxiq4`)WRcwjhc@I>!yq?VtE8kL$rHAx+1bQBt)o`co%&uCSHMWxkA zOG?W~3yk0>_$TjNMyTVT)KO{z)dWUT(=07;mYgT4w~nef(rYu4n!1zJQ);G-pRL&^ zqlHGwc``Lo9VIx@`JAou5f7Y=8XV%CkJR!Zs8Oj2RFl+EMn|D@)$5L-OG>Zo!sKL`v8$GrBG}NfngjDXIu%Qp<;6CWO3g^!Xi^uDLvRGgoRb{oBh>XT>WZ3M%Ky6>q4%S)D8aMTT}M?M<<|0# zW@o{YWBCYe|L)a#7C)Bm{rqPBwl#7_FmKA;-dkM9=eSKCIiqLZbPI0t{s`4DlJ~wc z{;SqV-g~>=;}yBT%AO5tNktm7F^4%2Xz1unucMLb+Qt)dYzU&E4!)_Af0))rxn zGcE1dG9IDjTnk)?l(jt*{5+jAj*Oyc zlV$cbZV=-E+G(-=_x--%pz~=Mw7@p3Jf9+-f?abyMN2Gm*P)o6SUnoHBTK`{qiNXX zes7YCa5P0cb~;UwNtXTp`IcM&;Q7#z3+T4m7WvYlG*_kvW8 zfmL5(YQ*MQ*0JICF*ICYfeY|26g6F9B7dQ%{{y~;4PrdiI4w5OvW^W0jiq6g1unp` z6!Bo4dQ(O>(Q-AuSl%n- zy;zMeS7T{OX&GrzX+@XFccpxncs(yyPpL_%8B`O!Le4TdC&*c*j#sLqw4}6*w5YVA zOXa&tzDvE1SE{4bq|^+miB6Dnyqpu|9IuX7siU-{w2ZWypC6?qtv9- z462Dvl(SsUYve3f$E(#*T2fj@T2xxmAacddL^$oE(I zq$Q(@?mH{+;{J{d*KJw|cTEn8?+={$IYfl@oR4 zSFwEvHf5oYwTk83$o3)F0Z;o_<<+pp8`(X?#UGm7VHm)KZs3%AT*I5?Ig9*d*J#{7 zOwBd4+~jAiVmUXlc?fprGyb~2YTQkxMy&U3<71U&1?X zb2Q5lsKycen_l(Xc;(9frdLKN-h$s;&iTNog5rfvFq? z|4vPrNlm4u{O{^1H6gXpQ=6p*ZkM-`s*sMVbd;Q?o|Wn;ErX_Wnx^U3qlTu*c|Fdk zjuISkc5S>_Ja7kU@CNZabw)R!MWrRsI<=VCG`$Jwm~*;QT_>ySo$5MS^Y7ApX-R1r zX@R@cvx*wd=`Nj9mAXnzNadWQHcJgmm-j}hLOQC_QF4ZQ-l(3^GH5!d8Ja!?H8exc zDLA7#N^qoe5^oj{%tQ_TLwuIb=^toOX$fgb9c4Ju8O>79o78g_YSm5fdz*Q8UOSt2 z=Q@F;Kt>=io1@^(6mnX#DJ;KPjin}}a#~WGr3UVn_ZF%`I;zr9@*bVmE$S&PgQnBE zM@zUBHFS@hx8jWID50Z3l$vJIz`ba}YEfzB)o4*^328|kWjNAFMb+^(b&R4`-6kH> zY-vep8EJtSN5QGy`NVWSQ`J*yLMrDYwOMMQM&8@03hAgyN6Gut^LF)=mO<0`+^6Z& zP(%00ISrNDsYbVxciiS^mLqV#y52#r=p3EX9cWQ$328|kWjN9~%~97o)pd@#-YNco z=1WUT%Sa16z)|onbu{XDmpV#Ipy`Yr&>2Y$7&)io4C$y!N6ESBI9(m3Wzcj+b2WPg zYG|&UGt^y2366B(i8qS}9z+e!6rZQ*Gtr{b64H`7%IGNc5VUBPI?h9@nk6c&PFhl0 zMq1z@j)Jq9Qf5*QF{OOAI!aAQ<$R3d>_^EH!~@0`nQxEG_U)IcsnxO@1wxP!-1}DPC8jp5hsC zPHVoFa35-DK5Er{IHNjBaHP``Zx#oFDg9bC7ckdq?=;Gw^Nihfl{(mD}g=sj}1p_c8SWe(sbRo&iPCGRxfOe6dDj z(qg%*f8TJBp<%!R_c7H_R5;hv7>a5vbD#6Ys^^-5xv+GWhLh*gu*u)BVJ<~Yb4{8e z6MC}4=lll&rR@5BkZ$we`Tg?Z57MpP0=v9c71ch-X3w|eQCR82Y({}?$kH(W zC=FZu4O>-I`!L&5D4O(v?|dsCgXKKJwiMW6%Q~L#_Qz=0Xn_l`mZGvpc&wDpcj5n^ zZ-YSNBPI>Vo0|On`40Lg-J%w_^!`av;iGI+p{O9`TVAVJ^`oX>J}hEc$K_3)Ps1_` zT!8Z_YI@Y9RkXq1u;g(V-=Y?I9M(Ji`xV9?r(v-LwqdJ^Y9HglQ##*8+|N~YdRKW` z?;3S_*N~P$;|(9K+ytz1*rLtcYf~IhXwle;W?Fw9=p~@ zTcH~DoJRc%zS_?#|D~7WDYm2#LiB|WpXUK4^t|5F7V;@Mcb%_oVDTXDN>Y8|tmoC((m#$u~^Xqz@>-BQ#D8Ugw6vK`Bi6b6pL=8SK{suMW&!a`9 zCD1ypF|pTm_2{_F#NN#M`P}jw6*HoKYCp9TGgK7fH)b#~*eN$auP*-UQG=3t+ z-qd`lfj8xBz!}m}6-WF;Y~yte>M1qT##iW^UPKEmm-9t+*HJ=8ftAo^(ZC9{;7g*? z%3nf@qU9dm$1GVvOc}AzTj~~9x0UJ^_s(S{>#CEQl$w#+Y*H)8Aed0cRqB{f$G0>Y zO=q)8XCpPRO0!>9e;rkEq_YvPds$tjX4?2_&0m5RdRxvV>aL>%M|y=;tEYHiHEQq` z@pm-+6||_dgtVlNG92mkd54;!SJm?!)T&oe8$Gp7YEo(j)db$D6*J|?L<+w`6O`fN2DV`fl_%2WKx4^yMzRty5yM)IvQFO*PzQvR@vX~r`N^7x=EcQ;zJ2s6s()4}{ z+`RI_>$%BqZB;1^fgnkoS3#{X*zj1O*?P# zrnzjFE8ExD8$!{YmbniDD_}WG*&6~|X<5h9kFTKN8h^u96_qVD1uH2U{hdG4m9WO8 zrbg@m%Q`mPzLJJ@7Pvg$qNwn76M2iGzAe6n4KR~j%iH_fw|INM!qSc{2d$!Ir3Eg@ zRkUn+-PEk2V(1=Qf8R8|nx@??uuWT4RQ3j2OO%*pwqfNvu*NsoTB08)|KkTr$MfF)4&9pl z-Adl2qHvjsyi2z$e(;uH{|j{kjLS0oG3VXu&7%;lk8*rd)@cxX0^RBg;I|a1dF>mt3DE!Y_Hr?~L ziY4CUiBYf5QgsCya^ZB=}A_5jnz)DXOLnle_+zo@)T3&TYikk8^jAu>N7u*pl2#iW6D_5Xxk)BlaNVmP!sWUwtEZvgI&aj#8SV4$4jy3TP^E2ApRi(c$;Wj z#fLOlU` zw$3uQ>W_4zHgltn`G^~Jub;fJ9b3mgV%@_{xLGIu5$i6oCb#bY(7x;~6ZsGA7g^@k zEynX|(qdm)_O(6VwXiO$Ok^!Axx*X$tvz3{(zn^Y0(vZ()ofu=V{35d z`(KKqtJ%Qu11`jwgRxAd!9PrriSyxLQ3Ej+jC zJyY;0wWBPvyBaD#g)Ml`)QH_3gg4W-sENKi{e3H&s13evYMQ7WlGD9y zdz*b1YK7&Ewwilq{tW+w_f6z8{0~^xtHV7T|BM%Fl}T-3VDo1Ttj}T^w86XYWGdf) zX|**~+VnOsCG);XZ?8Kkz;g4vzP{|fCA&tG%IL(urTM{GOmR#mnNfDK zoM0_3yUomKVg6>W$c2`*=eC(xLjPgo4GUP&HA`+=FjTB%7Y>F2d--$Q!kH&b_-CE@ z7A8-y+~xKilleC6$amBZ?&ePormK0UYQLj)f#oi>7HSLEv0I1QO_sUT#6s)XwFB$F zcb3$?C$)N$`bDXIPxE0}OmR#m`HNDMHpZ~!vZ$% zlO?quFqD1Fo*xXO_VuUs182TqPIx9K{sV)f7Q4_|8Qe%|E2ZND{?NqgKVdr%ENPhw z>_=E&J==m{1^Hf`3rwtZJ==p|5zBm+*){^JHK|+{RlbcyU6aKW$7GVZGYL$VJFUe9 zww)PC=5Hsk9hS8Rww*kRKV|a}3)p|ZEP-V(gqqk%gyAM@aJOfM!1zqMyAsPVIbpd= z>?fr{?N8Ls?CwuYtoAc@8No7^xx{wBayGEr2sU_se_~?A8`yOOn_`(Sv7bpSYEpYD zv7cGg{aH+LOeVRf5|iawYjKI~WJV+Ncam7|1HAd|iR~ni!q3^E!~#w}FiT>;VBmpu zkzX*>S%XXL7ZRIp!d;cvFHCN-+$Hv_Qla)&Y8UtLCngsCf~`xi!k!*;iTws^`GT!W zu<@3;YfP;0OSUe-=3CYwu{ncg_S7%L-Dd7Lr+nssyjQbW;xmb>+sy8BnlXH24KA%t zGkFuZUY%z4%nf|SZl;+-@-9CpOJ2DciZ`;Q3B$YA;PT3y*|za? zU*(m{>@Ej;4P0Kk%_I|QccXTlW$x`?tom!VHNl1-;?Juytm$jEHNj?D=JFB?Y+_pz zY_(+_@-l;VC$I{W%GVXPJBw=0Vv1uj$$VX5vixc-F0(zDQM-w4PBVveopk6fiS0ok zIp46)i3Qw!SeC^0#8Alh>+gx7)f!x4dy?1$6Yj3W_GEH#p+B)MN`=}k)aD-UF_)NF z#b!16Zz`Pfa$dXt$_3oi-wA;*J-oZtl#bwrw z%*L2-Pi5AP*<&nsSJ~dW!h5QEZ>szE@uvpOE&HDBPz;}InM-XSSmXEXh=Q%N%%vvQ zLY-KzzP}G-(7vP=GO2@<+P*BSB#SAIiEY42O_p=4#ibTtM)g*9NRiqy%i2>5kXqAL zwn(vnPmauzTD~sCR`y9@7}n39Sw5NZ>*ArxET75Mmb=UflnS*4)JBf-Cngs9k-bu| zM$24c`@!meWUmw~x4&2C5)*5pPHd=U9WS9l-ASy}qzaW-cNR4+iz$xDBny?8EH_w- zOKg8;RBU7K6p3xJtUa;)2_(6V%~LF3_W@ZFJ3trWc6Lxzx{fUX`YdFOwTINfvCy5oC zR39bQlSNI-Vv1v8hmjJK)?_ioF`49XN==q6*5XntVn}H&D=3>ql@oCRL)~`mwN`Sxj+ECRw83WI5nZ-U?iBM=_*$4_0s# z!OgU={SG~fSfbDmp?Oc7lqIwPUzPTJlWf819jxEQUA+ zlRQz09YbP6ti>gEEH`LjR}(pw8+5T{?SUOj@9M7XGo$x=rCIVi4nyr;CUP8xl2iS0 z9Y^Pld+{tXScPRStzuYCHxns_4ISza3&!8R!zb(dEM~>^mb<+EptqF0c^nzFTP<^O ziB<2-)5u^0Ps@_lK(4VSlNzFHY#_}?W--MvndA^9Cd(Dp;u1SvACXScN2KHVC19PU z?U@}HzbB0aS4yLwdgg-f${(5$%Y6nxBbC$cz+&gM(t3`TykP%`}0UM*i_4W$(=-UjV3i*r+pI5AI@TmV`4L)l9S~nYjMe) z%#0T1pUgelf8;KyolGd919-$43poAkEU68_P;sD%48gF-8eD2aIP-)FpQSS&!sLyX zyVOo$a+2Cps9kc7KQ);CdNxwEr%>DPTz_h%)E4$Mky2_WTINy{3-vTP_lwrFJUKmuE4>F|p-PsmZe5T3l*FnbE}jp`;cG?ULG1LMiQK(!jjGhO?x08iuli zOyo2SYplVgb{c2Cz=T6O^V66dhG0=a~eeFX9L0%{f0yV#6_n4l|MA7u_VrQ|a?qj^c z9ZhjeY?xGHvK(tIF0ql!Xk`9K5}R*XdtxIAq>wLm0_MH;mn?~$jiHopM>-or(OA#m z5<8p3rkn6sC3ZHG%Pe=-*f~mt+Hmdq}|PZm{`RClNM{S%q8|0SaJaS4`Bn#{fUX?@Fj_2 zlPvQkHkQQ7OzH|HHkL)r&SHvVVt1bsljTWkafw~XjOZ~uc#Xt*UGB|qPwYYhX<-4t zygy!%C9!cB0>|<6H4G11gG+22iH$MgtCZL{Ca<;JC3cZgq4pwb7hdU4OsuS!2V=o{ zOz@aX>|$7Bv58y^8*7=n#>85v6Pst5FR@EVEM!twE3r#hR6`b191}YTm6$B=TZ>Dq zj2YE`Fp)A68+z3)iIovZ(;rM4n0L{{EQwu;A%~|lT#8}2HMqnsC9&Zqe613@l*u_) zdktJ-Rl ziRqsLKF(r_V=~DKB__)@YjKHPuJ@C_>HXw#eh--V*IhEZoJf*?O75>yF zz-oggG6A;GGMAcIk~*UyPi70c@UH?Mg|Qyh~?Ua!<-In-KQY7@2c z8?^F?q*h~T`@K1lP#RA(>4_}inMqkvyBb5&U=z6-L-)UX2AA5^q}I=btCZT+%nn)Z zuC!}3yGpaKA+_F>UbRaNnp?~l;ao%KsAcZ%{3|Sa63=*pr7d%*iSewQv{=FQzYk>4 zwWL;PQd5-LwJd8u7E>IPNlsB}vYcTpF172J5jxpKuH)`pVp)4;*AYqm$vpFo1^oMl zESXhcNDkq_Zx~LR?9Z%%%zBvc&C0BT$yJuS%>JfSPT|>a)Q+g~Cni?NSMrD@EOUuX zf>oEA$RyYf%Uoh&e2;5dZ19a)68k%e1=xM6#Qx5rMrAR@F`4A8N=%k(t;Ho)$&6CI z5~z~IHdxl4SS5kfo@&y-ykDkdN$h$IjeIfC^%%u&o!EHGI^J}Hsz@w{y{k&B zibdU&#T3WHrdTB=%LCTp61$NZ#iyIdjU?9f7H@ugVmA^hByW`+bXM@$!e*!xU6oWf8n1^fdbC!uz!~>}Z&Nh+TNo?$$yCilyfmEDr(!jjy@5++cGz`&mOk^5{kFCKa zHjOi1Yr-*|`7|c?nC>-jsolZk7HaRHc9Ui9Js+mOnboNF4r<5D@TYbswWT4RFh?!h zR@?q3ol8xuBE%EsVCyXNrFIvoCE4_=)b65rYZg-+6T5|#nk@Uw^k%r!rn5e7>-*JW zI)5{pYI*y8Ih|n2!aRJAMLaUgEB4)&Gt_^M?yni#U!7-r7MI-&`mZwK2Xy{3m|tqS z%Wfv;*c365nY1ss+pBfi!Sq)%quQC&R$K1w&so$Kk1~;2)Go8kWhYiP%B00|@A3Nj zvYSnIjcgy*iO;6_!C6dkOzcZmcCwscEiSvenbE@hySd^PTGpQ1-Q*TJ-=u+gEAGvb z+daA@N1Mn!7zRZBsolewCrtPuo%uaXo?y94?Owg7J*3R ztAA9hui+C~+S2yqY6zzEFD6~X5;otLCAs@_Nscv<`!I~U-=ExlocjV3uGP8U$Ly%( zF1h*XeEarfw4GMj6{Pbjmw%uZPDGJ8#mSQf9I|Yb`FbhndmH{D;Y`_e0+N z_RJn8v%*VF8kl$T!&x$WM3>=s6L|zfoi(_`9wD*mCcIFIJ;LNB%UxoRDivxUrFQWn z{=~$hmzlI!;iDdNi9H5uxy(c!gN?V$U1eg0#+KC`?0(`(=|dtA9t`#81hEOS2z#Hz0}X|dt+{h8Ilny%yld9az5xy-}@ z6L>%#Y_(;+%$^{#3X^(XnLWXxnzNYVm`w6{Wrn5euhvqTV*=Oq?_#!Hbx?sRd6G%B z6L@MK*V?4VcggKZV#&FR$L6t&yX&&#_7sM~i6-(ChE{8ExjjX06HK^4xjn@ai=Xi4 zwm{iXyMWren=E~;#a(Mp>spKJT6>ynZJwp=_vh0@(!vs+W(hAY$dcJ2 z41sG+WD$mg|K%B6W{b#dj0wN2%oZ_wjOFfHdq%lX`wX@H7y2_3E4z-z?7`+*<}!O0 z)_9$XJPTWAnafP9g*vfbPyarSLC=v{$fRCTX3w#xk}Re;CX;+cnaOgFwYbdcnNeL~ zBK2Hl%Peb8te!xcDoh%f_sOCxi9Jv6!>%aY-JJjY%s=G~d&ZyH^JF&MgqJF_=b2q? zxyx*^a+zczi)kNu)}NVJ=;)Lle2u&S%YDwPbD4=XQ71OkvW}O~pawE4 zHK|5r*1)31WiiDunPj6fljR0$ahbiyjEYJVd6CRES=OG}i)5DMabm!{-Jj2r*-N?% zuQ!pGFkE8|?kanU#DXULrV@LJ$qOuZiN%%54JHz&cFJOZVq&F}OfobNUWg2 zo8O+;5&~(g;yHaR;FuS)B=(9f!y9>6ABOv_!6o(ziS;w#RZ8p?CMPX-iM^`#gjIS^ zc$Lp7^I!632F)%0he^Lm=Rn+JF0&q)x2HGGAs($*j<%Rx7im zENf8~Qyddp(UqAjE3L(4_Bt~{H<`%mWHvalOJ=VVN&QW1`ep&=znmqrMhwZDO{5XS ztJdH$Yb3KCCj6cDZi7kUw-)bVuU{fq} ziHX%yC$_{gUt({PSiqz{P-1Vgs5MzkaZD!pffAEti?z7KmNTQYn#cT+*!Wj>No+ZR z)K;^Vn+4qbT9(9CU}(IJ{oELut-&R>g2cL*a9WA2U~=J7uYpT!rBa#7^ZuyaYMJ|q zDHgchq{Yf!_b2uitm1ZdZ^PzW<`NUDrA};vWxm8#5yrlo^zCMAW_B~>t6100EWWsW z$u$a1mIE5SCAiSuW=!!k6M37^W?I&MYrah;(P<_P%zNUEETOGd?~inQt>*UXw#>7* z*jCd!bB9T=)l`hd6ik0Y`$QLJ zk`>om?$Sz88=7SzDQdS`=F$?Yo@LTv16O59E6pw0WK!#OOQvZ)GK(pW$t2e+FF?cYppq4wX@PJG9o8ccse+o0NiQ@hr3m)b|vmfmY3A5q)uU9Z-qCRTB;NsEoO z%y*6bht!fL^|?~}56vsHnBtgB@^hso%RScOQd`UVa!jgOE!OJ4oxSI+p*^{^1XC7e zXEuvC87<8JgzK$;YM0bLA(YVlCJoFxJ)I@B^%yGVn8$$=ww^Oj zu>D(SzMjb&EqAGX%H$-qpHjQzLw{;8{rT)$)qYBCzcv2Uny4)_CelRhM9W-iVj;d$ zPHdrNzSKS=wR)4e2INS zVo{UYuEf4!QQbfB26r^YF`49cB__+U*5VTTmKlxA|CYq&Th^Y~w**pHYtq2H*VboA zY_od*q|X_f`J7Sosb_JSZ6>qnCcHzLZDw|vM2FqM(Vug?MutZqz&wd}spcYcAHmRLTt%YTsl*JUsWRg3Tnk=KO z#ijN=GwL7bp^Buo+Oqc4z9+Rn9Zy$e0bgv$lG;{Xh)*ciT%i;%Cnf_m`t+MEE1FD7He^dZDU65Q#`(r#I{=2p4c`5$yvZd8(F~K zUu8*byDr3ku^Sshr8T&#Y&(ffFyYQDu6a9?>n(SQWt0lF8EU6)^d}}(v5==b!dfhI ziTwmiE@U4zY~a`a#Kdx*W*;_el4ZWcc92+^N$sJ;cCe_~Sxj+ECb@?aljTWkaf$uR zjOf!m5R$}tZSv-~C-yUew6FkR-XFiolGsiRfoIr_jp1QyaEa|Cu`wo`r^I$Ld9CFx zv0s!5wZBli@LPXkVr9?r2uWCv%^q`!{R(S*mVMZ;v6i`OOss`Ev3ZvH68nwBLMFAB z68nusHDocxF`49EN=%mbt;I`hPRT4@=;!7{X7S(7w)paz6Q9MODxRB@p2dGU`z}jb zo!~jo^I%B~%dNqs)oE7SpUd`9TAgMMF#Dc(QmbulO_pk;#OZ+CcZmqBwyfBlPutlAF{-?2ZojgHezG=)*4(~dk|O9g!fZidoa0Q ztJlCKwx?2gk!{%2?y$`LpcE^8iDyp2Cj976tP8C6CAMJ07Fy;K6H8Jjw#hPIVtFjM zIL`1m-=nJxf-5>2)}8 z7C+?nnib6Jp7AU$t-VOAp9%L+T6>XJ$a0rfHzo2iPokuK@1ML{mzG%Z5}rf}i(2Mx z#l2zCB|M1|mbT2LCDurtSiz3phcRd$uCGFq>ZR*z9~Lzriz$xDBzx)llI09*ahdJQ zjL<7QoRZ9zSk|7|zGPPa3QwnG0ssCvOJ)HK$yeEcjp3x7{=@<#*29DkQDOlmS6S{7 z%U3F|vHhCb5x@8o6DwTGV=7?@%UogwuM$j? zAB!55#T3V6l7}fVS+2DfmsodZl)lbmD@kmFW$lS|Cy?6Ld2S^O_~o}OiS4h;u#pYe z7|L_@Z~NaR?i$;l#JZSpZzZ-rlWQ$^i5;L+-eCJRwUat|weA`d3-H}|VojF0#14d2 zEMx06taq+g=ModErA}@;KiN47*Em=aJ&K~srGTsYA{c^ToW0-9XF0)>&KeL=2*sxWW zxx5ZiCM(!{4V$;SKQFPIl_o9LWe<_fVlyrC<#h;)ZK3!O z40TxyaSSGTl(IU6td?4f%j!^N)n8d1N>&5++$F0+>0bSoNgqo0v%6%;>M#totJr*v zp}`tlR)?|njjPyu4QsK?WmTv=-e%i1Y+0T^E13RBc8speLe^Z|)t}el)P`1@$l=sZ zvdrZrR=wJ!#THxU%d0onSCdH{tLv*b&EL&pieoa#W0jdKUs{XH>(GwWaTyNMCB_S>{p`t9YLWbi&qI=1c8JQcIfD@k;GT znzv>##W9)W@k&jWefIU{yVUxzK5pz1wdgmC|7T`-`+eDuV9Gw=shuq1kwBK@j>1sQ zH@h8$p>w`xaLFA-_f;l*g3kUZrk7golIzbIHc{K3+JXYF)+GniAIS!(wm-Gimb?4& zXljeoJi?ROWtO?*#LCh&yw4*7%JAV{~E)9{r$Ne%ef~^_)j|bW0^g{ za+lk2oL`dKUT@N3Q!Mi(_9qgHn$(#}>`yG}{w$_A zCLYnM#AJEaT3li$F{6?BCy`k1LT`S1VkZ$u;io1I%sct;EQy_rp|puz*BI)o!6kMw ziA^`*5lZZ2CO28`5*wmas2xJ>;@{PV=~E+N=%lIti>gEDl_Ugn8>LlHlk>k#7-rUz~?3n z%)7i#mc)i)C~juQHHLSs!6i17#Hx6}s}dW^rCXeEQyW85crlo*BA~y)-$-oMv~YV9#5;pMlyMfs9>wFb17VVj+{dP>G$(qDr!u;+RbGLM0~4Io9G5 z3o)a5i;09tY?)>4iG>KHX^Tk%^FH}Qmc+ssa$4APjbYe8e_~-08*aiEE3q(>t1Wkl zMU)D)5o#mH`x6rjeQ(lYjh4B@&V$u|ZzAWxa!b5AmzY=+bz(y;>v;JL8bxBICRL`y zMzN@ISxj+ECRwJ$WVyjwTw>?z{p3=;pPbLl@*-m z&2LX^EP*s`GihMnF@v)tb|HqQ?d-Y6aKAOU#4enVZ}SyV@*!0*-x#UE+r2hpfX80T}n=T-T!sU zX*_zh$(LR}o*br>`g0o3S=8G)@g>Yl#<0a2Tu$Xo zC^fN4t)QHo#-F-NPURHWQd~~)%|o-~bUB8`-%R9k49(Wya=Luh!Mk_zD`)lGtrW+Hax`1VUbcL~tb_Af{92{7omRWtE(48U?P51-853B>_|v^**e}2@ zxe8us!jpM1tFGe3>|tX6z*~0}FY*SHx&b{Sy~^ZEFPey6#MWo|C!#N~e(5zPB|Rg( zi^;!P{;Sc~SpU`NK@+=4{iP2zsT<{&KG*uML7!&AQ`G+&^i|d`eXI3L?`QIFRsX-D zmzeNB6TOwU=pMJu;(5>4f|_l~wUlhMCDJ1%b(2b@4>$SM z8gU)^{p?)Ui0ja+OiX&6^jwp=MSgT1N2?Ll8c_in#`9}cQb9=<6Pv0M>5FZN^a&_^1CU%FWNS|azBUD`X{4zH{mJIgnKE~wFQ2#3Q<)=tU+xUH&QP3#?yyjY&z*Nbh3u@0R}`=xeP1ALv07o2~xRhw}Jb z`K5C^wE1sBpJu`{)&C~+Rn{+ktMyCo$EI2JzZt#6glEZr^Q<1ZWA-*RH@E$~OG(S1 z@v?i~Tktkp?=5&Y;=KiLglFi=i^l7nx>tQ~<*noXQQljJ{p4SHD?cZy_AxcLQj=?9 z_o(JpYS!ACYHEg^@2{z*rpvyjrka|?wx*hz2_{veIk!>Mx=YP%)Xb&kHfqM3{ChR$ zHfl1qW-2vxqy2NHQqwPBYNk?CVDe+CnMw`6OV81q+o>6KfxqT}L4r+oX zHBWQyq^A5Y{yBG2GoirL+(}K^*4#L3hm%3Th@u_&e=E1pdVh^is7IkxN z-E8WnUF4rPo4QrD4$l4K)y<}^pGiHgd3RHH{KZ~f$7fGXzMD_I40@D7iMuHn;}tYh z&~=(E=-SC_x$2-^rsN)_cmR8PN%0;Nt5wlGys;*q&?n-1n4R?0;Jvhpn$#1_F25JO zz{KXuExpmxo28HP^k5Xd#rmV@4_LqSLbgfLr&&7hyXq5+p@%%ZJci!O#2#0FbaqT? zHB!fUYOn@1w17ANwNLTpUtR-x)E0pBFD7jRr1K;^H45IRMhj?EejjRY6RT5uRQ+DH zK+BO{?&-n%(JMT?{C@N&tzUYr^-JGq{d2USg<8-8Eocs?zllAm5g`3b!a|LZevPLG zAJBppYC#X6K5N~m`eQ(lKKQ6)M^%KH4mZ=HnD%HJF5PG*5;Oelcxvgq1StQ`8@Qc)-S!u`laWX z*g|!G2t8m@&uaA#p>u&sPe?EI^k(VPtp8!H=2@-gVbqn@jjHg~rCE9x6I-P2kDw=Q z_eao2czObz2dL7eS?X--eiV1HNj;~vJc|ClbxSYv^k(S+6MIJ8A488?|6}M8Pftj1 zw0`OLoBU_xuSMtI1MAhl7CqO*p3}KX53zMqtCv2E=dsHFPxNXNUM&AV(HC34^d{?< z&f^{1{PWQR?5~u6KKghQt5<(?6Kc>U_yU(;vrwJMe_kUVr=-@FJdV!IyI3XCb4=<* zElK()lP^73hhA*L(#z}6ms!7bqG2U#9mN;>4hd0SAXdZ z*8e1W$b_YrKZ)Mk#MCDtz25qzmz(?-)&D8MuQM{nD3P|G&_4O!yV~|Aju##MCDtz09PRsK4||lb=xkh3HZ1Ux>cJ z`lYv6zw{!L|FZl~qZgX+YwG_rdX0%mPoSI7YkJ9E)k`L{#+EFiq~4Y+LLX{kOH?8~ zU{Xu9B(O(0Y_0s#Lnifx`b!^X@}&o# zN3S;FW$OPt`eN&s-empKTdjXFdccI2%fA?Xyooiczw`=|dQ<(S*O~k`)c*zaTI+uS zy}-nl$&YSAEA$eq&`TgR%H#_L8z?C@;T0OufWFL@p!0;<_7b7aCV#m~UZkYamb{2Q ziO1$@iu6L0dP}R4-eCPNp@&RZdihJ}y-iGg64L9fUwXO8U!neS^d{?%qo=K3dZ|gR zQh({)P5xW*C(tWQ_-*x1piecimFh1&Y5mfdTmQ>^y3QG3A}_ans*0&c0!=r;YW02@ zZ>7m!rQS>MM)5AeyMYJl&gy4gUNY-I-2iRgC3uTW{@e1tg17J(_E_SrF)?WgH2rLO zPkmp(yT*E7RlFY%@0eF-1-b6?-;ujbP3pb;RefT*$@ht=(tzTi+@TZQ(E}`!$zj$npjd5jjSxh<7Bn6MrwxL>aTf&n(AWqNK&)d*1SPY zldXA!n$}%vmQfS<1N$SX8E;}~%~?hbum4)jSw>A=wSUf=I-mdQeBR`I3QTN`s@~N3 ztke0tNzJI+{58v&Q#_D;kjz{78(f304xm3^uYR4chadYjl<6|Q7hy-9tdVd#0~xBG{^#m8rEl275~Z&8=F zb#GC}O(MM+J+J#Tf88qT2&+kTtEii5V(T<-6?I8lhn}~5m%6v9%VEEl>fWYqpox8~ zy0@w0#`#S1r1Q~CdT=#5VM#Avjm}52Hox>n>zB?)vo`-b=q=X&4*Fn|zh3>N7qS&h z{iWaJ>A`mu?B@hq{x0fL>qgb>*5;PZN3$la<~?-MlwSTG`cO|#NN=)!>3lS6^S@8` z&=^(0{%h^lFsL|&otr#E$9m^=mS(fok>lg>L*j1TRNZ5+T2NW z;+9^XMCbEan;+eryG0vPztlUm5FgPtXh4dRVw3t(B`NfXrzfPBd3v+-`>j8X9<}~7 z`bX9;z0vxm_b{<$_5TpP#ri))AM5D}baspB5|;X~b+5r4VxyT>vj%;=bxW`I^k(UW zCiaE8{~NvD`u~kS-qRD(o2*}Yo%Mf&9x$m*>i-e?m)4JNlAE*|sr^jsD|P=5?h5Pv z5Bfw;Pe`xz^k(UctbZ+f()!n;Z?S&qIVSZjQ=6q1o7hJ6|1Wy6rA&}Lmd-|FgF2ij%}KnlNYfb^h=ZPI}MsnKR#J^w?U;;9K#UHn_L9O;U>z6*k zy5#ZP!}9#J$S8 zzv4qj3txEo6+d)NFfnyVpy>nG4tc-gy}arH|IdJp`oTMty>rxjX=^r8(`0KlQq#}) zYrfVG-qYAKN6iB!wq0|+rlx|;S(@`THEVaN*+fk(HJhk8!^D14%_g1QZ#w5qR7{`i zpYjbA#lv`DDHYpn#Wzgh0{Bf+zM&@gpugr@Y8t8emYOF`>}O5+mMPKP*==`VFmK~7 z6`QFDoz7!PsTgfyzo=p}Io9({muPu&=lLgW!QX^`3;sP!>^J$h;4eLc9dG!DKjim+ zhri+scD&(#$@;&;pTv)rm)XVNf9yp5s3X|VyHvL;T>oRsq&E~9IIO_!u`)7Pl zO_ZAN>36^*9<%?T+yLX&@M^!Oc8ulrPsJr$;k+;JLGSXd@RhsN!*i>LoAg$CcX`x5 z_Xle0ZS4=#-e9?#4bKhmEto%0o7kncm5)2oJ!kXA(n@9D$NZ~?=GIc#O63I0+=_o> zYSP5^)QW$k_M=^D;km^lc*-cXJ!*Y@OSZwvMzEU=HrCG?#G=%}Omg?xT{^jcliv<# zq-Z-u>vt&VATK>1Pcv6X>do z`6vF5RKNNDi94ulqH+h76aB0~EWkH>iY@Z9lAmFvBiXVB+u~;pVinYh6+iBuw-Z)N z-A>pfKWh+6QYY5nXC=SrQ+PMdV$3g`#Wp`}faVtSRiM968Lab9{1sMqHe1zTQ~az! zEJ~f&tA1AU8?2GK-(bJ`S%X*$bz-GYbeuP*WVY^({QTMb%_*NfAaAOlHb6rjZH6xQ zQB%?h%)h`>Y|1;q_juCl?fxBFyx!x@a1-5|i!R^(D{}7agY(L5!O5OhiN^bKet?E` zxip+_d4G?$!cCxnd#Y$R=)0Eow$;1MKDg@^s~wx`{XM(^(L@V$J?%D|M@9b2TjA+; z5uF*x&(-cagU+-ZZ}}k}Z-D3BYPF7kli%KXcF(-KEqI{Aznl-+eK!B`BFz4^*?eQj zLT_5ocH5n9VQX7g`M z5mT@yQyzZWn_{0yU%4melwcW&3+8s?6iuwpq=cue4*I^?KZESB{ojalR?&N{`np>zM51t|a@e z1@6B>bX7=w38}d&C)DLRx9ColW&4?5YIFB8gZ3i#;KGRw(2Kt>>w4On_UmBUE>k~~e;lTw0H&o`Op^ncN%`BuyyJhr*`Ci3K4`YBqySTeH9cgnssgT-T`*|pV^`f^=S5=|$ZccZ+R# zj2+jV3wDv!&af8`nqKJ=YMNEE)pC2gmF&+FyNqRn+w38o&Ni`P<|OuKPROMGsG9xT z=C|p=1JEaUdieq9ms!8`YU`JNt)~YMM8Aa*2$!VGP3P! z@{i{@*n{JM$sf$<@*a5jC0}|%dWDHeZdhz1%Ii+n>FN$|Ju|KM~7sVUxDCq-C{s~&zK^k?EMjeF8Z}d_Vs5*BY zXLQ_yJr|5EIvCGNHpQS<9gIHQ#7;u5lb-VQjPx>3FFFMMW9vTzy~_Hfe`WpXd0Sud zPNm}wH|S7Kh5vI`%7F4iDd2a~6ScTQX*AuWbez#~7n72w=rA(*CGIuqcxz2Qj7Af9 zxSdvtiI*ZgSjC5N?x9n4ofe|<-!}fF^D3m}Tpnj9xAea5^h*mO9$Hi*WPXP@B65{Zi|eevL_;qE+db@XpX#^dYd;m%WvA zd?%aShrn`8tdxR89}03z>`X0SwARk;#{_j zo5IRS2w|B!Dk0>QoplOfG03@y8RwjHXxoWg>l_9-M961u=bUri$tkC-4AOy(G`CQ{ z=WDKOzrQ;>|9HGT->>U^z3=O~=DM%Bci!DuQ9i9Bby-l&^!UN_Lte1tMm5VYMuJ z#by#-$;Dl`C$Dsl@I5)cD|hqOlPTol4sn*rj8cxf5|QaXQaSEQuUA;^)hNd!m17Nb zs>vKCHIzLvbClHLpO|PZ+}jO4%SK7=MqbNawRweCac(yzk|RN>D@6KBQbLV)r*VsG zygQs<2#EXQV<{KG4zNw-Xf39rSWK}vvL{WV4p%ykYyf2l8WZv7Ef3(P_86`p=0V?d zY7aGc;gVYXW2c5kzM5mR4lm>QV6q-(qQ?f$MD)b?6mAfw&UywG!K}(cp%PhcA5rdKln_`)BBNr^J%1?6=g3gsiFFT zVoAL}{0*nxAI_gQPEt15rulSzc*bfcmWE_wc$TypYYWPMFWE+3c9 z9p{inL3|s_y+dfyc#f9qA<$i%8p>j_YVo1s1I*wr*Z^E7aWGA7M) z+b`qdp)BJC&JkY5@llK@Yh@g*lcVV2aFaPhd5$9LAd?XPnGoLc;K6FrZJ-VvpaqZes}jzGg5Q`{FHO%a9?lFg!!CUzv64^3j6vN;kyfZz5j z8*xsp;sM;$rj*T5%-D+e?Tod3XFQ4_U`Eqwg}>u&CO=-Sjw0G58!dJ;{4kR^U%ebn zwB|I?vZ5E6yl4RBb6V;fQ3~Sk zn&`#Sp8#)i(NBQ4io4Y~`vj(9mTM$uPZPaFjZUP|2#O@I)3W)~j5^Goh~_3<00$4m z1KT!M51(dvx?aG}0D*3C35<3b0xKp15=MM^(5z)ss%~xyPU!$#5GH!R5 zE1{E-9YTqO5|Yi#U#o;pM)R760?)lrgwX&W#rzAuFm>PWoNb#yBHOsXWLKNZe?SxQVCjd&o=pYyN6 z_D;j*xO*K*CQn1Nj>(Ao;;puAL40G&z0*m)aT3WVPls;m)KGm-nM9O=_|{H67S5sg z8f7D!5C2UXrm<*zsvVS#_}eCWt+F`-oB6+4*_?r9PYO1ajX2x5ctL!W<=&af=4NGc zCY00Kby7pMjo%`*_=D7HDEe9OaW+cwEcnYNBkqe&a?!;L;%yt`*(}NFuF=^zyHJ3k zMrYH=GkMv8Y~OYmI|t1b6gs$N;lNS%fo1Fdv__Zd{ApHgKXDFY*_GQm9 ziCZ4 z)${FWxu=gcm*5{rkqCj(mk?-%?Kpc0fzCI1@j#rQN{u&x%iSdbp{* zM=R(u=&eqD8R~mY#^_RHvtit;fs%%MTazy3ayaEYveU9z3-_VPUXJEb-dd(?#F@f- zl+6|Jmn=_TL9fmC(Q8(;+2rq#8meiVF7=i0s7c(Z=vTr=Q>>xr;@eYLBE9%H%VQJa zb-a#D`iXF^ucQ}eBNh+DA2!juvAwIXxxuKf~a#*P_|VWW;@OCNv8#i0^K>cb&pMtaPq}awMBBHB^)Mh}7aYo9O+Dem%UF zdILqj9{!NYi2HC;IYa4-eqf>xNPPq9iB5e3K-wnTV{8&J zPBV!I;ps_mo;Ik*toV4#1MwEiV>iNi4pq|M2oIcI{05WHa?t^ zY9H6``h<4Zn~-t4dq@{@6U|vuvIE(yiznzhb~BoLOyXgsbTfRBNj$EU#M!aL130gm zVi01tKslE^BK0k(nZqZg7GIaj6RE{Vn#4>+pA6r^BxXoI8P4+~@vQj%)RIUKH?>bG zdIR)qlXz6>2Gn;_T7m7$ZnQlW&_r5V+ON_06xJxu6%;->1<{f+qMStYt*9W;$}*yO zBcfIpsgaaAn&@LnqmeW=H2KGsG`6XHhLN8C3?m)OAmg6+gfh<{dw{|UHIdCid6uLK z()2RXnQ(6^yoHJbB|8kcL~_vv98o-q$2# zr)8&2;srF>CNvq77Z1eeQ`w+=?to`4Pu~IOI4GVK_f3Ab^x~a)x0CdDG6sJY>==X} zd#CPX4S19}s4=3B-6{Q0<2z|wYkBN0_#P(lKP7h;oI^uNFJ8|Jx1<+upwt4}yITwW zWv!VP_36AD*{4)b;PP?l)28MH@$W46?x9KJE84{Ffi8AxsJfE6t zN0{~gbC~HsIf!z+S5LC9GE?v6@hTsGu>i&w@?>_8tCi)slB<~~a2Gmg~IdLXd zydb{0<=%89_nMNM4&@m4qSR1Lb=e3sV><3t?Orx}cv}xOC>_K9TqPhc~eh|*#Kryo7JZu*a#OGKZ z%fgdRpXG|0-{Ok0qUSj^RKGWvqpTj%U!<=wbq_Iy+~UN17$45O>_GNdsu$=n_AoK7 zGl|#W>4)KSd7F|l5pS|Qfb$k5ZGMkHIiI~Q^&`q-E-R(!5q@2;?3eZnwD<@Mbb!gf ztBz*SbbVfKrKU5~^j%$o=#G?wC@s<2_ted!&?6`Yk@iuNx|%WyY+v>`$|ZQ~3cA3!)30`f=3FPW?Fi7pI0tRxGxc5&k|@=> zo?tw=)4ij#o*>9gCL`OIT~Don(t3hbux5!35`KCepUGG-ogXX5ne^I?G7UAJsT@C6 zj-s5`-i3NkLK{D3a7RDMj~q^?Btu%L4hGHY=td5tDa-Me*dfObgd2bIXbN} zi7(XAb7c0n6NMjF7ZI7-FNhxdAJO}nL|!@mPkoAJMMs*vXaMCwR&*Y=ms9`qwX=S% zoi&GyA4SXMqd{T9UEG0{(SRPs40HGZji^`SgpDyee&W?iBJ zBK@MY)c8d%t??V>`686l+~>L~sOI@wsl|^o(J$21OK{E!3)Iz1@C!{w+=rXW1w<)` z-fg1urG6RpaHoD5{yNnnQo|#y%WaZw6|Z=iRm@8Kj>xfB(C%&$U!qOFLX1f^Mpm4M z=Hh|)bjxF}!Vhu!SK+?Xiy!Uu;wPKv*UD=ScC(2t)K$!3z!v{*a|y5F+#H@)2hI_G zUR}hYMWWWR*XZFKllVrNzDCp;Ch-G2D?ZWk0B&l3U~FQqLpjBLEA{Kp<{z|66j)MO zxjv)tMwf<5cb>XnsINB( zc&5q7_GPoP{6z4AG_y>!1@65CpJ+Qxz6Iy`xwtRhWO+fH$5JKz+wfUV|291D^zg_x zD{R8ym0WzAVVg_Ig|6xy8gNfssN~)u(D@XJs59BaP39LRhbHp#pEgi zO7cBuBgG(6i&idGY|;Oj=ugtV&xIFO+I-u#=J#3Dd{tRS-0b^kx1-PnZGcwi3H2BI z0M6s}pV>4n{($dV^dg=WAMW%Ypy$?5(tij)*z)v;aDGa@NLk6AV=}+#8qh=*6m2fy zMIHZ$MZMHH!izeEL+8;}_52Y%oMiI9DASLK%JhrJK88=QJpHkjZ!2Sv6`e#;i`1gE z%e7A~*SD5tT<`McC0yxd0tGfu79RN_u<3;tb+K9d^Y28B91;-51tjYTcP&*_U};c{Kq=URpVm)sO^$pyLgrBp;+e?ix+Hfr(<`0GdM$+_QqM4+%9E7nN@evmHk;GG%Ia%0+(N~D zc%U{8%bd6kT?;$*iMnr1{uHSHry@;7sJY@Z=Bh zg_iqpQ@O6PfksxYu@lo)&`{v|nZ)(fsz9qabt&qlK(rPctstJ57M)BdKN75QJ%S~F z1g58DfWBbm`szXOUMf{2{fP)4n1t-K>;WdxnO?F#q3Onph~R3>GgS)-(11mD&2^dk5$lj)>vWKTDlF2pQI!~Jj_tQ>tH- zk8IAO8z`S&&>U#;;(>UY7uYDD#qcqfrx$aD%^PrqSy7I7>q;$JyWwOu(+wxHnJ&Tg zv`MU|4wevTz73QWf1mdVsfl>2>tHGTcX78CCoI)pDY~i`xmcC!tI1ND>~Er-vAt#3 zYy=yVUve25%0|U~@miDbs%sYK;d@E{D}1cw$zS0QIK4P$iIQG?rqllhXV>gP%(Uz# zlZa}JenZ2pPCO7FWuhA>pH}Qj6YZvaTG6~=GUC4YIFk`Ch<|RP8#1qhm+Q>kP0MFF zYjN>9JxhOYacgn*a@Ha<*Iljf^K?7fRlWR9v}PME`8#|+lM(mDd9GCIMf_|N-AMXB zv`BlXmp`CWO-9s*a{JB84rDXFo6u8i1)B9tVq6X$*&*{TToB9_cxp+ z(+8gX8_sifabJA2Ieshh{zi7BuRl(E$ z!uK&5*}m)!CbNa|ktS!Nz2V+!c)f{ME1%Wy_bm6}rm~vLFF+#;B5N(lnl+3-qls>* zR%>Xrg~@EHUe*w8j*V6jA8ew1CT}y%n_T*v6P-*;PS!KPjHo}EF8WRGF|7c*-bDK< zpN>dpn}qDN?9L{!6}@CTPUgVe#by!y<6yDlWE}uA{Sd_}2*lI&QsW95*IJ$xue3Z6 zAM5m;;C-CF6TH94Y_7|YJ&{riViu&~UbTgiTL=DH>>|pZ!)M$Mg?MPh;w$~ZEgNbfOhsn-pCYX%4FFwd5 zw$>n1=#?Tmn)EL zcN6Welr~@#TkognhEaUnWW;=!W^MoezraD6MX^^DGbGrnW|zbcb@X z+EME6sM98~o7Ccysf$r$@fkKstOxuN>SCnt0iWZdi+^PD;(_>lr{9FZSP``&)>bdG z3Cp%0wJK=+P0+U5J_~61lty=kdp+URChF;md%}5eF7CrkrAOukQ64Il)V)yGI(0Aj zjZQ6o8|5y_O7>WaGKd(fLc@J)S9rP#z8z&PiY}Y=um_rgH20Zk4czMuA8w+1Dx2Q$ zXDs*OrgBeZBg*M&H>o#8&1?;kdQs^ z9>(QlB?-z%ijvgsrIoWe8Fe!GQWl$&(MA-%C~MjElxAoQrQxQwhqB%Ro~5ouS<7aH z?2RV71)AO_FCK_{CNCbVh7YtnUCmWC@2$i{xs~oIHB>XYkJMYjucF>X(YJ&**(h1@ zyQp`OUYt)$DSAKn>(skQ-%ru^Rdi@%QO~tj>xzD?)}GXN+VTL-yE&B5 zj!@2E2THvowD~aI2W$1AlZYmEa`GV+a zPQ44XQ8c*=biC6-dFqfqR5{5WNil`4VOKQV$wtA`yTZFsk)qhLnf)V`i!?Ww=wWcL z2F|{Ilya$o-)XrIHz7g5e$wNmefnyWZk>fN~d-!^N%Fmt=HFeloO1wfqUb~5 zX&WUgehmdF(!)*d2}Fqvg+4|(iqu0<&v0t-W|J2W;E~nU_5$7G<(grW`CaUZd?@B0 zuTS7G(o$|P^MmkBz~$>4~LI4iQ|+Q zwrM;`pTLv#2^`Ma3AVKPgdZ^%hcn>oQE{T)_NG1S;uPX0_a^S8CL`{Pv$=~G#2YO4 z_E8_FD7$^29LbKCTC_4r&rL~sF5rs%(69Zfjqgj(<80LAzKH&HqVOZ;oJ5mc*NF7b z=$)ukN08EV*LVc{Ad?aI#hE?Xfo$JolA7WD(7a+2_3-q5@I|(5R-9+v;sM;$o~{|* zAIj6Al6rsCRVHydQL^ISIW;`8c&qkHIDP;r4>Hj+G>Qk%fScaQO6>pwO*DDgfoztI zG_jFf`=2ozDEya`)JOtx4>(gjBa(fJ8jn<-XDZJFp`7B9(DZ?X%l251 z)-%!5(RzmvxyAOFJOs{TZgF2cu)H8X%IOcK$HsHDj1Gk!%&(m;? zVz`#}x0!@ja%$A%-jP+#5q{E~!=be@j@AWQ^Fxm4nacApqHJX>>0M(Y#o|sOkO+?pKsg74u|v9yQDvy^>}N*RgHdE<3~M=9mBcFQ!|NbG1_3CdU0 z_0e=a+T=@Ji=RaSi<-bq?Zvvv(a@=suSh)_^(3bj_f1|rfJc7X&L-WqMIXbGp3W;V zG|9)H9mrcs(E7&^gRNaX7Q}flF76!*Uu1dmSol6p4>y&Ukx4=HP^Uhwly~AHWrb}T zFVp^fx%TJd7@U^vZ8G6iT|ACe{i}0?S9N?0L(Ag1LaC0S6aGzvlu{i-C#@!WnNk(M z$a3#^b$A6SC69-4^h-+()l6S0wfOtgvgpE2fY(n`e;RA~tDV+b%d<~oEjQXe3(|7vyc(@{ zIx*(h7|GM&JXja^;imFNty$6Coq8T1-@dl4rutwA>fx&?#OJ=TvyT^k>1D z+R4(N1%H*Y7q~AzoN5;7;gK(QZohitXKPQMtW|n8O*>E&qo!xmlv7Emsd#@AousbL zfgeFR3w9dYG&bo4<@Dm5MN0bf z;4eD;dGNQXgi%VeNiU-7!sl9^ zyb!*f)5A@r(Ha)r&8aU!J=`QR$_Cps8ZNBqqRF1_kD`GTpHtDITvFKMC<#$6DWV)~ zGUC2CQz%{#Kf!V@t%!GM9i^e1_HLCLs!6+3YVl{OXi@Zw;e#kpQS^)9ADYZ<>=4gi z%nmWq@`CsZarc2oH0s`F2T8}$xKrxmk?|uwJF$v?6mDLb}5<$leit8z7);@ zLT$6+JZ~2d#OGKZy9}On`pe)PEJ}Lur<`8=1!`Pq>s_wr*SskHa-Otu%M zAbTv8CiEG*f*5a^#2xVT6>z3)x^fYpZ+QSWwbL2G*p;lsrQTX=al)08c`3>pytIbi zcA&;ZJzPno0lYXwJxnCh0o1sthlxaLzMn{0(Q~PAks7K4LrHxV{5F%gTk5OeuTz79 z?aLl#64Df;>1?9+z`d*CELrj7)o`A)i~HgnB}#g6o=KJT*T6X{l=RoYw{?2)8VXrx z8(>!~ded~fmMh{`b{{N#E&lf?R#9x(^%Qp~murc!mx)e?d)L94vqzN6b?`dNeYmN7 zM9W^3)7t$~U$2Gvh>jT7v(z7Kgz$wbPHxq7K_BaLU+4w8*J&x44bENse~Nw^{5h&qq=%cz{}H7i`i*GYhB%E4aky(T4QB;!{!o)?gc?La33ecx z4}FfXvD?vHWD-xq)3?JX*|u469-4~>;?pgU890xdN_qqLonG8Hz4!wZrqI@F(!4*f z6Tu7IE|X2jxFyNuFbI=9lnRVquZ7^Ng=(+?`bo7$n@(n0b;!koz)N^k|ZbURn4 zu`Ha&=cOiDP3BvgOi|8EB{h@T4yhCRN$+%~|hRb^x z*+5EAl#^_a(iA$*K8)smlNS%fn|M)%5_$wa+w$}y3OiQ`i852KOAVF%uGBN&5$aJC zeFi+RQL^G&QIR4&oQf2p#2$qnL`90!k1DokR&<=niw02ruIw#r?=fsPf)D5?`52>J z7}<{o2(a%+DNQ9+{L%825RBbsDI$;T0`DkI8CG~Go)q<^}vl*SXJQAxdul9ugL zPeE_lC(tlx;(_?Xl%go@nb@2HKUUf^(e&Z1A#h*3(PYF6;yYUIJ;^{ce#}55pM-Mc zdRJ;FTScZ>YVm6*Qc?7$;H@@F@+tT|l&MG$H{--ID6ePHa8nca#jB}5QGD40s7p~kv(Zd5iI3sw*>EQFbLAt> z<|-b*sZ7x_dk)Ict6A#jw9G!&$M6e%3~@#NJ;V+|_z!@^=a~IPHfrpDwC`mSdA0wa z+JB*CDmsjc6!itwxP77Aa`2={%#%6?pGqMKwlAB_;!89IG?Dp-wqL$+pKduCC{WTz z^g|g@PNK9G6(st#j41v*qDB|#c|?De5#=OWhq@JA!}H`f!{oo#HN3zza8LY9*YE=T zPD)aA4YI2#Rnav_!@sEcIox{@&fI^iv|ohxv)qT9%5Sv_MLEBHA@xhBne7EqzXVTF zs-o!PEjCI)JVUXH^e@ACBv6X}GMq2n;y&C|ey8Zr$b!SxTFW)Bu$DKZ!~|vf6(S7a zB`5TleT4{hCNCa{k2cZo;IUWXJV-C;UxkmeJS#rd>BTuul=O4p7dZVK_!TDewX%{u zovI097Np?@_zm294c>#o6Xhejih>m7^BS5PO-49xIqTEKm zm0Gm6z*?SPU@gbqU=Wrk+OOr*8_e>28#RlF>dyQEwSR-&T3v5%!grx4McKWn-hNbX zqN6GOks7Msu(e=&Z(*~K{7jz7x6pjRyHMc1cr9-+(Y1^7;Jl=Nn~04+6EXQVbfHs2 zbyq8?#g{qtJ3LDY>gKG)aGJWQiGz@=A!9j zGUC4YI9`jP)WmyQ?!Bwj7Av)Pp`7FjQbRR~OQaS*i?S0%e-GYlqa@#hUq|7I^x{0* zDMc55g3=S|-&gddivB)y9@RZkLpf#SWe2jWOnwRJu3)gbmUU0-eziO-zCzwU~0e8w)CHEPDuIB9|>P&VA>O|BTnn-c9 z4HW*9OZ;;J)thLbOg|@37ZY8s#-B69l>q}^5as0eJJkC^YcXKptNvo(lV9LEk?IpQ zz@^Jqpn~|t)SsxyeE59V!F)I$32|S%)#=6GHqjN*f5|1UIL2n$R%!Jm`*3HI_?y_- zFVXH{^3n!qIbUQ}!DC;+c}^~#{z~iPZ<5c7vYV9DP}Z1Le+@s*slSGwM*WGh!ZywS zaDh$#a)AY8kzbFs$%NN*{2Ttx@{e13_v{W?g0Z1H-erj3{2v6a94?*jNkn!+CLyF0ep96L}elnu;Gj zE!serKZ0l3h{+$p=S<6hec`#TBjMX9V3GVMc#D(&1b=}NAnDwrSp|fg48G20qr3%`njjF7H=l)w~QtWAZEfS<8L6 zsjTD*3ZgvPDye@%UF+1p!QXXi@lPpoQ9`m=wNWC*TG4QO-9QPo!q240MG47feRM-p zKoj}yVUwpa^ zSr9*ovKQ(9;A$It5GDBsbP{DRQbYBKLkSebpQL<9>J_ZwZ%$cj6;D{fDqduJ%&tJ& z&*Y^I(CTo~lNhl-;XINTPyeYY=}C`SQO~KNdgN77uY~XG)GOhmsC-dY*rvG`li5_I z$&`%yXg4KRB(Xx$CKg`1sUkzkBI!*Q*&+>&F?lrzXrR8uV*&hZ%hQ4S=&kHTIV5(M z8mgJyRO-LruTk&%v3aiQKC(FGxa88}# z$u$hds?+UYv{h=YVWHGh7Nd6fc^Dq;)3D7nuc7oTgJ#o`4XW?Vi2BeOrC`$vP~Ozo zSNU`V&vAWpgg-zLk#Z8}jwd^i&A~(c#3~vFMtYuM^9Vm8PgOMZuIRkjOs!}b7TL0l zpeRB0V$-b?f`MfOsZIzyB1jM~BPb$>?Bg8aJ6(L82Hm9c{WMVPkl=exwAOBnC^FwU z!YjI{)^klltz+xb`p`4&<%REqsdY(iz!EccU6QLWBPdERe2M9{9)bx@;3jIqdJTOm zM$;G{580zzH1sl+6YAHoZ-ObVN6SgHT%VR7yOwM1*XtvgPIC!X{-0pk8GZVg73&k) zr*UU|eb2Iqw^ciIZs2dp)eW8b8dDO_22?aJG4mvDbmH(N#v={A&6MAH!R6>kgBQ80 zj3g&XbBsM>z9bKqk;J=@@1Uiot_$5fT}F^Ypl3i^YH@X8adF?4-)yquXhV=SX89`10Z<(1V!LLr>W~insL)F;d z-qyUxPUqP8;e%qXE6pd;yerKQbb|0S#WzCGL;@Qj825hyJMtSb^0R0x-|f!V_F#JB zhQ5(E9cw$M!z$)3GgCK4-{oAJO?ak?8`D{^%yg?nut^y~suDrvuV$(Q)nx=l1g3c# zF1aeoL~dV3l8Q1MJ!qV!u>@~8 zL3oym5;PKF69kL@Pf(hr37Zgo294#b9A|TPv$O(VWSC=amTG#UpYxlk>xuqa=L^qL zt|y(f{$}P$Fr|zj-U~tJR#Vpt!JTCUISHy;%{&PnDkF$jF-IJyx6$}lG5&mu+g{^e z#T@H>h!PWuG zP2Hw6TId?J-KsWaq=pkvzOBx;J%;Bk-iIE?(YOzSp-vEsV7Q)7qi z%bsuB7NnWP+q>Z2)^Lw1K;^SFywXH>kzRar-cE%b$mR@Lir*j2ttO+G>HhFas^*lB zcpqx@q!-_oT0LxU8*CmtOOxCN4Zq+n#TQ>>+ZM$8^KvTb2f+CSitM!PdXtGO{s1)m zO;bD&=N7j+Jhm--XWp(Q{kCv^g|a)gFPkH_ho&ISY^oRG-gZn=v!`|7F-^(sa8U{s zR})hc5X*?P?=+$#U^jS*`$A$1hDnwznsCXKLis#hz$JQSS)% z#aU6}1#v0|50HKcoPYjZc3L(IQkv`#J_*O%Vm}GtZ!N_kd=iFJBafG`XSif@P?{RV>=&j4j`ucY$D3RCMsS^p3I>AHf!+53cBSY}%6-^d`efSgExCQTXI6DF^Y-C>*XRV{ zQH$@Zn`#$Rw=aUKsqHtI9D+!H=Lm0GMYU}0V!Dl>X+9C@9|o<}DDKaA47siSc%=5H z!F0;Ll+*r1ecFk_QHv6FFo_co#STC;cv}0!QwNav0nQOlJcom4iTP4awAMGXW0liL zW|k*Cikch==bM?hFU~i!;b%bNbwIsGmknvxGz4*wvhvYVMVisRKV6Fo^C9@bFR<&e8vT>}auf~6NkJpGmyzcruRQfX z@}lI~GV=K0I36$KNXhX`8Ancz=gT;Xa?B~?h#!IDoidJ;93Pc&MLB{pj`&eH)|7Fi)|kHK+x8AnQvW6L;l za-3AgQIunB8AtqB_F3-1r}AM;AFDIS89IZE)fwbiwi|B4r|ENwOSj?EwL=_-J)Fu- zZAr(W;Z7`#FV0=z40u7DoAFrb$H2K6%TCL#qE-@3b_^Qs$KruF+r47Oj)!-p99H_{ z;eDvY#P(&k+O`F0_z{6L-U;wplQ>8DoB*$)MpJt6{#2x52eRk#`Y**l5zSq^c?_OD zQI~wKPMYWHlI7aUB+gb7Tzuil$oA^7r<>@x>Y^SEuZ%5qA@+V}Lz6uT&C}F%D!w>7zIg0p_+XPiSNfCTyt?WlpY?bd&GW-!nf1nDNHlB_zTook_Oxo)j>K*ph*-`!n5N1S#dl(5a*Vt zpx&w2+{h=Wvs2M}dqz{&>DR z6X&VWMex|^aPE)d>C@rdA7%Tpxp!Zv&ZOb~cmdoS3$LW`6rLOl=l&?}i*tXRfE~!@ z-d&1+2AV&pz=WsIfD=b;v*MSU=!MdY-$pge*dMIzW8I5Yhnko7umM4bJ1);oh3YdE_@{Qj><>;5h^sL z7w08Pvc2=L=TIxD_~)V7j^a_cFJ5i(S12FxXQ-`|eq2ePk)4*^WD?S3$D!Gc7mC3H z@xZo?jfe9mD#c8XhriED-LQSx%-uxAmu5J1oN(`ac(aL$C(noTAy!OZoIeXn6UZJ( zB_f*G1!xYYo)VtEKp*a_wVz$354T*O@S-&}!KHsiMYcBqyP8T)buoc;eAIJx9fwb| zxe2V}i6)~y3W)ee?GqE#_(B>lH5u7y*?|p|y$}t5eZ5MZiI1juQTbg2|An`SNq-T% z$UEDxec8>t1x)d!Iol+zhI=XaAnG=iTnfIztldG#Y*_c?~?B zhIgit5uO!aL*1+N;$3;S7`AsY_CynvCV4R$YIUUX#anFKf_N8-DW$&zUS;yK)3QgK z%#DhF37W|iV!{J)pVCF;b19sXgd3#46uuP|l-R!PK~#yNDM-V*k;c0W-bit$^0^FN zZK5|yFU~I~WCyZ4o9Hcye>s{5c~cuaeL0-HMm#INJ#S}|UVJd+li1!B*e$kg@(MIh zntUm~_;6|$m5=!D6r@UjC7kaVveUAC>K+yUN;Ld4t>S?=H?=#I&qVm%ygy9(iEzGS zOvd(QH}b+S#h2zylaR){3eHVUZIf5Q4>8dO>EV%M=akvWud*BJUFz&=8hmUr>L7hJ zf%tIT3D3eKN59s7H!faHV}9GA9=vO4z!l%Ep0A<7SFXWY%l;Y~Oy_M-hzb&&{CfMS z@oPC;jB}3gT_=S@cjJ4N)3xOKBNcvh9bBsq=Dqr0-opnob{(#Bc)gV_<2tfpAHEaY zm)&Zc7o=gF#J%g`wGM^TRYGLCp7j?>FHQgWPI#*vfb!ZMDc9G8`G#54M0`QU%PDW;&2 zo65*@l2>N`BQHwcR7M`3isQaAj+7h^mvQ9em|4bAlw)=oNBmYCFP3qn~u5_nW%Um&WU)IQo0|`ukvO}e?OcbWIc)P%br6S zt>Q~FiyCRT_W+#Z@YC?*18^?wDe1-cr+gSYkljROt>Qn3=0%fH%=Cl0O#Dkx4tPQaefl`wDb>g7#j1r{iLpSz<7v7 z#y6VTG{`;=VXl63?nL*@0~vn}OzMYJK798Qg$J?_;LU;0Ami_0rP9R1_iG zdlY~3KBn$b{J-=5IhZdtXkRl=>=G(`rF)DvlcQ$ZoA)b)_EX(|YUI?FTZ4qhjI+GmmDG&fm0;8-D^p%Lr5V1cF8< z2!GMfA&A`T9N{@C;?N%g-_%^pWG=dY+dh11CgJ`4%+#5reV2*8%C!bFSxmKaxLJn7 z#h>IB+W3~1*pvL^V)F&YhgMk`sh; z%OQxo=N#eOia1Q=huX>B*G~2fL%G-Y?R!W)Ll0F4nyJsw!#hq8?xBbv@|kmldx$?v z%fK93 z2eL17`W*H(PA~f=r7U2uU-2pFWxww9 zvfp)j+09P>0`?b9FMEO0%l^^nW%H-iQa&$Y|KaqqS2;a)q~b?A#v8dG)4a$ZYAPMu zHuR^V_)ARAbn1Au$-Ttn?BPU9-JgkG;tw)D1N{=y-v1{XbXV)Ed6}R4RDPjV`5CJ+ z`7+IqagrlKedJ!I4{oGi&__X{nNGA_NEClXOMJe5rv3_&`A)K%OXHOWy*M{IUm@_D z#?ROr)>?kAvi$n|Y!lop6gY)L_c1lizDj7%iFOW&iW1dYQEU#PGn{DqkSH~WE^c#< ztwW9+4pz9$POV>XqG#Pey~ZF;Jk->^#vq=v$mZBJ9N;x=Y+rHlh1Y0)Nf}A}b^73e z%U7DH*Ad-NMwF9ioD~%$y3L8)5439DAdyLjApV{;V{igfAk`qhnq?HUtak}%0V+J52qej+2qM4 z_M1()ZN=pov*EwBt++f>F!~5HFHdf@PU*(0W**};iF#%tCFe0-%}d!A*Vg8Me$D%EwZBICy2f-Bg#qCf$CUALZm-4Ea7UrPsy+9NK^MI`Hg9{R}vn( z+@}oDDb5idyP_Q9og+MU@z3arJBGSSenwXxQlP8V_!$Go_mkh0f;dma#l6q@Nl)c+ zH(+W0ufjXZO#PgMs+Ze@+<>k4Tt89$P4}!{b&~o*_mbuR8MD+EbkA2Jb(2LAxz_~= zk6BToxmFaLkLd9-qSSmuEiMuw{dB5TD_}ks!uN(&dWd~Vd5|O-0oTElhMgk7xo>Z+nlIvkNb{vcvM@|5PoN8R@zt#sc{(rJl(?3 z4LH_JZDHst|NhU=6`7n1iUR10euf54_r{cq(hn|s{f(*Hobp(|}>;Q=cCK&Nv| zUZPk5QPPRpHnaj8+QgM@8(M*o%-%n!3sN^ab=#))Bb#yOF{bWEhN^kZe}*deBYkmH zTdmeV(t4v}`=N^egoqQFM9H5J^(iCDNi@+#l4yVvxuL50nW5rVzeYiR#(%f-ueG`T z%*uMuIl@b>h(li!*JwZ&G5N!fH+75Hk-7%$2Qaq?@$_k#DO}Scda7|6H-0t0=m-+D z?Qg#@eoSFU)Y)H9*E@CF9*5dAS4?4#>o|oyZn5^bb@<<^iYe99_0oEfNpw`1LPZtxtUKH>Rhu-qig@d;TaW=8FxeH}k~!7FW`>Y8uhC z!r1ydOD8rO9V{~B@Ag9wU(S{8>m1=BNXe0Kj_?rVa8z_S$;?|$$eB(M{EW%i{DgkG-d6R zL-7xK;lNdju!0CzxCr6xJhcK5r>~6^MxvX`h>8+bTT$#!L`_cAwkQ3m)7Qyn>YrTj zhX1x7!{VO|Rd?qIk70ZzjxC)dJccP8y789sT1l6eJ5hKXixP1TtJD}35oMjIZQCj` zMss*~pT@SRc|OI=D>CVIQ%YwE7l|0dRo4)<19PZ!Z3) zp;v`>s+sx^vpC%;+qNW>?8o^YM2h{Z{ixS}Mk@6$eR1YeUs)89%{%ley#+EnQbmdQ z;7Jr)jcEHaqSR_cOnoVmM4l75VOp`8TsV96RFF0JpK$)QHm)@UdDbL)X$;peR_9fR*IrY)Pm4_%7}>0&%`!A>(^6A(PL6JhB#UH(lh{Fo|o& z*6F6M;}l9Xov>}U>Nthc!qd$>e5SVVf5t0bK`$J(=*1)}=;l|~Iy_!Ei8yRYRFLTJ zGNO1VL@b3;q)v!BSJ-QE<2Ad}l+t0VkAld5ne&IoE56Q@-jQpZBm44aYx^&m0lTF7hy4mY8fP*@@0Su&OGNq2KhkCeE zw{3IlF^B`spwgK^tlW~DVAJN@1cUWx#(8UVHCvy~dB@)7be>)x&JjyIEB?OafjHA% z(szc>=OvHQcZPE-u9hAiIb(CLznBy2yNvY;h`(av9oi8hc3R+6dtAZ*9C4g#fwaKlF;YVB&Pv}zW_7g2Q#k5x`#BirsjBbcfr zI_Ilx)e=SIg!S!pg-5U`5r-{_Vo^kAl@X<)i0WM=iPBEgwvj~{L2mJ-Al=AuDetya z?%l}o4_=*!?PEtecD5OW$EnzjajM;3r^4=x)A3Fc9;Z}y`k!bL+v`fY)Bm+jp`!~=RnlS9%RF2K2RBmbLbK;z)kH={~59PCam_#^Gw|)Y=S#R+K*OF zf&u55c@pedMiB3bU^o$aA{gleZQEB*c7V||#;2!UJCc*vi=24cwUb6mHcz````8s7 z#!=i%oE^H@Ou|DFuPRMRbdWBxiXl0|iP|=&Du!fSmtLlOa#DZuSJjkWnjooTy-`ne z>bA|PHxtMiY-jvg{HC%-8`RF)pn8)Php$r8O&Lv|cI~WeH-&TFs!``*4}JINw@3Rv$iHw>n4oV;Ap><9_D|FQ*g^-E>QN z^(9{(b=8n>(3gBUV(qR}HY1hThBjX}U=ucDz=m(wwtH>H_>VrHs%8?ab;`D#YjXyR z!4a03Tm@Vd+$DCWb8ibc2dh$(E#O~U?u&Pzgj0HPKG1RL zt93WNz|>XK{g|#c(eSwBs=54AoFhCgMLEVhM|fP~TQV-(T-8-_OSW_$H)^J@NB0a+zrkwhd zQws&E8qIAqp%87_J;T~xdGAQxJj0Uh?S#!UtOJy{Y;L3nNWT;DhIY4^g$Jm( z6P?bXvRCO3LX>o(ww-DaJJrPQZ9CNd}6v;=3T?lqFGe7esx^h;kB5bde+);6!eyYIbF)xGNv5AiLtf z+xgep)^=rOJ?I?aC0E3uXIKYoKx>%%;g_1a8up^Do3tOmTn*yslDSclV#wCMx%p8hE%m5i1<*hcVFiS4@63igmZ)kB8Q`*!pkZ@%v1Z%_xpH%UgvW@=X1_;o-?O?o^zaH z8A1Em$I^91*L0GY&`5I8Z5tb#%f+mb-byYU5gQ)TX2j%85Er>8^?<#v?%`C`*HioRzb zOIr9~a?H|7s_3@v(_DNiiQvd~9OrI-_egv2-0ijBB1v@)bD@Uq|(`QROD5 z`7kOhHkBu;LP4_}EE3QjTLpfd8=tyr$g4Bwu22Y{GH6=}1 zFHOPkZ7_up>AG^GV`*9i(80W_!!D0&1C{hswCDC{7YrgcXU3oEaahEie4?h%(P)M71LDn$;{;8qX~-DmMVxG z%>?iRM~^C4=`66McS`3C4(Z`zY=>w0V+bg3dmFXOO4Bi9g{SgVm6Lsrv*%`|w1Ru> zQfJ7$38OM3oFVrnY{sAk)-<`TARM-;rYW3C!s+0ESA}0mb$yC$I4(a;mE>ngv76O1 zqUkcxp(^MyM|(3_6*(%o!ZcKAb#*#9nm=8?1gj{n#Cmg;!LlH$MAVKbpRq4EoMv_ZL?3>&BI zs#q$_|LEeOQ0{P=Po^>*b7}=~kSFukbMmDQ- zo#Hyb`%X53+$^OhX|pQIFesX=%_@iF<|#Uv`s;Y1S1p-L{c|1U%~g}R7aMo-R#-LE zN^i!XBQ-?Bq#aWP(pgza??g8hv)9X5>4|h$!L_F9L^^Euoj1%@vw)IoO`CxIy8ud0 zQkUc5B!F@UcoW!3%mLLD#-`1x^NA@ug_zi^nyqZiq;QTJ86hQO9pp_<5mHh+kSAZgHmf3bvr2U6Wav6ad(+d&+=>+!>Q=mfhei^_ z6x3;!xr_H1+r>1Tdi{t%b=xQprz&=;E>j4n6GAa>=qd#1>{Lk)&(u!U zAhtT289nFC)Vis`G|VKR;z2ebmydNb$;UL_8^%NE3{68ep6K$rJR`BqxSK%`$Jb3ViNsFFIZiYHTZqk}% zIM5k#la|JyhwYVedlqhQb5QPm7(EM!Wz;ol9gudau2M{A5mN{6K`WbQt3z)zRcCYK zujMFLw3M{+8%-OUskm;voR!YPD{Citjm)CznY-B*<>ste5DO_moq}d}0hOKuM9*hE zodZ7iuqjaRPAnS%}rPIT+&tO47urQ#-N4Nb@FsBHJ$FD z+;o-d-%mR@4pt3|0^R5!Z`z6y4m(xXD}_bxuwLrY zF=}8*6<4YAsA0q&8>TLL9#Fl7l7f!x0!j;_|FfRX2dZ|EH*=j&tUQ?;s40nEJ5>#e z`+VYNr%Ko1*<7vcoC zCDt5V(t9^TcZ!ZX+MBH|U`ETE&k?Sqs>Q6As^$x*iv`wADt!T^H{Wx^RFz%`!~#oD zYOJ*B@S|_8g>z>;*o6Rhk;ee4p7vb?%gMKNio>K1jsbXHW-LzkknQzboiDLUPs<)vp#;#Tp} zSv+O=xr8udsBKklZlZI^&DqY7o111CE_R08+cAwHP<*QiUdE)uPStG+;WDbKGnKa~ zc z+sDS{axv>_a%JEcdj0m|d$d$|#Gbr(=t zP_czV*8Wx8rv_G7B03@Rj}F_`<>s(70mO1E>m~s-p$n*45NoeR@+4@QgS-i=fgBb!nyLok zW2fo?#oR!A>{RJGqic4mbRE8dYo1N=6}bUlN9}8)%1uu54OCdno4Be_&@2ae)6$LH zdhva|Y3WAN6TZ_l+(;KTI?|hxAhqIJjHl2%O-T>0m!{}E>SD#Ex{?t2{rB52O=&^g zb%H`S0S)Q`irxf7zh^xO3OmT9Y28i4!piF*IWgE5JG*c0GB{zU>S5*3kSlhobe+*P z&)0`lcs_-<+keBnMdwqvn<;!$Z4q>^gS;tgK6$Iz-FQ>> zwES+ET<^>Fq3kD*@#l zV54>^X}Xn^@JN14fl(O}&X9WtHe=B0s!47a5Dwc^O$z5W z!s*~eW`%zn)%6)}!*Tg(x{dq{8Se6v5lw%I4&4r2=4fvkyPX`B++!MU*V5_<{Qz95 zAAq-0j5XC#6}yAV*```b<*_@^Sw=}uN@tr&dPX`uo8=qP+d1)9d?Pwf+mv|p{Lv$9 zu(`QOHTa!`o?7oNYrdOWSv@UR>ANX?oh$8| zjFLdCo&-gbK(}@QH4Cb9o&+s)kT)6K!;s=Z{FI#BgS}tbhG}cQhwKb+hTOEJW!Tdh za?@6Nul6bynyP!bS*~?}Z_WbHQtD~7@LuxA_SDnlFMJ<)ZQ*5ZQ&!aV(g>X*)9N_r={sd#z4e3d>( zAO(v|)q@1G`=||b)hwW7k!cgKe-}XML+WrmJOohg0B_oQh_PNxVQku*dWo3A4-*rc zQ!gu5x@L1q*D0<8-4>g+hw-!9!8VfIl$0*Xc1Yn$HF60l8S5Z#Qd&YvY7ZtQ3;4H% z-X|H`fi$kbBpa zHetBa8FI%{6oVeA*|?gBm(8iyi8s?kyk#cwrb2m~P(p{=cwNqBJx{JyQiPf>XA;Tz^H`V{FI>I}JgYnI_aXUNT48iO9U@5t@bxV_Cmx%XuB zX&@F-?P?v6HmcrLOivS2hiTPy_!;%-qo(Q^CV{o4@;$VawDLzy8=9&3V7;7`uD~m+ zCwYympz4`N*cRpHtXU9CDM6irW_JOVJ`2RUD(mT4pn3;+6V$VIUG=`4VAn>~`-=HF zZB!j;Yt2np^f}U1=nT2(YQ~_Y)CcnP95tQppxktoJ`cpY>O(c`d7v8| z1s&N1lomw)XFa_HRP7*d7JG?Uc}9OiO-bz9sQN^4zeL<@ROveWGS_TWtybK+=6SkW z{LAfSZaNy(yvf@^P@LRRq3lhEVTqhUIpsg1=K94&Uq44;vko*VXu)Y z9?zf4$!pjbIJ<9VdySEGw=?7pxikiCRDG_5zE0r^$&K`w#A-XMV$$9PlQ8zhiE`~o`p26T<1z3B~FQ?u-$H#NPj(LDMkGk)w%in7r9 zN<}egqv}g_zjW4C(nG7z*{G5pTZK;dXL;!vllV%!be2(BzJ(BGRM=MK<|f)gZq9aw z+}t$FaIrJw-i~Puf#N4ju$4)NjjFE|LMv6(aoo2;Zl$Uom9{FEn{}<^rnu7OCfo*1 zr+ot*X@ef(XqTI&Hgdz-O7>3d+Nk=LTEcJ9MFq=D)mzleMwPUbw320}O&S|jS?+Ch zCEVL+%>CbqlU5CfmVZFihKVSBhxU$ghTKF%WvFz9+(a~E2y}bWw7rAN2OW@m%ay*% zh^gU-X|?lR+QCNE4~peo+RsLnt~0u(lf;DHBNyGq*w|byX1zx)7V^?M_9S*w@Y8xX zTlzg}VL_Gk(2j=-orl~hJ=zYG$IIk$Bk1ZbptPW33x(bXn(rWQUV2}vtL3KQeHz?r z?1ni^zfY=qJ40>`OFzJ{gEQpjFp5E|t882!P~`;<%FSb15KFCf%F%~FNe6jT*N5b2 z1#iVGw;!sXpW>}}`ksv{Y2lB^aXoLaQ$F&MR#(5Sm&4|dsDVY6h)#(7qmQ+%%gtfw z$3U#OvTi;Gn$QK*EQsY-TAl<=bC5S-eL@b4o;FpV5FZ;=zbfWWh>wjbU1xO7MwPC^ ztGVXcBwvx$_&Vx18&z&{npaa{v8nt`6$+Z=Aa7dgpu+fZrmBN~Bn>~qJMVN}qhq|u z2*$Mh#st)!VIdd#RP)gv>*Xl=DHXBYQbkFK{Ql!M%u!kpx16BRXF!9xfTEuP(dk)F zg2E1RIa>D_A!nX3!OsbGv9tLmtb_s-52>Ez{dZ!ib)+{>eLj>1&cRWW1ZmGoo1^iw=DQUFK+S^7@7Zl{{}6zR`keV=^>95a%c0Hxy$f z6;QEnshjPo0F}qSMQ8COJt>{-Dd`#MbZeIX4!xaow#9#k&NH@$c=Y_y6Kt@#nMr>~ z0>(H)Ze~iq$8e%E}2YwyXU7J94Lgg1sv_ZL?4EvFsj2+;1)ybAPqpwTvdAV?PqG;Pne4W3Xu2}0YdUsQnB>ne z9USMa9+1wWNqT6VCaKNW%U^UI-dQ_srjii(lP1|#<>oIfh=r7(&@Vuzbpb_x0b&$n zJqe0A$eW~oA%8r$vrc{`MmDK7SM0wMBb!vZPH~;zeX@-pH%sYXwT4=0f@!jJf&+51 z6irimovGYH?MPGmTnBlRRGRy+ak96d%1|eLSpXf$5DU|Ef$EpeLP~lkx~b^BUcO3y zBanhuOx14$vU|;jxoQ?r@``B_uzwdo>F?@rJp2w&?f`G<`kk>}O<`=>qzV#K_zz-Y zld89JrE4~+be-Zl(Ct;u*v8LpC)!AIQ&Re8wnGa0sF8n?lCci*rlvnhN$rWu+ka@2 z>QB2#B|7vMbe*HUsp&6mQfqW$JwBAq&H;+;%rd$B{@aglB-A{&JwDhQnxL+N(HEgwUg@U#H08y~p6EB?`y07>iaW*sFFjYN>U}D6^nwys99yEW7GvuVj zq-8kM8FKPsN;i(PLA9L%-%f#VOl@pXZKo(UCW>NHxxJ#0&IXnA@FsCKs7`h_R*e4& zgx}|O5!`LcXLJmkAC4+R2@l({M(%e-()0+6_cP) z9?+sLplF`$;jAYhCdWiE(Pr{!1rOk270##d;8QltTQr~a40VRwyfw>kpflv=Esa4B z+#Te$CvIDx}r{X@hD<#nh9SIyi4#+1ylp+G46Ujb}Hg2B4*+mA9BS zG*hwjdO0iYg;!Qj@*3$y)ibBs7UkxwSrAJpL7jqTcL9}d2E@85>uEEfdIx!v(`NJ^ z59*!d1iLn1xKnWS!Vqo;IhZ(;bwXuF@@lSXm8J z!?pmr(LvtywFTj@K{Ze*+`@LN*iZqX(To!GSOKXkY2(;#Qdcl&z0{=(sDWiwiAohx z!-!KiOkK1Ph&7g=q@W|afYO5K|E#AVP_=`+87xSwJfC-!6YScc+EsA}iJJ{7U59&f z%?8yV#jR_erGv!x#^3PiHnQ9VrF&E93ezem)CVZyAaB0v!+cdY-QAg~KDea!219p> zjyu|$v$l-0%zB&m*hy8(9_yv5c}wbInYFu0Z%OIRPunn6rCR~9%n}sY3aD=vP_v*q z=SfhBgIubHZB43pH18oNTVr3~?7o?8Yev@H&X7Cg(ipTswTBW~MCX^iW2%ani#D6F zVFH_rfLU1$QKO2eYM6su0*7rw0xM=P;XlcQf8I9nt<{HnLMOL@u5q+Cy+LbgmOZqs zrnh05NB3gJk8MltS!4}WQB2yP+DqLpopqJ;P+xR5sHDgG+V0Qt(lZ>DEM7WGs4U-) z5N4ciTa}xeXg_juwln1BrdfuIogw#jOk)TXzsK?2Ogd~(?X3{Dqbk-@dn@Ga2%!hZ z9>=#ff1cX6msz(RW2Jbe3HGM|eYFozq(AWtnQ7y3DQW6YN?1{47rNsbccqj%~=>TuiDkg+#j$>8`#e{Ic85^dobO$ms z${BJ~7L}pW8FEwBj3LnNebcrBRX*r|+?%s>M}V65P1TM7Z#%%7xprh+tv$otn3)|J zrm^=;Z~$btT3-TZ4It4A-!~1io#|}3$x9EQnza-T0bJMx5Dfw3eP9{{T-^nb7Et_w z3GS5b%gX)L`8&lqdtm=~ACugPl=V7u!<40WA~U_6Ava~EJ7d_v8FEt=#SrKqlAVd< z0te)#EG?kyLlYdR8R!6JAa5cYNWNB_=}lw<$yfD4ZyUF_%CC_ z29vS)+1{dTFc}Mf%$x7{X>@+PSqm~S?PC+%4O`)?4Ko(qjXIW4SU~?SfV6;>c-S3a zP!~XScYqE&0PrpA){&aYb|+&QQ#gW*h4vt0i(SFoj79e#F^@SzZpNBrc-9$mGnU2> zX#B(khY-tl=WLj<=n#Nzt4#xdX({_JW9x>Hv6^#S#=?7&v7*(y0FR$q=f|7W_9SEF zt4*71pE_Ia7%Sb2I^q=G3*d(?fMx*;@gU%jE`ZXZ04wk?l#JzZ26(*0JTa8V56|zB zn#hKdu{r13=H+IrbQp=b)ERO!7L_6447nL=#t^9MFm1z#<$DL@jT$%BZBhGeA&X=y!`%p*irzThm z&@E;QZ<_-|`5_lb;X%N*4)BigEsgifAM7;u#rR=iwEdhm+&Yx&7!Zejy#A8FW9!_d>ppL2o7Z z3m?xEuM&)yGNJt=*T)icr?`S6AK1JKtx{s8oHK5QZX(mBce zFx^+u`5i7jG#tI%>apSI^GzblOCN12%f(AC;}m%DBhXh^JvIWJ-=fl!(uZ*(x_IgQ z+Bj7FNc4qPkBvkR^T7)7())3wyLjm=;-!bm(BoE*m7&*j1iX0ZoQ89xc1hn{xI}4jz0`NW%Z==iKcK2 zelpT)Ol5`ma&+1*Jywp+*sD}L(hoL;W5rA77r6A$;pi!=#|}rYHmzA+`e2hdR=o6X zrnO4^5$KIpj~#)|*pQx-&MBbBiI-ksD#wUF620E)u_MtlR!>U*)A7<9`N)I#(ad_a zSK8TOkh?EObMKY^ZW=~&UoLPq@4l3+h7YSAg{{rme3Rl)tp7VqVjO{`j-nz4rz+|^ ziU7u%L^XQ&XmlQ0$D&7$MyJ!Ir=;_vU3#bV15Dz0@yDRo^Th}8$Ds2IReDM~KLN&x zmmcECckvbI+@#VY73lM=o|0Z?Dyzjy@5L7m#8;x1m{#eLN_2ioNl!^{v3jTUb&jt> z=O#K{d=>gMQ+R@S>BW4SLH?zGWcBbE^p#eRj6tv9D0uPGYxxR;cPU{4f(EIKz=jdhS_&D^G)g#BD=W)cn zcSEDn@NKZ-cW-4ps zU;1diJ|O;h^o3TB9FM-j>M7|A>=VUHA7%qvYnGSZj}Hcj zpMYM@rxC6g3^1{#Y^+jL4U@Y{x+hOK-DQ*|1)f_wbsWLvv~X_IZP-!^Op zw)s1nsu|caep{1lWdlr`Y%}il`5bmSwlxDx)#=ze{I(|9;vv%}+t~YTIp5(%GkH3N zd8JuBI+N61=%5|#qpxWuJ_&<2xx#87E1&`K9fEzl?j<^EJ?7Q|vt5qAnY)j_-GR9AW?P{w&W6KKAJ+|s@2 zOqTBVI;}FNV48w~f}Kt9EOmkdzIMxivq)yi&Za@O&+fPJyLJCMY`W{OAga*W+|k9n ztIwStJDWSYh(nsulhXG$l^3IDq%&*Pi=Tx)lY_3s&*B$O%|O#Ii#j%6Wb2sYege#* z{)Gcg@EmMcIa}@zv*-M9vN!>j*s{gFo(n~F@^I~@den2JG(Cl7f|s^SFxa4 z2lWj1l99?vf{Z2Xs5@zNW?`{wPvts zxQMFGcYv3Ki(g6j-sF30^{sn?2q|IxYdo+ubw>NI1Zk3IG$oMJ>6M?i|4T>gvu*xx1H8 z>{5!wmRi4F+b?A_ckFJ0bFp#?;{4x4`2&sP)cwMTr1 z9{zXo@DE){14@^5(aI}{g}dtxwNlV@2aU|V(*^M?yHf#Q1$4iI_Q`>wSE=I~y&99^ zRy)qudN}9lI~L4!m?+gRN{Y z4k*Vq!`ZxS z)MWpF?sBOq4!KtysM?&9uh2a7w>Yd`^gQ&Gs{=iMljm$5z8iab*mrVvU)yh^a_$v5PYSAb zkgxrM_+|f?Jlzg7@D*E=F9)}iq`duj_n0KLIly<{3YfN^3Elw^d9{l~+(9)g7*tL2 z4ys8x$VG$>>3p+@Y*uURMFecQ<3E?BBzEbAm^_0oYgP`$qi-bwZ6Ih!vPcTzo_ zwN%yLiG#%s@})u$H$}5jaTn0+*Sko?U9_~@0lc8hDBPLX>opYaVieXKV1jp}@k{n$ z_2Av~;0oTYR*iS#tk;{?nb+XEY4BQW4<+gOS)AFea!Gs@4>t`-d_Br>-|{c5Vz>$3 zgT@~!}NIaXWFrDfpmLz~0_ z;o|Ni_-d1QQo-Lxa0DVfBfZ}0p@rxi$KE71aSL6V&ME&-_n!P|2D1CGw6Z3G824| zine*%R^%IJ4^q*5SMWg!j^-726?~9_D=GL8iCAPRm#LD6&}t7f4bomStc`ap@V4_c!tH=_Hw7Vkc`PJ<%~LA#2q6`7)Hz!Iy^i+{sz(@96%=|DV9WQr=%Pmf>hK`oEC={z3IOda zXIuCf;quoR&+w0g=RL-sXvAOEut3eP{=oY7?v}^6Tgpu0W#y#_`wD0GriUi%wbq`L z{cmUY8jIZ&yn^@8<5;)(u#2vHTn{ZFNg<;h;%hyKevfCPSPJx{gM5Q@DNvC~yr!-K z;=1)Yb=6Y(gDptup=Js{@R1F|H&B}?%kL!M9<3Aw)$dcj4s1i!cp!RyPwI6>T32fhExluw?D~%*yz(Pn*1bH4l#)~1^py( zRXfOQ@{`0}W9^~kvK(DVOx<=nrotXodG6|US<*mwENR_<%>Q&hgz zIT19`LI32e0MbB#;=@hwX__$MbL*uo2Z%lmFrVY!1?<*o0pFkpFa__a+n%A4XB^_| z`DZlzgd{=uN2k_R%HA_Hve6{oQ>U$<=$tRCcdy4+(8v~RPs+Z`*}YE3ZVKL4#m{1W z$60+Tcvck)NeapP(pKR6jRT^g`@W)h4(Kok`F`U(2gKwoC@JUy2l)~qh+oqm%G2{e zTYP1!^QGc>AZD(tCqWShc_ZR^8qF}zI(Y&6>(1^a3CVqU9CP|$;jbf2HJIdtYqYHTV?A;&!6*MqpRH2l)nwAQq9IDyOdked{3K0C^RN6_KE% zpdG%m5&5zK6lg!%1Ye_}k2%0MI9|g`*d#uem)G!;_r3MvW#hGM_h#*(*Rj_+yEiyq z$3EYcm;E7U_l5`dz{+Dx@C^cZ#o2rbd4m8toP#%T@TY@(PYOW=yg;mkya{yL4>n5Q zlj2RFG7BXIt#pttAwVYnh5Bg~d!^%lw0?XkS%n`a0acbIB76-*2E zt=3v6UP@Z9GgM?x%0AZFy_8@N)Ku~oFey31*?cK!B>=`q)HfQE?a-wBHn&!Wx1m+^9g1%Gv#sBklXs|}5uhNGg32A_ z`y~w&C>vvf@AAO>%2a-)8~0rvnDt{gMVoA&w$6I?HUC}B1r&OZLVs~wyb8USz1s_a zP;Ku~Th%YNpx4^>Xf2bo?4fq-%beY7Z9De3wI{LDyw*-NwVhyAj5Wdc38we2T{QFk zY=_y3-^cNx4)QerLS= zs_kP+75>&mV?QROM(a8$=wJu=8VeL?InD$>p<$mpz_&Z{30{g!;je1ICwQ6qdl#)2 zM2Dpn&uXCG9OS$4R|Bo!IBt0obo3woRIDZyYpp%hfqkj7d#UJ9D$+`Ytm~ZByX~=R zXY)6O@G15!{_G+ppArJMnc_?eI>kE(hl;a<8z>Tj@4Eyf=2)CPsispC}r)TPV7z2?xmwsxBQ<bAcW!WY;#`=^U^d_f3IrGF{}L1hl|r2{BXGu{Nhq_wLZ;7iAs01L;P1_4vL6=lz3 z^-Tc)rr;kv^1q^zUmW5~##ef72uTV#qPz9t%?Dr6m^xlGR%6y+f7IE%RIG{jn-@<| zSjM%^=w$+9pksmweoc6r2CQS>-1jwE$XM^muW>NKLB8h!kcoGvj?gzC4?4v6fcyqO z)h5wBK{f^T+^CCO00rtNn&7uYv%mqqOni%%HO|YoYL0`vTzs4D*u+NE68a8%bq`yM zmy7SPmvi{GqLBS2XZO;9JrFyAld}on5ohzI<9h;#I|tw6pwmIVbO_>J&PMSA(3p*F z6uyM~0K^TQ4Morr2l)nvpkh<_e`?Qtl!CBM)RhC$ZFFSr=e(}v)i zK!5^kYfSK0M%*d~_$H8F@e<}GWd-spUdC+NMLK{2btm#-vVAIVl;Gi-<}paO_ENz# z1^4Ua&p5gM8f&6eyZvf`5>; zYc{u4`8xj(ywH7x^702>IvnJ6{~t7Np|ywp#9qFIb>cPtPwefkyzG}dyVw2L19=e> z{EGnYbT(h-|3!qw5z`>xZ3p<0A)o>ee*=svu(kUV@wfUE4+0t;;7bC4Dd??P_a7qM ztFVhS{G)q7NK(k<4)K!kkL}^!iQe-<368&ZW}Aa~vl7{TI9Zce2M4YH{j+~uF>hUh zKX5wP1iL3jOrl6}Y(yMYTUsw(5;mfl^Q}G91N$;(_eMew z>?>V)*)z`WjRfq03;}FR0KK=ezI}<C zxY@ErdQxO#Q@NFj^hD<-%NCJ-5+}+lG;~w2y$1HC1h8%!8-TA@H%&0Gg(N|Eq_=LZ zf}7%yzT94I>P68d+uEXDU-q(nDSJ}(ADrFWXT;74=fpjK`ve;)o8fvJQ@M>|-3-?y zCb5HxqMMeYL|%8_Oum_V=rj}DoF4kNudUcOlW$JU1q0-L^F)|`$7$VGF>j9JHKuTY zV%~xZyPL|ss&EVRa+8prlztrV+l!Y@p0j)bI{&2HPkaG7NzU@<`G0Qb@3#Wl-p*O! zs;7{0Tk}S}$`w*>tt*G#^N9Yo+`rqzg|w^qbQ26FM)bUYdu#l6n>dJZ<>{sYWBx0} z*616S0&00lvp2wm9W3DM$=-}x#%GDz*;{?)An*R{P27yrL5jN%_M#oF6R%JEU}wC_ zo|OGKXZQLPyNM6dVA>Mv#m?%xL$@S^xN{+>$w9vPTF?p?$5ucC2G}@!bM{t1Br_X~ zpgITnQX+^&-5zSu)ufeFyo{vMo@fg_45y z+1Uo;OAAn-My z*`9MYZ#I){1?9F&=%wSzU35ommnaIf!=vRFl-PP!7va*oLJ73P&8B%&h~KqcD0D%Ls*=KK!20^tB@|wRry;*JTpkO=2*wVU(oI2#pjs@0m~fV zb?G3wwBkGy9E@$pp|-HsrGv56QBJlRXY=Mc*_KdlH*8lso3AT(QzuYZz|#)!b)$fS z^Leuv;DlkeW?wh%4p4nQZx#c5>HuHE1vKJe4}i1x?xNv)Xr4Vtqj?n5KynWH$9jy5tq~~&n z?BV@`vCQ#+D`Kum{#$V1j!S<<-vSOT^wZ zquYh10ifs84)}LLB;$|^dC3^#b_dv+|6LI6gRz~G81sh@?;-&L>Mr6fV{Xt@rgD^S z#8Pg=4&LKbdrOHoG{P42+FMF{3V0V(Neg4Y#@W3aAdJ1t+LPG3zskYyy79wI2DNp( zOH5sC)*qs}_N6XzCtt~Z@l`a^*7Z+LH>UR`$P@+lqZM11S)eTki0-ExTx=QyeC+^V zKLfBFEgYke_otfK2U;(_8-9PFJd+TV6x8A%uig98uCTR-4!|Bh$U5=beE{}puDtB$ zI=k1;vd=e#$0~^7*b~m~>+9hJvBWtM^n!zYlK_w@I95Y{1VewyC>w`w8W=%JN;vj- z1S$E-0lt(7sJ+w#M*^I8a2M$q3DANE0dG3MOT|c*v0MCk0aL^{trW@#be}`~*(js6 zOcCRhP1$ETyO#~@fttA{cp&btcQ#)p4%GcUPPhMo6o1YkBXjya4H8(0kAv{h{ZL!K z?|14!04wI21_7lG@MQr&ze5ydXcX1F;vnC^7zISfAFrke>VKH6%FD(m+wro84#s}D zvwH*M;B3d+^0L3+>|QElUug=n=56>@lgD5cTP}a1byNlUs`|ywU?XVVdSm$a9fctC5Pdq#d$dlFE2RAOUYq0sT&7; zD<$RF2OnXbcqu8z&ghUmDf@J1_a2n8*SPYBW1r{jzLXqJ5OL>3&`JmSmdAotaHO~* zIReNWX(RD1kB4PRCFXIO!;ZA`WsM4>=a(F13wyaZ zlC~7^N~|InjXmz{UM@!KH{lcwbgX>&uC-dT760&S{lK8C{QA7g9q4S-`9 zA+f7W!!b2$=SU$ z$j*#-rqXvj_D`MNmx|*Fp~E>5)MuOx!8am+O#Dp6F&^Ynhxo?Bc>K^;sw^p}!$H1; z2;z1;TMTk}^R_Ia|R@#JcUQ%kZBf*xJJvh-;;w1%p zAd@h`6G_T$&gM(Xi5dVg-KQr~yv8BEln5y}Pu+47$SQ~U5^|Ef2uTVVe1Z+amky9X zV}l7!A(E#Z;2RxNNJTf3n5|SyQBx*aFJ3C9*#4J26v2MJvwNwCX!Oih46>%2)k_4{ zK>P+1Jelg>ayDNgPNsS~K3o0CIM`&et=_k?1PZj{bI|Qq7YN@}*)b&`J&zS1JS*oaj%*R8o<#_Ruu!F=zKuF%5f(NvM*f>`R^9 zONQ*#rto3~aVqv!XZI!KRD!5=P6YKh$p+yY8-f}w6q*inwu5}5V>%G`eKs6HEe`UH z4?*2b;iZb{G@z5F*y?{TuM*YRF8W!%wy`_{Pah-BXv# zkB~PU;!B8-_~rT)a|XX+CZEzpI?kXf`uPf_;|%;XImk=L8QFf$+C#P2`%U$yqZWI; zD=+(aXZO;9J&>Ajf@hMBbDYhWjxz~>p3MeuCJq)l$Tvm=absVpgq#Jm^)wrWZ;YG; zG{izlL9-m>ONpQwQ+Sm;oei|fsa+)HY#{nr)g=XucaWEqvuX5N7tSo~&pEp{MrL6z zHi@fMUiNO&Z6)5?TlNZT51oU3khA*|a}Gh&IVXZ9Imnk7K}(#cbAjG)kS{Uk0(Ce~ zf_6R4hT}_&paPB%S7M?-%N^vqd7?nI9BZzI2`ZRjJ$Z?V(y&Hr55=&@oZU-I410?! zFZ)tw_Y#BM#II*eht9+Lsk8dhavmWJ;V5&3AgIsjHUwW<1l3q5bUx6f4)Uete4x1V zB&fqdzO(=ZRxB{V*^J+_X4#77ir?TNpsUh_?Y7mFC`bzq;9-&uR!Wpy7O^^YqWH) zW9d%UN>8Ha?|7DV?ad{1l;hsLS>-OqKHS-TskoR1utdu`5mf6SUn&GGbP-%a1glNu zb&B8;B4AaPEsUOjz}YqeU+XWSFsrg#6~?6$=1c0=tMH{1o@NpXFNvPN<1Aa)Yxbpt zKi}FzbFp9L?A}P2i+!alkDcq*IDRv8`O%kYf&x)pt>%@*H-7) zx_pn3%d&l0c)J3<9O!We`5q&e1J!dJxjYHl_uMX;3>0X&(*&;|gxC0XfkL>#_SPLL zcm)NEqyFYzk?pO7?4f$>_0H}!w;nsUU$(sLFFCu{+t>pu?lQqEsq<4)IZt(7Y5ONz z=1R)+iP<_=<^1$YUupa2ZdH60(B}^F?MGat5qhT{jdyDcUfgx(b=N#Wk6a|-ck%n6-m~sVgRWlsqrQz0W=Vu*<7T{Q) z8PHU?fT@r@#K%=3dVbH#t#hyW3uu1%A``rgig$80U-NHM^B>oMxQ*h~4)NU|Aey3^ zG_Y<5N;}ARkK7K#GgDAf(CjO0AimK66ewQIM+S&yv-&R5a0g!K&86~k2VPEcke7x# zNW&6q4>gj8S54v}rJ<2DbhvWp`FU6R)6mHD+46*@&pY`EG{9MXiMW%hOL(zcRo{t= z;~eB01VE-@nP$$rKwfl+ZwTClpL*v<(2iGikqDqb>OsCYKq8tP;JYpE#tZ$rT+!UE z23>8vc!{{1M3h^5C`lq}dB0zYNRo({D~F!{kSphnholnmlzonb^IvgRUn1_I>J`q# zJ^amE{Bi!~?VsF7D@0)JLwuNk=>NFJ2G*7XMDGQd_Ap;50C?ltF4`}k<6%Bo05JJF z3;5c9A3>CHlDOJ`AMI#zkk|hEXg}M8vWFJZ{(dI0T-`x{+3>Elh}DfA3FFH@`I z?#J6@*V`(6?Y^HXyP4J(RHY!!V9vg`;Tr&ghFB={0MNj=g?vNc0iYV^Nzhye`R)av zK>QItc|Z!bN_3HeMR-~3yez`YbO(7USVUJ=ysRcI#@gnrzE4*#X1KPztXX<7!~Q#m z^miXhTg==r?NPpkKmzJ;qEt6aVbD`BU(zyd)qipCA^yQrVF8&ep7RO8f%KFSm@54## z^8YB;{3v-{@jMDsW%ZQwA-sF9c%;WU6kYsd=rPAXhR&&`FQKQT^RSlBjII}2Ce#GO zM@LjP)`Z?}eI}(xOzSJ+rSlT-D#iae`t_#rRq>CbFSlh=x~{NHrx@OB%*L}6z0M?B z6#r86FrOlzY)U$x7M0IV=~GPM>*(QTblM^&rt6GllFcx0T0JA3nXygrq|ker$~VNP z(3y8y(Ua0kO{?^b^oS{ZQ~saey3sO`Ct&WfdP;hW_1P)C!}<&_Loeb$Z^ge1eN&TI zg`br4Ft60hzpl$I6M7QnT&u^PM2~S&x8jlBWD2vq^c9X@j=tLZj4em+WfHCOuWMGK zs<%_j5mpaBg3Y6pl260*=VWum zFMXx;8F~hNqN#ivJ@yQG0S9j@e(6_mn7MfAO}1=!1=nSkiL8M6$?7TTwY-+Ec%(B{ z-&H)%qNg1HEcyfvCPz<6r!DWuzplCORBz}xn3t>`dk(#bldlzzbiR}Ro_Ogsrc!$7 zdGtMaVI4j8JUXAU)pbhOam#dyxy94K%3ASAuj6|I;#ZAJ--onrPgi7#Qo zJVrJDe@EF!8#;6QSLi9}<)-j^^iJt_o5D5X-?DyGHm2*CWs+~fY;G#WWTY>&K0|M# zkLK)c@o%HAb-eVbX_cOlp0s7d?{Lkt;77&t4$Nm(Pf4dQeo#Epi+P)#vf+2p=R5vg z^dotJ9X%zTwtOT1x?X9S(0edTtsZ+1oxYIIr1W*xXGS`6&i~Lu?daQ^%J1lUN_3-=XjT{+`9(f;~-K_7#OJ~l>^3s2{KEofN7jxRS{Og)$!8*nB z0n8+;XQa~?(nBAjFEE8aivJLu-ziyM`pYIEJtKXcEgSxb>lK!Xd<3(XN&HXoNT)AU zwo^K7S&JV27@avMt@uAiztvP`dFd-{*^I7v7KjOb0<#IHTPvPV^g>HUtFN?vS;};< zsa&U!FlpM!7Fmsc2CvDh$ZGTjws=a{1*Y{kg(T(!tA{(#%XpJoA$6b^@g_QDQ_|}l zFMSk;RHKJKMX%+>c=^|L$}-7MVIH!2M*14-GxQlcUu;*|*k|ZWJAYDFQaZ1XWY9Cx zX-iuEKj)gqftbkWFqc?8B|UChrFTka+RyTx=uA6Vz7zdh>oX<2$W;C=|GLgIh5t}C z^aaduR*!vw9-dd(Ksb_bG>PAYOJ-Kf;$NaaV+!Ra_9gmvwrEP%ODxkVW>-`Ar^5dV zy(8-~@)a@PE!turmNqWJ& zL<9J@$T5e1i@ZN4LZhdoPvaeKxz{z11Gx-+2Xn90WBeqbFS0I^(mS&*Gm?u<>n6g# zN8W<-oN*cZK2el^z>=cu&!TesE28Opeu-6>%KuYTV&`(iw8HuUAM>q`$PehxSv@74 z*(b|O@5cGi;(tUhFo}HpM1Djc#JkCAhID3mU1xM%W|`1hn47E~TZ_&e+mo_M>2F(~ z8R;p<{}25i>ofL0^uZkaEdRP*W0_7d)2$x<37y%em*V*eeIbWQi5;$C`37JCdP;i6md)t8&N89DVfNucwucwQ&! z*`{zSe1yAaWtB5AU9%vQzhrk9j);_=k4)(mrg-VJ zBkO-7u49&oYy`vi4yC80GZU$7r}VYfXSfIYTF3W5@5{!pcx{08O`^Zz*%;<> ztH(A*uQ09KD<0`Dn8GYCeZJ#2LI2VEjBSF>hEZSn*EJ7v`Ro)k-s<81LuWk7XXO9T z@zYPd^fFVpqj>4h^Wr9YI1hcTEgREyt!0vVFuU{8rQ(;~$lIip4dtV=Inp0JmXE&1 z@zRZHm7bCQf-M_ngNEs-b%5gO2@~LjSD2Laa$fLMJkp7+7(Kixdff4wqMybg#NwsX z7M0EDny0dShI+xgYxP(!^tIM!QhFaw7Zxu)Y$^we-wb`EsoW7gwi!BY5tGvOG|O~~ zdBE!7&C%zZ)}0mq=ICpz&y@5I$4h6UCxoBy7U*TBQr9tEGxzL5+2j^5Z1hOaIA&MH zQ-ID!&j9fS@b!+D&PGp`m)^$|?kxX>T&FA(DTJxAdP@2lPRqq-r}Vff94J1B&ck=G z;t!&;(X$hJN;-WfpBY`(SSHjPW@po?va#Oi_)*!U^a!W*ikIH*_&(@t^z0(O4>}t? zDx1s`f5uXDU~HhKo3hqpo}1~D;RFR@H=D;PF< zq-UgeSf8P-(R-Q7!Q!_@FX41q#V?(W9_bnBZ1n8Lb(qaUJ*LG(ieT92k)D!X&kK=? zUpjrQvf*veTO7X)IvYK^ioTjBR$*?z1{kZ^h2*Vi9N+jFXp{O@zUAo$@1Hw zlPg`vbX{SYI%v|yM#>$=f0p&ek@ z-jN>L0e>wVjkyEoi&awkw+0@yWwZy)mhOKEqrLND@^;*j$LojUW?5jvZ_$yw`(XjYi zY%2Ft96RA}8i#mNcXB6KHgvMAbT)MMhY9bj+#RUg?F_+oj?@%tU?rzs?%cpx+y_u^ zcpzm8co9pP8`!|Va!5@{Wd)!z8C^32i3pWIR19ZDKYv66Up*h!@ znkhI$soRB$*~1xu8ruaY>__Q3rE8`ZIqVekjn%`u;;raYQ?)DJN;qXxESi=vhl<@5 zmi?PD^zb0`I#a3Zn6BfNNe+T}+UgnfzzR;Z9E?BqZsadEnCL1FC%WWd$bq~vh?+sw z&dovcyc$<}- zp*>(uv3hI|{1tp|8uq|nlK0ibqG{?FtwaxjUBx?V=&>Q_#INg=u9?!sbc)%JvnA2P zd*UzkxvAO{e=(CdR4f|PM&cN;d&06;lV$fpZ?WZKx@I~TliUktb5nRYWi#l3nobiO zia+)?jzEhIgL77LG49AWenr&NlT&V((!Q~KxDV|ZWm0#2Hg zcU`9}liU~PXp@khK{plEie*34Ih->odOy{FJZe(veVi027FEB~R4%+f*GwwME0+CX zf~K+xJ%w%x#w&8EWu{eX_yFjIjy?eWG|p}mEqy-cL~@b)B(wCd**h-IAU`Hx-j989EU48dF#;`ao!YW=*D^r1WNv zc@!3X4MI>kJ| zp_Az0L($u<9yt`f-TF*P&*LpAe0ECT$h4jy{xI|*90V!^08r{$z955!g#i<*7>V5!kQ(w|w_mHNDMWje$)~^AQc(wY7ULYevGs4miuq?qp5k0 zGq{?YMpKXxp@N+%xa{A8*}8`vg}sQw5Y?oku&?n~+=Si4Pb2b9S$lu%CG5WjmmW>E zWzOLJ4bRcIW$KgLQ^C;j6x`}FFITpgk5{^9sY$XP?5tiNW7TiESt>mq`x*b1{;%5Tc&c6C3|=3P zr{FYOuu}y;__v_#z_Poz+SgztG*?Eeo;!fFzI(zQqQ96-|Yn;LB;)xW@ z*n-K46ukZ4g0_ogFENGZsYNGXf8Ag4tP`+TTYFOW^uOi*YjOGnDh_q}J9!cX8I*Dy znMA>poZahT*%^DXcgh}jcCUvg(-8&d(Gii!SfBj2^ncYhPo~;6&QOsvi>5K?A1!99 zQ8knfe_>uMVM<=41UBkZGP*oj13V-ndG zoru@l|Mi+pWfS)Nl+$vL%1oa~O$%*Jp_3^1wS%_Ei8*=_jmbE}0QWFENjJ**ni*8A z-Zof+FPgP+@v0bm z77Ov(B1Vi2qeL?xAQo`3U^XP4*bxVeh>D12?bz3z#TGki#I>VF8LZ#$nK{dsy~$r5 zfA8~_^Uj&slaRBcPv}YNuk4eoeVtxOD{85Xt&c>twTO~dbYd@2heRy;AQB?>(W#5{ zQG6yJ#XM=%<=QiG9`#jNU%}ff&tzI-tf4I|t>;WiTVPTXadgHIkk`PB(-vS10r~0g zGPoxm;p8OT7mt~&xN{bXM(4sr7l-j0&LUp5NlcL+c76g)Tr9t{@LOh58prDx&obG` zXlm<-G5PB-M(=iX)GMipUD{> z8TC!yc2u0Bc36XLN5eUk-^6h}9KCabb|hSte+~hcht)Xe2JMJm3U|+i7xUUp>EV&l z-xjo^=Un2kZYO+@n ztM+_##EN=%q(dSe%_r1_rzHsm%)AUoJom0_3FqE1s!RqCmzp(>GH#_1u|KF^+88c8pkhW zTw}69u@|ZxKlW`$$A!#vF|Ye1P`5&V4KbaDpd-<%;BEsvW1`CC z!6T!8D(Fa010CUGL3Zcjpd;BUi6Pf&T-;PvV!eqIxu0vFN zi8^9My*tt&QQ9P~S0qGQAgVInNQRuriq|%(Bfs?RNJpbOVh#BP(n$IIuCWP6#|_$% zovQL(0&*+e0QbaMAW66{-p+9{>Bp-bJq7J(7*D(|6IDD9yB5gR@*9sIPY{jc6BzTX zoQbA(g4*$G-*$9NV5a;gD21q7qUl!DyB!smB4Vd0QSGHcJEGIckiL`*8Ix$1Gdwct zx4!MDn5cGGLwAEqSwRSNpL=!Tcn3aMz1Jn zN6#eUr8#IOzsW&6ve(LQGJdR%>r|}9JSz>FZZwg}e&2RfT*gefsZ?0)Wom~N^=?Op zL@qBfRU|}O9jY=ug$#Ubiq}q2J685>N5>Sk!y59dV+!T-;8bbOTeO10yU zzU}C^l9_Tx-HNDNqUl!DyB!r*A*$w0v5It6(2i&`8PZpgA!!n~$Qd3P^=IF9R7_Pn ztRcTTrcypnO=b0_2JJ}9RQXd0$W3%R+?f`%BYGp;od&Pu<(SgLBcuN+Xh+X9;<+ZJ z0-dXac4S-RcQt;jj#d?`F%L?`?nV=t{CD4WR3w=xchsGTYLjY*74>dMheYf?B#N?&DhGRr4-Q`C-@UxJiE3;>YUHIDQ>to|3cC)Ly4{3^`nzrrc3;5Oqs5-HLj*qvCo*>^|ly()B?*qPLJCeLWc}dF!d1;gL~AVTRtDv5FaL zhc)C^#|(YA%+b%6bM)adBj`xtR?T1rF}aUakaI)Ok?0+8_Xao{kaoBSkBnZupd&pu z&=EEuvO7&dN3yrcuL(aE$nC0EV;+=ut6nsb$!qlONJWata#KlEn^H%tsCP#?B=W;* zx)EuCsLFUV8Q6W?E9Yi)WX--E>1b9*tRcTZn(0W%JUY^L4;^u41|7-H(hO!2lUr#X zF+FkC$X#$>JZDnkPK!FSRzXJ^TIfibN!%wt>{=tU<=28AYeeICD`TFOLA|Z&$l857 z($UIfxv%CEs9U1xR@A#A6*nSc10qrFjX_7E9vRX%lA)Nlrpg%}8CBf3BNav+v4;E_ zF_h1PbAie?K|2z2RK6h~x6=J^r!8nlv>ooY!P$K%kq3{Ajuf<`r;T{*K4f=p3fhsK zE5DoYV}abQVm0Pjxe!e^n#kmVecMrSGc)DBQem|>s~uL1q>3l=S;IOYBJGSbIm%qUe2OP2WLQb|jA|AUrZ^P~R3+%uMLl;Cj~$8Z z&g`H?*$0T{&JJ1>U7%t$=K1+Jnr<|a$t8VTRB;zA;x1ERwRfpSR@AFSrb8l^(_)H* zNGs++GQ>SHup<$#_0*1N-*$9(YKJxCSByvbJV{lWGbdA54%>(BKgh5j}@bF{BFiPJf*3Lf?MQT}{CfzR>=#2{6(KC;D>_}9gb8pa&Y+8Qz z;>YvkQ5CB(Pfo?|MiZI5ao=`S%x9+DWiKGAov(ISQSWwiNW_jrqHaW59jY>Z9~sz@ zsLI;=)Q(O1wxi=dwZj_ntK&X>;Jly@oagm{bAQm0?Bklj{lw%xdWo2xI1A({xG&D8 zMBI5m9Vsj5NW%kkq?$K+$`891$dmGW06!Lp#_fABtxZ1iFd;zqc-i^k&1=th&ALF$U@5JNvf>g z!k`_A#VUUx0lAOFori*UM4yAZ55d`yye2(7GJ3OucJw?%Ja#0qJBxyLWS^1WBK%k& z&#G9Bd3e5xrW;LU^5%WpQSmS{<))IT_F=Wdih8%BLn1${rW=tKh^mY~LI!puZ_4=* zwPTCE?dW(!?XZUY0(pe;d1}6{@;icdWS>|09R%b)dIRo>vpQaa`{Fs15_i&S$Cd@{ zXh;*UjI&Yl!>-lwqWseMu{t!4KdOIY>|{}Py~(1ieN-LUs&7X+9%ZuJSDnP_mT0;a z_3lW;V~E(1NL2e+(2;0{Bn$r&CQRo=HF6_2YU){tKyk23=voNsFej|Uw| zysQ~KPQV4627^0K1RaUK26vx;vm;R=4;~r4bwNjZo**7O64{+6gN|fhk>8U+N20H) zSdDpBzKfu|PDAKg*bB<%ei$pH(}y>)VcwXPGHC)%%FLC7NzUz1vao z93plf64gEzv?H1&L;5)~u>1Hx&hW^n?fbT);(4{h8uF{-dCKRh`7w^(^FccjOH}^z z1mr$a$<7NwJEHHv-522OK0cBj9vQtuK|6Y0ARfC9*_{`Ic4Xg@-;4P1_;_2zYRrT3 zQ#9RZB9mi%+fnfnGp*r}7^2#j)DA1^-Hr~4T$A`jkq~KhsLFVT4D3F{Ycp!cj(ywF zkx@IWA-_5@`g~cc&zDd2`SNnmk?gyg!OO(tKKh)Po;VBSeYh`P#|bmI^NKpMQ$a@> zUZEpwKt7Wnb}f)D`MrW43q<4it9pWbt|!Q6dV;*FrtI9eDIKpeU+$}JVs%S2-HLiQ zrQ$V2>_NUnRQp=cl;{T}Nxw!y_8?!#86Fw6OW&qcysoBLLw=3C&J1{VDy#Q;(2>N4 zn!)P?$-DLKNJS@;<<|O|Shbz%h!yqjNQXphLnP`(q-CN)<5?224N;-B zS#@Ohz8&evsw38rUnW^*z_T-_87v7plKoUOSVBPVrf=b%IBVo{xG&BgMBI5x9T`&4 zk%qU3S8WpC$q&2M$Y=6MV~@V==y;o%a%+8$s9U1xR@A#4 z74INo5AuT|y%V$}`UM%%?~tLAb7pdeM@H@0w;dJlsvXvlUm)*NKF>~N_1+EIk?2wE;`v^atAR5O%X3XOaFJ`FmO_+B&kl$hK{ zzY)_}8gwMO9PTcKvjV}bmrdNt-*`Mc^x z6Pdhk-;Pv#&Sbf%d_=XMt0Pv_yCWSErA=a`A|cWOQI+v8$iN;%y!H!qWWT;0>G(n& zv4;Et`9hyEf9P@lr#@x6gN|f>(hRzZ$*uGUF+FkCNDtf>Z#OA%=Sy{D|ALM*d`U;x zhWsf%>{=tg$nQ)1SR)$8m+4dHFVdF%qfeP-YRUn9o6@n2`EqOhMXYX#rdv_(rc``| zh@FT;wO<8IiT+BG^j9QgC-S$P;gM0p`ZlE^r>0m#ewpN$0ng3>Gnqjy=t$x>%^*iW z?xueT=zJY?B)Ssrehp8yMkNPFM*q8@Aw6FcF5Q~K?0ggSBfCOg-vs@L`YM%i>-v-V ztY3X5A2FyRlZW?hN5!|ylv_)M)qbmXSW)kGbV%fyL=mEHL|P-NGX5R;*olbOey4UE z*tZ=W->DtekY6L;Q9sYl)ir_dgLY(p*95*NAls0&;GQ@O3>i^{!`G8 zh98K>He^ltVb=orQ+_`L4M}Mn|B*3|OKECGF`{mXrdv_(c2q1! z#2zG~NXvtEME@p3dN~=A9G;XjJTmIwzU`>^N$s$P{Ob6L@_BYDtM^mTj>JDI|0e>n z2N?)=eh%6ZEt*N2euh_?#5&T$Bcl%~Xh+Y_#A6Sl0-ayfj@GQ)e!-0g$NI;^LA+{{ zD3Kp_Esiziw*o(&9va7e#ylzqp{e!Nj>G!4qr+#W>_2o@c1twfih8%BVkIK>AEk=4 zGH6G1Z8D@+lA+S1#Jk~VGxG1|VUbZs z_3ci_-|CJvhI#P&R)*w64njhd`Y}O|uw_WPO+~mK)kyI&)ZL^wGT= z(%LXn8<5ndGdF1UW(KQc(99iL{h7hyV906AnH)RV%Zwa=^W_OJj>B1CLGHdb$nNW?LO5~8Pz$i&uTGdaT}qpJE&y<+v5Ox+st3uE<}e81w} zrg`<5ntCFtX|7JN1-x;TV9pu@izLEey(?*4W9HzZ432B48CGEb6|-jzy20in2(V_* zj%+D`-8F-LL^n{yjEja>m?dkfA0zwrqhc+lI?F`2)Ku3}Kdh*C6&;9*(nMK{D4$z_ ztzzifRFUJ{rvj|4o*dh^Cmn06C)SW(4mcJKiJQ`5g8pr7z5j8wv6#}ho3nM@C2dZmU)VpgH>rh%7QPxq{tiYDGXdOz+aLQ5v)=}3^=-ai5b=5U% z$giYzDXnB*)4Z;_W^KK@wgM-%DbekT?5wA*jq2OA#`R|MWraJ;WXrMM%y?w9mE;%J zdK8y7sUXB4_08IQ_pNb|`eqHbxJ83zvcrxMwrdb!Cs+6FT*dm7S7V|(QeN%)>YNqz z?pz0=B6mNtWPNqc3i9i%gd8P1sq`4TrP>lT@5H{%>nKt4tRcVT@GV-tpDB&1dDhmu zd5ux3tKy(1)p=1h@4tPUw*pa7-TtODctBY}e#w>6x;EZmssN>GowfIF-HKAR&KmMd zZUahNy1yB@0i{hoDa^X5{ku?X>~x~L6SR8+g0@+^{kzej8>%I{&*ZO4H^iDQv@XJ` z1rd15-ev9fFII#+pW|cMlOUq$nmc!px61DD|%-lS({wbkb@4ty|+=Pp;+(h?O4>zHp z{jI3?p8~HyWJ-oIXQvFw3H?YK%ZO8MqC*u&qIxUZrdN$CB#MV3XE35>E9(7SeT{>| zWf4S@C~ZYM_l_h{osG09qHZfXG@Nh4ru2CVM@Cf+cD|P*yOTZ#Hsx{6&zR!QW^ndD zJL@sN*-TE??9B{4Xyk)a!%iI;M(f#3*StdW-yEOqO=4I1Y%U*B4;nfDw9sdl-eqo1 znOyD)rP~70%~o`|EprRXoMlq7d)PVOpWRJmZb6wj>$fF-bv0q|{PecOj~&;(^20vh z0h3ip{+9Sva%xujwt|0T5{l<;1+TGsc;wX63n#c0@!G9lIewgfA0oeU{1#h3@t;gq z+!rtA{HyY8O}s5fhw<|B+M0OfCMCOvU0cXK-2y`PUi! zG;;#|YwWI1n(^HS?9{yB$}l}tRw2~-v75OlZN!X`QtIh>QGDiZsEi#bRw zKL@|0_1g|Un^%x3&vx)xRu7LjXBIYbJL2W6-}d;`o5bGo+aABwIBlvt;+%pL_r=-y z{zvug0Pp7Dvh+K^Yph;;jLC}o;_X%+gD>RJvGg(cVyhQlX|m$Jc(I9&Q2ZU?tlNF1 z-w|HUsZ-S>&QGf1zIdJ0?*#8LiT$MC2|mT@#rHE=abG-R^*h7sOk#iOcZM&udU3w> zP23lcamG~j>_Y$cK0EAR??+AJE?i_DzY=*8Raw#Qy>BZ-rsOc)kGm3|-S+{?yDRbe zok68s#W@})?!!&V;ZpAgWmdza-VJr9Rf}^>U)+bAk|U(vo%GM1(@%}NQ{xa5Jwk~j z`pAlUKUh~tR2hn#A&3T^Te$j$uv%((kEVjip0M_U=f@C&wA&ziAewAN`TJ}Sf-JT{ zu$yC!oLI~W+VJR#jK!RTC4;jkGvs9LL7MrV%)FepYAUn%Op_J&#p|s8UvPd5K3MvH z!KYZg_W9MlGMhuB9|~V;_2TcCthg^8<8-a+*^9{(jSV}JpUhs=JDfAQ zstdcmlWBzf_QEe|{q}};n#7^Xvp0N})x#s3ToA@9=-}RTFlU`BaOV5JD&<^(^J*q_ ztdfbp$nj_;6R$K;aVJjD()xZDK%AiLs{&_O<-TE!_R^y4fU-kk@|t zkP`JoKjZkdazOQap%XOA{o#W+bS?G%@C7C%?uj>s})^z zTMkJ}En0G-Dj7zdRpSaT^DydclGVeiuL)CTe;66k9DPQ+MN3XsMTbJq;SHG59!iXQld4f{c;rF1pG$bC zS}jwE zI!1YpgpcMBx$+zduQDld4<6~hwD95_8D5;g?*Z~*9F!U9=YuDe)@Pkee`YK6A;a} zqI@4updTeBdXe&D=WDpKXQ|#32wu(GBUSGx{3cvc*vC=$)muO81D-Ki73Gh@kKZo@ ze%0_FOhWP8YIvvB!z1-q7S6Mpcx5IvPWev6?+KHrli!K>4KdLM)hEt38=Rv&;;z;I z7tZ26SNi|Lo2*`(uT(o*dhsr+KMBrn>J-O43BKIw#Sbyr^Q0G#n^dFfIhlGdni|%d z@7u}LTgCe(RTp-B(}?o>C*#*<{Z4@oH`%eua|(Qc)x#rKPwVGmof2HEFzKl{^Ib>h z%lTBCOE@a1Wa4|9M7@%US91hbMV>~`E3PiQNT-DtDe%KS;ANAzKz^s;m$rU2@ZU^U z+^x}L_EIgj2`n}bQ^ZXcUZvt+$ZrgOF^-g~*t6iPnXIc~&w>x+wrlzYF0NCUJ%GTnOh!iR+X{yw+sJ zeep6AyfGy7i5#&I-Zv2~Vct`*sf*)xvf zyKImKg7dLCRY@BNUd{baq8V1yd$ZbjF*~)U8?^P4M7)G|R_@9>jTLWpK$*Z&E4EP`sWa#!`zXO|)4Rjfelt*;VPs!#k~Be3;2jmtH() z^%LMzP2w8qC+Gp$qFSJlg(j>t-}edH7PP9SOYs?M64%P-Qeri6P*gREPcd0>Uz{Hu zT2<3TqP^7C&!wKo)mUzw5$O|6h4>RSeWO&9pqFrNSg9tdJW&rCdG@9-VE(d93NMRM z!pV3=cxj-#CR4})j)JN{alYtP+!xQ7XrRB0cI;PKnZWeYipC3E3X^nwLo5?tV>ZJs*4h+4beL9DZD5~7v({DVb#C7 z+$}Gox)!RgHs~3gnN@~1Wf1j5S(lbVJCY7+NIeG{BZ@}L?feyYie`{FsP zzZpKqB<4wfv!X9jbZBJBy@eO$W?htrRnaZ@9LKpw`P@P*F3KY15TC`VSmhAsqCBjc zZYA1R^ZU6dw}uxba7LsRIbY7VYVsXQbsO|X4&y4-Z7NUHgGN5TukfPWrt;GAxgDP! zP2zs}+)fz_IK!y_W%KHQW%D)k-2>bk%1lH8$7BCCg0U)279eD09XWAd2= zD8no=)SJ|!${^0F6!*osD37TDcfvR2RIBuN!nr7cUVIFvTBR4~q6GTc@cT?+q4cvg z>nBtTH1ffM!izFnvwl)F-G$G|Ch?Gb?jjZ!zYr=c0Jw zMG2e{X+Rt)dcN1;tLxmUSZvN%DWSnWfn?I-7#bi6=b2oqK5*ueq+hOBOBCY7{ zuzGZ2tVl6mEQ#(O7+>u8sC4(hI?;)Z<)o=}VmWm4_}A@+AMU3?^Y}A>Aq}Qkg3qlW zzxA3&ft3xsla7G3Ch@qE+)KbF^svZ+M+)0>FZy=$^U<&16sz>}(Jx0Y#@c&AMTr$( z%$w$5b2%R<-F>jCi%qlG&nBx}zE~Z)`^mLWx}W0jr}zapNifC=^2OgzF&Ug6z?QQ% z`y2g+2h{mXOtWl5A1$1OY_UsB=>lw*T3hd*`WhFIv>s;(+N~g;bOFvuoFBxt(_>-a ze9{N8b>b)6CDxYTMaq`LZy~lPt*s#GLe??Aba<7O=PlIAw4!|Cg#@T{n#{GV4 z%g^~?Qde=tOl3ce@9);0PmR5(4&O)cJ@CmeZb9ltnD+u3;1L3hwW56TM+lH1KnDSq zTU$PP2ey*&rdhWAp9+KL6U!DGZ%WhHuC%s-#A#h+oF!Ob1^J|DoRc^|ifzxQ3!D8Y zwod$Hn`~|Qq_XAkdkotP)>e@8vG6Kq)vm{w?ax+}Py84GDkqrI#|hA|xG?eK;Z+WN zAIEpGwda##FKWm434GUnrk_?np{tzLRel2Zp;nSl{RHmCmzvTiaeu_x@{N8HTh*ne zS+=5Q!_fB4kv-TVC6?{f>(^HmPtoAIOU=lqaN5@j_UR?)kYLKCW{CvjRz>~)Z{e$W znm<6g+!}`W@@&LVw19e^#`75~II@>ug#;NUvlzj8&xHk_+)L277(vNI(=5T+R?z!j zpH@gvKhcyvgWv`$IJ0+zXAmTbfIvTAX7oIJh7W{UCiNDV*Lju?ield6sAu1^@J%_b z%s8zvzxIArdX2g1-i1s|$*>EX~`#f3rdj8jxUE{?ZS5|h7`7nG>*@RcG)Zal>H*2oj571C@&JR(quLEHLf?&_m%Y}va$(O(@oF3fl|F-h7AJzG&%hUQ=u~>f13O>)pDHsHz*8}Be3>e{U+<^Nmuc>A z){t-R%iL%in#2-if0-=hybDm-Um<(UWX0WA;QN~BTguKjQvGHad`zz^x8fC+$b!pF z>8mV}r+9Ir9ACweJ%a*zuM&`d#TEC(`C{j{8OL8EU{N*fySx@tdU)iT z55oD_vWLFSecWzYz6p(Q>p8tl>E5OVPkh+71uKy7oAQ+6#@`|CcUH7T@73~-;(Vnz z?+_>QQ5ffwUXm4(G)dyTi{vXSIjfhX@m)!B`qz!G^sgJ}^t0k8n$f$=l;1snrK|NG zoPVwTR2_H^-oSxn#%Yb4O;%%H<7&>8O5a7kxu5o(T4NViH*F31tJ_7J-nA^>rWFY3 za~SP?vVX%XL6!Y|vhW%Kjnf)$YO>tBAn{3dlb>UTMg zEOj>u?(XlT)|h|t`Ce*`+j)zkuGg37S#{#>m+)OUJS;uqfrl^upLu<$dHG7SjCq~< zQ$O=s#=PpSAwREWJn&{%R`9?>T$E`trC;&D`^6-b*!_wkmYS$fao$%Hw>HOjRkS$! z5{=_Iii`hJSX^U{rOao_?{dsh-jO|h%Ugjca;i1h@`ip*+b41)S=qlP3m++eD#+Jl zZ{nSr$}T>ebHB>|4P*8t8oL_v=@IC^LC?PAXX(Y+muMXSmNCDp{6%_=`Ox@F@xMi1 z#*tm=#o2*q9RH5lRr>!kyYHCY0_*r4vpacZKeIy=8EXys*?rIK*qzF$i=N` zHO)VAaWCclnsP*}fBYKI!pd7tK;A0lE75X-%>FA3l3z8;d5|u)Y}NB>Ic+F5(bW~; zC))7#-+kNA_!A{O0V&)CabZpv2XQ0vs^O4cjWw3QY8KF@WVNBDZR#ZoX3@3<94h6 z1N}skSY7%*;4?USD?Q_Z^VbO{v8t{=s4LE)PbK=3SuS3;pIQFNESFeAewKf7pDj08 zMfU$BOU4HIi|lJ~=2F@Jf^W>3OJ&!1C2CYsDzc7#XnOtjQ%izf8 zmWOj|UDTp;2-)J69a{aC;IGX$P^AM}^n2w*M41P`x97~QGHZM=XDAu_8n>Bfpf5sS z&7oWAi{R&&l*Va|lbrLFo^erZmMLAmWtjd7aUE$_Zz+r1zfo9ezT2y}Y(DTc%T`^x z)mu1Ihw~aO!y-#J?lU#hxJJuhexH|8)btu;E#b(dvNA5JywjAfNmhrKgevQr*!SjO zue2H;XR;dmjElO^u7$SFBnC;l7WN6e%u`y8`AxOPKI5Xg*`{=D3Yx!ZKLxE#v!Akt z{M6QFY9Cp)YHA3Jd?FQ-bvdVim9>~m{0LB@tQzwpfW|)KqU2qi-$Tm}08wcp*hg?& zR$7f~d9|sujEl-VQ#!C^*dTXHTVe3fGW9?2Fwm4V)T|M{4yJJ+&AWypyb3X}rEFlk zm9MH1fhpOth28f$E%C?`TlF*Fb(rrP){vj?I;^hmOjdFIbtor3$CR#1!&ck6p8)F; zpwt@j0oJ8qLo8cW48o!ek=7&9!Q1o`X+0vHU=8_5>k+BJvQ?1~7FEwRrGto++_s-c zgNSsqHRK}=B2wD2Rgn-D<%qOCkzRB9iL^eEKCy;;r1gpPr)8@mAuMw5Hl-y*D%rlD zNF_wt#v1aGN{BSvvQ?1~78SR1eve4U?a)u8D3QikLq1ZJNLN|5DiXq?HX@Z0sV&w| zq*5Zyvxa=6QX*w6TNMdmQS2U5x&e_s+OeNV8?e%XG zjz^)l5f9T%b`JAb_xg!+1)`#+d8Tw@5?x>gck~i8Zj4|#l}IpXmoUOry#y;Hh~H~U zH$l*B1smFFY{InXTGsnGWXC47dXY6$*@Gg8i>45$j6iGb8fLNw2OG)=w2@^6fyxN9 ztu++9%>#oeiK#(@Y0z<2GRhV>A2uzyP zj`|qe9G)|YJ>c%<@Jik|D!ur|96pm?oX<^hXA3wxL~(Zuo>%SnndU8c)bcCLJ*9>5 z!I0Wn+AY!Y+q6KtC7d6%#XWI03qfpgHVc7%D|p;w_fqVw;7Q(8D!up^4w@;xcsk@x zIlPU7Ytom)bG)%tdhw-U9ACWMq!h>58a{}FX3}pB?+Upm&Rp$e%*oFi5I9pLweaoio?)gkx9X=xB&Jjv@!rH{d5oGMfN7`)O%_f~xI z6HMaYiZ9Oc5qEZk(@$}CM=hU6O!JN`pUyCb57Y9gkaj1ue}^&Lo#1UD_r&Stfr>4j z;Sj0xJHy!{in}|*le~mfwTRC(+2PWQvwXyzUEuUG(C-4znN(bQ@p8_QNiW`RQh|O~ zIKNO6cXx$%h1?UTmj_EPUTjkPDgJKoOc=-A4W8kUsp5w#p`*SsN##~Omu(69|FIf^Jvl!ftPVURC;mxDel8f(*at}!?c|Dz*J_khstFS zT#8Nf-*OQj!KpF1h_igeoju{SRNUPYUdPc->BSd^aeVQZNr^lEg7e4sf&O3c>X3Wl zwDfSr7f+hhfzl6!*O{!iI}~2Y%S{zu{6@}-NiWXw5qI{2)6zh{mzK}drg<-xPl-t! zDJ@LP=OAhKMmvnNU5dRoye;IOIPE-2dbnviNYC+u)Se1V=`fUAflJav4^cVd{JJkl zA2x#M^mSs`UH7XK;W_`hDPCA@{^-r{ef<(=`;}oFQ#IXt&+>WxMVnVsubdTbAC)N;(o}T{or&|+}#fzDTO5FK3d^ZkeDgM9V)gkx9Y3T{lizj(0s`SI*?O_~uIJ}a> znu;&ZZvun(;;bNX=Ri399HsaNY6WFX^MS0ODwC*IY?xNiG1C4A?PQY`cmD%#3%Msw zFBQWV&zNYSKM3xJaomI8NzP=d7V+&lhb6r@%SYTf7)~$6-Gkvd4th#2KFefJlwQ2u zqyqgR@HfIZ?ji85kbC0v@?`17i%sfS#UBB$G+A+X1UzF>BNbo#63$&oFYbrjITTJW z1O1`!7%xYaUVM2N#~07>idDt0gm1~YE5)ybmzh+c7pI@6DL$N+;A%OapyhlRrZ$dn z$>lIyig`n-Qi${GXmMYh=>Ev=DWJZVxVN`E9g7shdqgjbsAe-&Sx?avv~i?e*houlBiRNOsE%ZK-d92IVV zMoSCR@;OP`qtUYc3A9JU+d}S%)6O8ac!r~s(jNnlo9vm2eGEKlqNk`9@i82~Qhafi zkGN9>r`s3kUVI22(crhmz6<>TUlQ>U$ah8v`a{`=}in}Mk>rAv( zdhscobCO;>#>q(ON5R?t1o~0%>X3Wlv^0n>o;0a5rLTs^IBcc()$mGADk{D>+n);* zU!3J5?wkmxpW^O`T0S3`<`cv1k7D>REuXWb{V!U!KY{kY@V1b9;`H)D>BTc98t6}g zyCy5{o&-;FkWsaWv;C=;UYzA4?wky#mx2Cdc+RBiq!%yeAeHpu?VOsF{uKDp9HdhG zQ{Y`8_r&RCgY@FX97L4zIe_=&r|#wINP51*M29E(!?T6iUA6%}8c?az4W#aTY$&Y5sp8tBi|^5K2$XNKFKiPFNfe8x#T1})nk zad!;7E##g!?VKb%+%%1&J!Rw6p0hBeIp8Fhvv5h8=*22Wob6ALLYx&O?$p6)=Va;Y z;5ptgD!q6Or=FBTyq)(iN`E$d1_zC#KO5c^a!;IgDvl2~O_%73HL9d@FcovANiOH$ zlHqlbN+Hhn=W@A-`yqGEh0{@S_gr|4w~IoPXhnuE}>e3{2sUA~%7|N~3rP4$vt159e zK|u;}){(e#A)KyWtrQn(9ern-FAO(9Nri`L9bG2vMQGUsiMtoU+d}S%(^19n#WNf= zlztrC=eUyeBWmp>PqP^fmfQWxO)ja!|OQ}Uz|^DXAy}z6X3K|q1*}ZIulJwFFu?X4N5N_<4uRsUkV?~p(5!og;$5%6Q`w3 z(u*fK04V)LcrJ|NPJ~x-08sJ8*#ym$UYzA4?o5KyQgL^Zmd~%Ic~ZCuYL*tJ<#VmH zlhLvX3bd2qZ6Wu>X=e~yJj07BrN0aw=WT(CeHlE-IX~4RK8DjniZ9Oc5qGA*>1Cjw z0?(P$b<&G34deLY?YvM>`pe;iI5(vDm&3b4?upaOHpPdVrWv|iH|TO*fho!1A-PMwvc<`wDV5s#WNh`lm1$`%ON4f zz80S3t&OThoPE$N>BU(=;?8w&+8OAtgXee)r1awD91)UUyq)8H(q9ihnj=Dre?6QP z6vP*&ou2gK#U^!&^fTa@FpfI|p5dK>iZ9MSD2Ol4@)37#fYZx4ihl!bF1eL9m)%C2 zJ(=n`6r>cGw1RGxOB0-}P~g%8X9eA+6ylv>C?9T`ZqpUJT~{oHsf;s0%96sRm{WIh z5g);+Af*sz5s5p^aJnk)HpA;obe8nui^Dj+c#O9yN;X#6SY3 z?vnUM#O#H{-5cR;A@{`T=Y7({P19X!^G>TJ7no$y8$!4=4*JEu_HZCio1_0LkShcvr|haayWSKHN0TRj9jF)yBVX6Ly9k6$$Ji^zYSh(vf}P-@M7MzD82YJ-bW_AIIBq9xgAbd1O4sl(!FZ< ze052t)j0ek7ff16^W|~}d^cW8rxbUe7Ac(kx8vVJLSNE|n&F zzp4^vI~1f4XDx|4cf#pvhf>_Br%{P%zBAkor4=5grSyQbv(d605_f0A+d}S%(^19n z#WS4Dlm0HaZxVt2E_l*JA5<;k+jB5SdU4i~xZ}a;sJQFFb0)PwdhuDDB$8gdo%46n z&w;ZY3iNZ}T_N|xY3CEtix->JL(+zaMSd#F4rTvT=!sV;{|wf zxd)eGUU4WFakfL^zBr3W+?fZbr3&TFgV&j8T6*!}Ch?5);xUsFckYFcHCb`@UU+rL zJ#kvPSbFg!r{|=f56^{h-1+cIPR}X6INPD;q!(xTh&%VeX{oq-pBD9F;Yy6_)B9Pe zp;|zXOMO3THbjB?et28RJ#iWuM2DNE$8~Ewt_D4TDQ>baD8U1`BsprQg2c!0+AgIK zXAOxv3*a;~&@WIyPpY6NbeGArGz{fq(lQEM9)u6#U2;nCAiOK&o;W?tD1~^jNjdE`e#o7N;Pf=mKLn3)v`>2RA)LLCUOdMkJ;h%HXHO*V zE`pcwWFUeUi&vV|v(i5d?+W9%55tR1^f~Fp*Wxv7(u=c(#GOarv{c-EL@jzw z-F{vzl4%MDEaZYo%jkKzbimmb1uh-%>X3Wlv@}Q|p5(QF(x>4uj#4N^8eVClFRCPQ z_C#+gzBtQB+<6pEOU2zs^%UBMqf6nQNHKhv7ST)6K8BV(QJ{Sc-WGCCoOWiV7tfez zpnn|hnyk3{I6TRF^;C;Ed!kP1#aTh(&J%Fj8R(yY=S(Uiy?8n2BcvB^=RJJVKM6mY z^AU>wB)lu+o;baHTYB+glX_M9r{I||j{6im!;u@s7iUit#25EN?mP{rm+vV4)9{#y zzAn9Zy-B>Q_~JPZ&nW(4I2)oszZhP|AsOk#JHt3W+%&zeJL3)AWY1tKGuii);u&0u zc}bsK#7A%{LMg;qLE_G{a9S$vJ`1li(N5{b7l(0t@fasxq<;?1hA7ZK2d@sfCr(R0 zP<-*ENoA#f9$v?>2E~6KUTLCB6knVT(fiVivwXyz7vQus(7&MNv$JV_f#p-ep$2JT zT0U<{`yyKQL*nj>@V1b9;BTc98t7kwr^7hzOYkJ;QdEmLo1q}SILk-e$-wF5 zCyJlZ-Sv*z{I>2cnQAzFpcI(2f&!P9;WIdWAeWcnT_N|xX{SQ@;>9NQo>II5FE-hw z(!T=F@KQdNB+gFgGwH?skUOu!X{WgRDm=!)Ch5f&gmHZF9B;f+{MX>@gaZ9*@G@SC zCcQW<{i0=u!RNlZLBDTOsN`UZLcET&nnMCg`8pwrIpU-c;?p=Jpc2JdQR2=UaJn4m z-+?5XFBNUTL!8?z`{|$4nGooNdwf(u?~cciw~3%Rv90 zR(Q8QKfcromuYzz%EzP?)vXj=aCSyNC`A{%jI$w1AzsD%zLWxPn!eP{vP{pU_c66` zGC(fx<5Fy*U&%$BosqaN&I%HDK7i9zg>pZD*Kw#rdhy}>Ex+{QG2ZYd{fF?e{4Kxq zAHu6c?upaY<&GZ6Wu>X=e}{ZkoPTr@vKuKE)L0kM$M)Q(Tg~sZHgG zkKvE?l|r0FBA!?`g>l?3;l(EUi}d1a@uDQ@#aTh(&N4VH z6?d1x>rAvqdhsc|IZJx+7^gL){|e5gDA0ceuMW8 zh@<%8Y>NI-d~sHgxbrofeu}$aYXyxk&0mL`BE|4wT0twM{RS$iIW zFUXSqd-&1(NxZ^;5AO=OCr&HZkY2o)vlP<*0MCSR+#lc>&SWUQID4WXzPKN9=SMiL zTvPFXgvU4^BfWS%e?qVL;yDiJDE@Ldd!j(U9A3uzwWJsC4CDB4)AX0_iobP({e-E^ zWY<=TpKvMW^o(4@N0>yhQi!v9#GRkvbX45^8D7^KZAC7;I1J+p$68Zh=NB+LqCou% zxH`a|F#Q~;;KE4`L`dEPuj3Ep6}$&tX`)4nF3yH1BE2|EN8I@pPCow`69hITcRMo zIIBn8@!_;`kmCEQW=&PIMk~)AnQHi}cBR0i1r)ffgwNpJR&rShX8{E%#252UtJauV zxw2&wEugiP;&*s4e+4i7@8~m}olr^QY>A?ZFU|rIcm9CWP;vJUc#PMYNiV)2jN^;v zIQAm_pK!KBf&Nc83n%mR>x`Ifhn_e6$81 z*~nYn)?oPzf_hLkKcYUA#RKJZ2bf-NqSymk%Zl2oP4j@(;Ln806c?tYv%a)NXxaOS zyG8J}kbC0vQ89e+3};rPUmfn7M4(?Cp5#ah+!Np4BsP^^oTVe~tO2Kw;_e#o9H$K))uuE99OyecW7n@nVzOK>D@dl_o3ht_9C<%t7(R+52oE zy|^E8XKi?U7{^^39y8I6q!(Wv#_`2-Cc2^G7sJ{3Y^nIg@G_GM^x{<}v6bSBSDMtu z(nsKJCK2c(@M06)MDfMh^@#i8tQ&D>Ae??GjytfGTWb?;t+F!RS~3kciLK>=NlT|p zF6+R@nyk3H4!k<#o;WQnmmY4K%5;|wCX}--rd$}xT^E;16Wvr*iL>|FRxaYKAaQ3s zI9(NY*V76*-88Sq3TiUhZKQ>11#KqnAhhg#0_`ApTgW|eIvT`=o2Jb)v&~e_`k3M- zyPd+Xk4w@-w@^9aV@zUur4VNki9025ni}X!)TAvmv(42cnfR=h$;YI16u3m;gG_b@ zrHI12Lhgyv)R^?*#U{0tQk24zCM)ii!ZWBTEeY8&Y{f_H^++>PMHykAT4;gPj& z4ga8iXL~$gqgK6`H?TV!;}T^{n_$1cFmA&p z*sDXkhn+qLas5q*o8tUX_^?5s4|ox#MV@4Kqr z!CGnOnC8K)!y=u9F?$B%Q)f~;$Y)bx{#_WeVN>jFq20r-Yp}a|x+%40IL;uy&G2(? zFRXPl{F1zZOSQ^A*V^;7%FZ&B-Pyc#7gIHarB}UsYdI$l2%Y1Ef?P30%I_!$-LpBa z?VMDQ>lWCLwssr3VGHbCq20q?H02JnWQUgRIfg(VipQGLE$Kt1FlfV;IAu&~CnepI zpuZIc?UCIN?ao#Nn=3S+YoedVbGp!s3LZeDcu&^4}}36w#8O`k!i+OR6g4*(SMU@9kg|`3yX8mR`UI3 zvfXHH`NCv#$C=XY@XruO*Tdb8qS|o)MoR7~2-dS5GpXZ!VQSs>%ygKw=UcZu_O{UO zVK<%ovwpgEXesCD0%0?J&DjowO&5l3*nv8dd?T4`%L+sG$d=|C$zs&V0l=`v7{PKl z03$VCVT~~y+WA(n9kI=@wtRg%V(a4D#IO}Dw!!=z30BNEdF_Nl@tlHS4LjkGX*A8U z?QL!O?#brkw==dnYil>}@6fUphZ=|(b4{~sC3C}=C85oi&E*TNcA<#!xpqdo0NeQn zETE|x(OS&C6h!i6sNx%_c2%Ui3nIC@Vw=TRHeo9&zdMZN3wH7~O}nWq>(FinUv*=- z8NXZWCPgmauY|3rq}?phe>0Oz>Fx@^{|5_TcLMm6OfxW2*B)jZV&0GP6j-@?>n42a zM)%bM7{UT*`+s{d?;$)T%1m@W-3qd2R@nzXNC7K{;Lq0($nNZc-Ct!7`?d$Ui>H|8 zJ;)uqXH{;+_GOzg#gy)et-8?W?x~vb!)B_gXx|VsxKjo1$&Bmyx}bmIl>Q&5f8mt7 z+%(IUE42Bt)m&jphhi(6moH@SWyBmml$c$7V-U8Y%6Vpq{#$jWDcuXLyGk2QXfNVq zuH@(gw)R4sFWYdwMrUtqU8`(^dz52ua-^>^&9W8Wo6jFEiM{a~GS!q;V2c;p+zM>% zQ%y5AQ*}bnh|o!f@@b|tj#JzJIK{EGO*751Wmee+->e44DWv3TQ@Rf}f0Zqq+&=gv zuQtuH#pV|lDcfpEQ@Ss<>i@TC6^-AQm~PTEV=GF|H%s*2JfcHF>O=M6eVEqU0dO|wf%*V=F65s0 z6sw2xx-FtO!=UX}Jq&d_rzBL1c&AmvP05i`{~PLC^}kV5`H@nKm-EN+svK@gj*@yf zv@)dbaMdm9iPl>!RCOPvx(|f6S@nTo-Qu43VylOnl4BJ6KhT_2|0k^b7^%fe_;Y(z z0yia9QXd3mZz}2@6xLlOwRnwHi_>v&=U{l!>JL`s2~{q-z^b9DJR$WV@Gh%91Ww1r zJ#l`#Ia9U3P06vUWdt-9Qg;MuI)1Fw;{5OtsNtsMIH?bXx>kKCYC3+L)Z(+OTAa$o zol1Dd>MK?G@v2;Oxm80|`SDU8#eSJ6imP{$yk+nFe|ylWqcz);<$VlRztHL)6VCQzdCOk@P{C|`?7W^z-c?vD z3$1RI<|?ZvYyB$g;2M4YR8bl8K1K6RU~gMx51(j>aNe?evM(;Q``As%Y05nkYp&4h zj>MaJpC)hYMJ0>Ol94=!OKRkCEFSSi1#@wa4d+@T57}!9?Y`_>S=pWAuqO-c?s1y! z>6)#q3kt11R?YTwc^{9xYn6TQ`q~a0AFgQGJ=s@#xS%@!c%I>vx0%ut^n5S0xhG(2 zzs)quR#j;8v1vnmrt*#=u3Kn#M+LJE?4Ini3hln^8S7t-JyU3RtFgy8r=hyB7cGC- zEU6AwbikYw@hN*`)m*;UnmjR>Yv?2U@c*|5Yw|>5R&s7bHUAfTU7_9mFZTA(?#bR% zX!o%f74vl)C((~|q0K!>SE)`v#h=s~k1Q>;`dEuHc%F=BamT8vgFE+RY_Zv3!B6QE_7py0bNIyIq3wShPS>qBL8YDE8ZTOmi#}CXo{mc;-&HXhmz;HBw;I$o znjGzOO|xuej~3R3O~0_2pzD2x)+I1}w^j};W)o{6@;ol_y$Vudzewod%UV5=&$xnr;mxyLli z<`&v~*_!w&iL}wt969-vBggW1;*l08$D(9gq-@>TBTE;D+3q!i>zMC87cgIb zNE)xoE+A6Vjq3gds_U6hnKCz}xuz?nq>EC<>xs&58E#Y;>%+Pxs4nrYRv4E+q+10J|D(iX!|F7 zHOG=v=Qw6mbu%-n9Y=4bykMHg(VHPAHAxl9T5^jz*Fc=%FXrpJ=|B3wYGA%gLuI-l zh#9>_U6gjUmqP8_us8c$jJBP3FR8wZ(Xtw)^)5!c*lOq4`ed);xRdI;gfXj8+S*Id zPRWFE=Y`s|>{L5N)oRRYl-6lfy)TE_`$MhUh<$meO*1x~w==VDDOY6!N%Rq8}OZJMU>k7K@+EKDh# zNldxsO*2w67(Xej@M={!2@xw&qHc-GJ5A|i`m)$0WOpZHXBEosO(xya&M;kjI0IjH zN=vG=%NYB%w98alHq_n{YSXe0=gIcmd>B`>pxw%e5V_%2rz?Ry|)7F@6OR(+`@FR}gX5 z+hN2zZS$@mVx>u4rwXOZQQ?(*-qgIK)(zvjMrWw1E3uWa<%dPe-(6LGk*d0i7@eWc zy$W6BLeqQ|x}{cUyWwNgkI0G_pNh_1Xhu#|P49*A(4DUfI+b{I?FQ8(UHd{)It^V- zSE#dB!ktFEV$RyAKE_2|)F)l}`=QRWYwl`vnNa64E-HS=G+(XytnSuu9k0Bayws<7 z@g%zVLuO=>Ud-aqF8@_c&8kVZx`#~ZboJ>&J(c-|=k&0c78S#|sO=%M1VN2(Af{z;g0R+!Yij$l0Tq)Rg{s^&)u=~nwR)ZK0dZ>uYLy*6%!Tgkm1RdSJO zzMeTQ{?shtzxuU;Q8_cPr5BlzGl(!{X&9l+uBRDPRAy3bsz|yV72TkUJ_~jBS?S(D zMgP~X64Ebpgg@N@bIw!&kP6)$Xs*F!?^ zRP+{L^B*GN4l__V0DA-YM>Y>Bmj%iNi|G>bAI9guXzCwUE+5!7+~ODF)9HFlxrjIQ zMU$SZTt2isw^0b@+S4Uo2=>}vG~MD=thGG1P4U~b1QcjB0C_9Ps0~)9W6gI<0Y1&7 zf_h=#MPz4`-A6Xsqm~!q(_Zy)WhY+EOD5e;4^xX+WE$G%`kF%WhV6J8UNYTyD=R)O z&uJb}xVQTRya4RYe#x}XQ&x`ms2O}4q#sxQ&gVA3!Q=4Pmh(ew zUON{q@XhIG+%kX{L&as?Uj(_MuPk_g&09(Gi$nV=wnfW-2A4d=jl|`2i<@~?alhF#yjoLcK5K{fW##)U+%C&4!8O@mY6X8T&TO?9 zfp8U%y(r7)6zy9ZZL&SF{m)S_v#&_?bC|5MVmAF;IXY&88%z1g@fGDL++n$yC5rl; zjmkM(sVT689CK#itIBZ+T*gdsOX3zBmvPdis{ec(H|7SyK5rXRw$Cf>e{Ec*ce~bt z=i|P&{EE2#Qn<7sZqri5b=(Whxe?suOX0Hl`?c~FmkpG-nP1Euxn*_5P;8WVwNGgXI>NDakD?x6XDbl0V=nA0_z$m|~*1 zO)n^}`8 zvM=E$S#bm5z;cT(DcLP8_hOf<{LD6S{SeGWgyJ@Zj8b9Cq2{5GQ5wJ_Tgp%b@LwQg zmMhp+Hdvz#7A(ilM^oHTIBU5jaSM(+-OPKbZ7(x!#oXOA;=fmtE8w$n%$?bX; zTN1ar(sHl0L*RGfZ|8Xs)}2J>(y>=(yz0Ma}^wnfjHCQ)MJ>QL~{OpGR#>zi-6*^W@ zahq0A87p{5Ok=VN&Qu-%Q*OenpyFiyNAU*Qwx_wV{2%=5EjJYAqy2&M6t_BUxfi&P z(jVjYRe}v0oDsJ(Qa0`y>#yyfh#anUU`hNnmn2Ou;j)T~Tl}-) zI_~+le)o%8ZR*}pmR)c=Ew`ylad)+GU5`TfmsoBj%!2x{@?8zL*Ksd!qq-VDv;CjS zS2%0AC2<>fOGee!(Qf?AI&lMG7F5M8b~BTDcQf7H%p~;xQjUMY&mt;+(_e^{8)RcK zlT?#K`PW)*BwWKIJ<9Q~a4V`T_d>Jg6@AkGO5d5`?<&W?!kuopC2@0(%f2A4_5T~U z8*>9;R#3$){;%Q=wsDh1Uw&p^N%_7BW_!9``M#;Rj$7~cPj8Y#kL5<Gb)Bwm*KruU4V}eL^y1s`7I)w}!bGyq=Gih0<=??fsV|i1 z-xYFq+x%pA>gBKCg*4I$&$ismKj2pHVYxqY+q{2}Dt>Xpf52q{RooI>uds(nzr#>Q z)*rlspO0Ro+}=^FJ#DNj?A`wUcZikexi#hZPq>^Sahv`Lx6^SiGv_YQVEz+s4NsFP zM{zqWH`7a>Yk5uyd(dm`!l5t=r{b01RCZR|wpoPZY56bwO!4*73A1p1tvvq)w{|bf zb$gshewG_?{dd7EoZ>dUtGJHqHdmqiB819;+yRx=+d)V^h*f{)@* zF*g)uy%V=2Zl~iiiQ){`u|dm6d?EvoR!cF9>lAfA8#OuQ@{?dh2L8ujR!(u7K2}u6 zz1R%?oR8r0kK^GSxKY`P%e2}?*?yw9HRaiU6330Xp)f0_xFvBr9oMbM{=ef`EnjOq zg;_bpE&f|mX@ArGZ$_zu=dzUJr}!&O%K+v0sbcMK+huR2uaB008s}K|jdB#1)l%Hd zXUcJeuE>3TdtBKbRFs^14>(cD29_9;V0z0TF2 zK6>Nx)E8kRaak0_&3pm3@gN)4&AZ?W{3|Ut6lT#BwoJy%2C{2$GzF*_+R{uJWNL1Ksd16 z;(y`h4!3bdVb>+z%x%dxwA^r8+lII$xL)s3yd#KlVsTNdU;zFe8>={g zSdB;9SZ;R~$=_+YekGV?b8qEX3AfjAlTEz*d?*GfM`4ytaWmT~?)Xh(ss$m~E{+>> zL*XTsTN1a|ag*B%+v9KG=|SZy99eF0d$_q{Y}}-D%HM0b{tv+Pb06jV1Gp8nW!zBy zMxFvxzQQb`;%0VWoN~3Meh0>Bz4eDX;Ai2Kzl5LX%-RNQak;H6V|Q#DWV(j7QQ3Ed z#(Gl&t+*pib{=b+OzwW+H~C>O{hi{*V`kG%Fl#4RrrUmn@)u0YFeN9`TQ_Bb0fx%D{^f4k)d!alDRQK|!#s^hvPJHl`Bdn(nm z(8xCKL>!7yr zW~a0G#>VaKBaxW-`zX08joe|3Ttiix@8u?%)+z?A*Lowo-hdBGdN55@oMfAF7wy4d zqD<$BGNlCevLBdk@d}RTQul|zOYwLZya4RAf57W-;?MWM{jo*z^VyQ$ABw;C15-a# zLoms<=dOm94`t0@2u4UFUd@LlJxoJzvgL7#W@&9129Kg6UO0^2WsjnFJ;U1k%8FAg z(`}6W-Q#gsEoK1r!Vh^3P8;7wonpHAYq~U}dPWe`-vf8WT2sG=2I5p3=3;xbzkH9j zL0e8eb*S0-Rem$j&yhEAtx4~x)EqOJV|%voy_&OC+3zMpY+in?=@!4@wDJV2;ZJoo z#}BZ1J!^ReP4S&C`RvNK_B0+vqZ8F1nR@A5g!Ee*r)7 zUA~W&zms$}_hBAXJ8v=%_SI+L2%2O(ZcsVhm+`3j*tG7eTznkK0K=>taK@(C*ARQ` zevlhKHud|FOSSXGHJoQo&mODwnPaJU7>O|q50*K#9^WdxU1_g_@x-d1i}`eU;zlGe2T~;1id5d7*Oj)gKq@WcvkVzfY_bZ>%AfKNc=C zK-{LWaH}t{?YbEfT7S%qz$SIEMsys^oMWD2$37TGB(|}N8VWN*6}1G{rA|3+GMMsLn7S-cBVnee zxS6AwM%5RY`lFdfQ>{NdS_9am0mNIGyU4bBlFM&A>MqL+gqe_vR2&bt*KvPnxsm)e zrlnp(c?_7z8E1HmPRto}`bhWF)MFU)oFzsOz3L4nUCT;TXta$VYrpNDSqpEi<%PBI zvKvgdcoi3yCwZ*8a3;IC0OaL1@O~gIfR1&Pz0ucyEYVn1&Qy96;4Rr;>L+Mf=HEQ< zmswDEwgybTUNSn47}Zm3OXJ*mJ&ta%MHepwd#TS&w|F_nJKPQ1@$k6R5-$LIwV#{T z<5}Lb4GhBsH(nw!UJXj*5a8!Nj-_7W`2nmo&+!7XS(6>Kocx7Z?W(`8}UxYx1LN+riI!|Z41ZQWoY@yv@n}j*eDb6s`-u4Dewx8cZgZ@ zZx#1b;PF8eFFZxlzDqi^L31CtT`F z(|tP0=N#`8cha&%sE5~Uc_G;AB0qRu#Wa&X1OCKmHg59kwKL#Ud}UhYYjnP( z?&GU$FX#Jb!XNdOsXr5br}Is6IpV8KU9lZhHAS#LPLH8;s~2bk&hbH=rwAY3lh~*;~#D8{lLk9#+!~n-;H( z@y}t#o=d>mt2XsMetPL#$hnBO4iTu)`Hpr;;;Sr_^Zm*2mqez1GW<^GJJ!sbp@b(B zf56pA{P>>%^kegSN%%bY)y`LI;|J#vzi|_PO#_3r{5<$6eupN0&iPzE{`v4bzvsvK zWAkeJd3Ftcuk*2!(<3hZ=aWy(HAz14^@e`|{OSFs{sIQDmjB(s-^yG$ClaU7&$Daz z3eK0T(HD|K?h3fZ(3N~Na+gW1vcT0wxU6$xy31$N?V$+oncRHIJM~Ar?A*XNZa;g@> z+)ooRa}}G&#=z8H#ipU%`opX6lj&?_hrhBju-UmP;9reDvfMzp!E%dNw~f?o}HQJWWwDH_^QYb&)jffiwa|=jqXQpdg>bOU_-)Br`6svim6Wnk* z+)=!WNO_7|dy|bj!j0m!_@`TLARJh3@mjbA$34Uir2IXW>(2nQrBU3b85;4sm;>!I z*f#jQTu51p!S3LGWqBRZ8gI5OyKCv-I{fXH8wzJFwZXH zxW#6;)wkHVhr3UcxQzBaaQ*Ay_S(2j*Tc;@?ihE*j(x?hEYT}l}t-aOe;6}>75r1I0fpBQK#T#{1d#mZbk(tzG{eFPI!nCw%Bm-hq z+-76B)jgD-jqDtasqjS0&CG<`=(w~S-yEDt-`g!WoC!B?xg~Ks9hbgqPd4@@xRK=s zH^J?(+~Q4et8ceC9B7|v=!a{v_i2lIGfZ|~bCvDQFmsMc28z1;W}?#D`;@J?Q!O`h z3v(oYKc7nX@eOXlnKG+&rzaF%Vu>XYvk$0r+{$DMEF-uTMr0YqTWPkCvk4yUE_H6D z*g4^-)u@pBH z?y}sHxSfuhY+iHtQ@j@mZXjI6`;v%T%)zalWpi-bj7a{R<@!GcvkZva^kcXM$4#z5 z;OkuYCGh?|+EYuh_`MvlppHLD*|j@VT3%-vzzJ<@&L@4(+_xq&c?<^tt- z2i)FG+<5EMe+T2lGBTIA{+)1HH^ptbQ~kNq#wEvgo%TE7<}Ei8m!(tO%w2Fh9haLV z@i$L*;b)wT^0jzi0d7g$+PiFAceUr=4L5JOfiNFzaf^2|OS;*GRjyuWT{TX{7TK8o5>`u9U;F;yB(_iG{h3D4RwR1BZOMe;Kg9ZK^7!d1+% z;gW6C1NbNM5-Yf&@N~;9iQDM7ZhPTBNYklBx;6!AK~dD=gX)lDvhj&G)DP03$VT<^ za9K(hE5kh8>U(VlnF-~OEH@Hn0Tnm% zu=;bq;QDP~R@0v=-!{0l57--(2k!Rmf|nAt3MCgcHQ}j5b+ajypPBhA z+(?)eRNTybHe>Wn_Fz8toaKbV>n*1wPQkQ1r*O+n~D}<3EOWs^tY>uVJ8ReGFdC@!YM_NW4zV^B2M^3^er%;q^Kmr7vF67jj~& zP2De)mw0OjnsfnP?L)R*SDu1GoPW#uBN>}|5A;B{DD_!PY9yO?hA zIvvkly82Js?!KZfg1vAT)A}?Qa@EFk^H-k*`TP!i6}y`H4r1ht&B9! z&ma~c>PO1Ue+F?0zlDeBbz*#$zXRr*^vyIk^I4qHZl)DuW%Yd99Q}BLqS}wIveDW2 z;#3#eW1oXxJIK^O2S4Y0N0>Do+5zFK3^(!P3+U)MGMPQdq<;>-cT@cMr;{^(4!`=5 zP2)OFF|e7`XPQbs*9{Bjbzi~xOE?p=zgNV!ny`6QRiSp<)rhX}7R(RB;_2|y>rONR; z<%qko(}|P1{R?s&u%IkpfX(vnXMfLMp&KYK z(&w%eEwsN#3kB!h$5l%yR&G+*TY4|ihr$q3{}Myj`i6HjCuGDIAlnQr;m^ ztDVAE1*Hn9Io0_U79`BeoruX>ni{iV`%zFp0^@7&G26hHi) zuRF72U*SYf9cJoZf#2nPLo7dh1^)W)`SIMw<}Dd!(yzi#J#ITS)bfK@;g52*WTC_6 zMZ-+D_*v)M!wl}#aQ}+op8h>wKg5`c&8ywrwEjx@JKsU}-d4Z(Z#dfs`>(mjbhZsM z*&_}A(592J5jpRX*1HU^SJ>TjcM@&PBAe~WPWfwmUAvq5U*pR;U)t&Lne6*~MBCqE z_C~*Er5|Nljx`j=*C>ul&A<|?U+^0C-&q_Azr}lXD#Zpn+kK|aMvWWT{;|F_^dRvv&&>Z3#+ z$`x37>9@#NILYs@zhQA8{H~RUV3S>!$Ri!5PGW#Fzek)lE$c`z_&tJsEe?gp@zy4F z1I)X75LbOn>i$Yxl;gPPE0Irg64`IFI1+BPa{mv=yFN+e0f$sr+w(slf6Yl`f74=r z6?mPM2Vj%>G?9mLaUr4BORJC%;mIkD@Bd&w$l^eF0*}9755XoI7mrVM*5z7n<(WSs zpW!5b#Lk;7Vu|p4E04e?zn<26B=`TMXs2st{t59aC%~%LYe*akZ?Izj4cJ}(LEOGU z=bS@r9Z%Oee*^h&o_LW&_QNgq{|ugF>Na2xz$W#1A`f-gRY%*UKO?@$3AzwGU~wS4 z$cjU-$@V4UNG>jb)plkz@@^+tjh&aCD34Hhqm@Tslm7yF!+3NXU z5x?aG|BK*LivwYgmnbPGu*vo#uG&c3kz7k$&)-Bo+SG{_yovn;i$mebRvv*(J}&f< z`+vi=()Ijr$mckT?7Wjlp(5d>R_^yG*RPY-0}gd}Anth&@^_s?_Af2=*MPUI82i zc*^2Xc!d>5V3YrE(zgG1TwEnwK-*1!N50NUWdF|MNI1=#l?*xkqpfOgml-g(!EnYo z;5siB7yp5H!rawxBAL&Qq5lqWnw17%Uh?C#p*-BtQp2Tp(9XAle`0Y2SvKZpAML*h&?;tf{Oi((tovK2{$!b5nuj}ii#{8p%|wjyo+U$|zw zKK~2#Bqx#mLW?8e8CLGUi@a;=L>_RcTWo5)_%8BAP9pn@7W?mkS6O)gHmPkBc_>%t zI{qH=jZRX+z9Ua+kZ>S8oYw}aBVdyqpssIA@{wF!uIuk3uXmF7vGZaP$wT3rtULmn zympAO-2VUBw55Ok%1H|py(~D3pZt-2Nv%ePkWGDFu`_&c) z!n3SA1e@#*i9C{vvMzaM9rC44vJN|CU73W!ly$WpflYqLMDBl#i?S|x)5pju>pMvz zJ7rxs5+2R-9$^0yw^k*(vL>w`4Pq9ptyKpE>VHb|TCciWC zs+~3Y*W;qF$9-RqoWdSUWT&vl5@8Cvu>T+MA|6Ik6T(#Wxa0pp%cnEu%T85~`5VAg zb>RSPQoAKhhjLNXsxBM|PvAvE;1F!GgOK;^rkO7nRXy%_A9AXC zEa}5eRgWdY^Q}Ar^Mas6?th_ZH!@$FzCgUn39zcFOB@MP)rI{pVRsEi+&)C7oI_Rh z8+FRRL{3#7EQ#z?bz%Q2@Fbqt00&@`8k)#MxqK@xeTAI59!nzZ)OF!Nn7S@`2sYVa zi9C{vx~|qU{m7~7v7{e6bzL|VrmjmKflYpQv=c>?0>Dk?~%v@4prCVzJHB;mXpX%U6i9FI_>Mm9FEfKdm!IlW9>Jo>-E37yI zoBV!>*xw2lRsAlV@vV?k)nke5RCVDp%45s5sMi_$K6X&dD8on%|=&siJ@zh>nj*klh#VBZI0`r6r@~V-V?UlHw?s4BMkyG7ciR@H&;YfIfmHXSN?*}IGfJ0UH zxbNE`U*sgRQ{5%^w+B<*)p`Inse==FC>PZ|?)&!0H#*4=uv6VfNg_Plv>Xf$!Mtz@ zdC$R`?Q&7wDQvhoOQ@`ogHe@9$Y_qgvnB46wzvQyF}kAx}d zYTe&SeIK3310CjDRMK}sOi3Rj0alfCVLt^PVd@SA2Vj#LgSh=r&3Cyd=`A|zDdd#& zSTYbhC0#fWrld|dSNtZm6M!wWZ(%32Kl83^Sbjc&I$seA`{he`9(j{-& z8962W2uWn8qzgyFqs>5Je;4FkM<8!FLNlI2m2}CAyCA2e#}e5o>9J&2FeP0$0Grg< zL>|gTNss%!EAkaivKw|vdMpv9qzi{&lO31HxeXha^tkVX%*e|03VXw2XM0nld5{@a zxo^2`88(&paq8G0jm43Kt2$DjfGWaK;^VQXBHXmiq*a8wt=!g!O(kF9xL+BU{3F#- zVM=~HFoTKp+Ge`J#Co&bHf9L1*a9e4Fhm12K1nU)P+Nd_poTC|Yyrlr$)VWU0tg4f z6HJS62sYVckoSz&$3rf*0P#Q#L(Uc;mJGwr79f@g&$n`JUokMXiQL~^(H1hln|4RM z$_cP)3m|bM%oae{-vf5nv54CzXo_&CEx483m|zQ%oafM5Nxu?C-O)xwg8f6_Cn4UAeQWfoh^WHD9jc> z@(675KSbVef~Lf9TxYk$t=wcp}$W{lm>5Z2?Ze?(eO>pODA{4z&e{ z`@T2wSymp&&K5wS{0x{afaC$#q$VcvP%gFrao;n@-*S?Du(Jh_JP>9Ja1uBKo9s!* zt0w8J%f%KT?)$#T*#d|b?2DZ(Kr9iSY~>NyL^e?MGo0ph;zhkTBc$j%l(@<^C1 zfUsYqzMq`P0}gd@ANRcm`MXXcJKKO*vOkz@z^Td#%o~4@_nb=dpXoNa(; z{s`=B17eBr6v?^L9bvfAJaKuV*FFfJ3i9 zUq>V5Lg#D^&1i;(VlSzGC{l{OS`EOw?I)3j9C{&rJrwCiM;`;7Lf;^|Fopgca0ups z5TrflXijtJb5~jeb zRsRU}b#fvNIP@y^Gp$D;rM#anIyRMeVV~`<%KLfX0L=S(khY(vdCZ|#wV&zsky6@Y z`dH|ccHuyn(k^KTHrWdjX~dy7YCqlzhIFZ;kAqHGmoyZntVGw@}5!MF4Y|7 z&|6Pmk4H)+zLa5_c|5~JC64LGBb{%h5tz5(BvSu}NC(vL1QgO$j*d-rSkg$CIxOs; zpuS#?w0#<_1{`|THKz3hq}1TcMaQNZEbN~Mo@DB#fdjBfU6Dvb4n3Cl?h}zxe`ESY z=nt5>E0p|1lBfPk8e%uuD-&tNp_i@U0Vt%@UP*(KkWzbvLt$#Kq!HNUuR_{zwa)7# zq*LkZB&5{ct3=19OK;&wxZVuB8tk8}zFwV30}j0$eLWfJEJw$tnk%V)3YeNJX#h5< z>4`Mt&}*l!ryzaH(NBd=y_GZ&rrur)4#6gSEz+tPI%iNYmg|)b*rcvU+H*Y#ha7qleXT=EeHF#8hfaNs>B3X2Gz6RM4T&`3&`a&l zlTJum9sLaG)K^JE;T2XIfldC#MCzZ3v}S)EY(h$Xjp^8Qfh`;fQ(tE)o3qr{0BJ*@ zIn1H{k5%hgNU5)Z=-5E}SFz6uAz)K|3{ zf=%}3L>h7EO{cF7NU5(ey#YG)^%l{Esjs(!Be2Qeg0$)u&Ea#A&Ze*DBAvwZ1Uj$h za$c#gl1BJdUnTV?tFN~v(tty+Kwl>#UF7K4R9_|a&jYWr(g18yw0V~+g%pmp^z}ldiyi$!=+sw9BVp>RTJh7EjT*uG zu#hfw^eND(u#$$tR9HzPFz;VUr2ZvHCyp@nmmsCW-Xl6TRaoIjcr=d*fc++?L$7g!X>CGEg^lUhRAFQKkHB-RGyt2_PZDX!p%>8CA0b`g=$AsL!b%zlQ(=We zu*uFzq!EW+p1xj&lnOgX^vj@AVTD8Cas0L)9Dz;#UZhp`Y8FpL+Cg8ZBBjE{bZn}y zF+|)g+&x-6++7?N! zK|aaUwJNJ?_za~UO61Eqt!oo1A1ik_RjfgcnIpzriN^u$9wqx%j=JlFwX= zoQkU!gKM!U=sJG}VruSO39zc>3P-~AW?&oGzfSD7 zM9izPb*&q>UAzwYEGLnjx+}Tg3|?&I0obJ46L}~XKc7_UrDo)BImz|dslAd1!qnb* zVBT^~&*vepny)i1*AmzB8<3ASs~^$$-oSuTe`CoFa3)L6`M}QmRjiz~>qclRt-R?* zmj z9_&r0qd9cc=9rr^Rh8TPt?X9dvK;r@hB(_!_V!?(Y$Kd)Pxl+C9~<7TPVawg##c_- zEC#;H3(IYNvdt)uJ7yNPS>yZtakChA!r!r{Y#f?p8}4jw9G1y8+S%MV^kMV57}vXqTfbS1yWn41Zd)eXP33X> zWSdhScg)?yUCa31P29zs#lTnjYPqdXw(jz{WA4HBZh72hY+l8Iru81;dTYx1+$a8S z<+d@ixz{?v419{Y|IOt?e_)z1RE~2bHweqHc~u9R?%4#Lyjg&sz`wfO){Kp1@B5(3 zL~1P$+K0^>b)ZSlA?VW00?dK`yK>tyY%GS~2kpaPQcsxyTO@P#ULsCB(A3{c#O>ZH z>-#c%m3x%i`eYmJY;F#Wxewa}XLE6zv3ZS*>3zhVvRMrAZz#8oxgXn{^0>{i%`cC; z44cQTvhMqdyJE8#55Rw;+}14HyXA40$+n?9ZXY%;&&WPV-1OUJtuXei2K@RF~onf z+%~2a+q&|&&9ZGQkGl+;*TeX>5_ibo%f?~ML+}qOw>8T)!P$~ELAH8lbK}s5&0Ej- zK1|#ho5gq-{@vxaWwOmLkJ~5P;_|p-<`Q?nL8g8#aaU~?17GDk<+eWAHk8L5(}vCa zhwW=Jf3bPh2btD3;tqE{_tj9J_=lI<#u#jqoXw3xvuu;g<1WMIaVxjm5cj6dVzk45 zpxo9h+oJNg%Vb+x9=8vhmp#a&=MlGivl#Q>e^72)CfmmHxP7v1_fFY3jG0f|sf_P@ z;*M}WHxA42RgN#W^~qN6Y{~lY2(~HZahtJuImY)9;?CMEhWKsewlR-lTU;KuS+*7B zahGB9+8N(RiTl=OF&4o8wA|J#oA*!K=VboMmUgye{$lf%FusowceL{*Ull$E|Acbe zGTA1V$L*7CT6x?t3yHgu@m)yVIh)16SNT}EtxvY4<#ERpu)S6uw;7w)%lHL$ho{oXw5HGHhPN_&!eDan9$)Vay`!dTAw0Xu4G$szCQUT9%|B0<2&K~GGFu4_^SC2(DJ1|u)gF`j;GnV@^wbK z17EfC?QNfP2s-dh-;mEI{ofZ94TKWC z(a{gE{T{iPAIseP!BBI^*de=`RCD82c8qRZYzA+icii^lw=!?<_weq#{!CkLA}v;O t2blCTX8iUw%MOg+g!Rh0J&8f7M%$^na_r@6qpM=273R^4A7m$8h%dzF#|r$Ntk72+T$ro_W+i zZCc>|hj@$G#6$PziSD*i%WFg)V5_};O;;bHrYcxmUG5k6cQKReDJdO&7wjQ@i4v76#A z_xWbX%FPs?A%SXi&yc~uA9+D0R>u#d#>ILWS|%UrB{f%LN1lv$KmHN%A3xp~ zlpndI=%6h~BQMIdE!00;HtJ>QWof^a%QkYw*5;y%x1z9Wg?zX*ejl0E)x^JtZTEi= zf1ckTS{Q!&qxcsvvQn$NNK1NdEU2L0i9%pF*wHKjK&TtCq@#|A-&x zk326&AnoY4ySWR-0)OZwnX?;do~+y5+&|raXimKNhvv4<{~`WMf7Popu|fM<-e}OK zuaYBN`Xg)Q{2!IC$sCA^Pky9O8|l6W1jXJHzalZTMt!ACn*#>T|Bq=iC{di=fi9Bv zQ+$&@^k%sK-uMh3&9i@w&-Bs!#rxuy_2PPPLc)X?y*@tS+AjX81>pmyB&_a$z!{V< z+fRq~OH0U1(ZL^=khzfpi+gowrwW`TCH>Z0IV1c=P&quj&Vv4`>ETVu9d@;+r<^l7 ztni1P4UZbw;WEv*_{>qrLv{`=*EY|IzDXC>#ArQ+(Os!7)ic zsMuM_aDYUUjykE&a8tXzDTqAr^J=`qPs zbq)WA{NOS2(PE>{H!ghtrAbWT>ERzQPnrsJU7f zf1LGH(()Lr`08n`11?ZA*RKc7N&j)R>ZU4F?@%duIkH3?|G>;8$TyJ>z-Db+5_n0e7W#xNGXM(TZOPb){ zwoZmrC5`tDmBm#_Pa*BMu{m+1(Y=aho?^b{!*+m5bj`I`cop z;#U88u`b8RV`XK_V#AI}j@CBn7#@CLDdP3jgNelRJ~cUE-rjZn+@ zFKS>^zW9ISGUs1OPx_CplOBhX2KI>7y51E3Px-y;!uf}i9`b3%`ok?UJ``heMk^v? z|079lV;S&4zpJZ^3*Yuf(pFz!=Ms}~p-lGo?iL>7>z(NH^_1KEy{9lWTz~KP+R{%> zp!WpeYu^mpU?X@q+V!c&SQhI!RPHhIX#Sgykw^2-Jw_hQzvvjbm;d25RmUVm3v4?^ z9<8A975F757(EBM1r(AbN@8fkL`QXgntWoS( zXPN6kY3BOz40F9W%UtgtVy=DXn(MLW_0H_%O9;=uy!Y1F?p?f|Y}>ZAAw9#Buj)M| z;Oi6q@rK@gJCgr|J9%vGEIaMPJ=jenT`o{&#Sma^$qf+Pfk34D#NjxR8PNTsm!u!jO{P8u` zQwfY-_xJRAdbr<4!@-+X&-C!h_f-#voUKNF_yg55Jv{kus%LumgjyrFKD9DCoVCpx z{TGiJ{k`7WUw(}I`*kwsTkF5ec!y)w6jtv~Tc+pzPkOjV#M(VVm*C{&ZoV4~3Y*b= zZ@#In-7&Rx5L+|%3E!WbeEf0UpS{bZUwn*mR`9-Yr?gA$e$xY{P6B(0|}SFA@UdY0HgA`hpV1tvHH&aTRptY%o)7#gpPFo)cG5q3A0)#c7Fw?U$MAyBYOG#k6g=C%ek4 z5*Zy}&7=#Pis`~3Vm*$UII$IXh@;37SFuQ}IkYw*KhPf$xAvF74O zq0c3ME`Bsl9KEdlTON!d2vBt`(I3Tmw4))PV4D!{6g}d zrW1OI^R!wzUoCx_qFG`+qk^Zk(a$gxH;IG5_q4c*8Dc$)$~9LRm7|TyqGz#ikvJsz ze%FkBC2j#jS0nCII)xUXI7#dUBu9*>0+B?XrILmPX;~6#{_Cl<1Y!OUz~$_P)KY%6 zsinWyPYbDqX|G9Ndr7e^M@yI)yS#*H5XE6!rF;l7Guv7Q43Vk;(zqnIPEVyRe5=+DR^ zOekDJqw}6ii}Q8$TC{|Tv+G);-?jbu@w`=QQ+;0$HaO8q>8Oru2;121$5!Ehyq)3O}&>JTe6pFPd%^0zKmf% zNt|Vr>m#n>Y_US%e6bZ*h@)VgRNN(&10E7vQ6dhINQhPrFq&ga>9G>AN~v`3SW~H& zRHR9`{t~>TqLcx`c(VBhiuEEGCbnXfIErh;Rpg8H5@051slt~iHB%fFF$GlAgh=vU zq$MdY(~?Fn4XT+AUrr}wiMMktU^zLz3@KaTRsqtkk*nD(zn`?n(?Veig&9_*EU<8;tHuPxmSm1jSlK z((hi9w~Xyf$KmF#!aqZ=>O5Ix<_S4K_f6niy;9$KY+ z{wlM$LZxgR&C=JR(zMqZf-U2XVe`F~y{<#Bnk;3nGX%NfzK(L7w;WW8wOYrxoN^5l zOu5dcTy;59=ZGhZZp3fU$Sz{NLD8XND@Kc>7%wjH*Y1+!HH^bf%|m~!p}%6qSwoI4 z;wo~)dK0iRD5i>|V9fy%d{Y}zft5H%h0aD-N-I#uD09gf#CnVFt-r+>dal>Nw=jw| zfg}dN1^&wKC3!97*n`)qJA5ytdO1m4E_F2tgE3+&I*J4QHM^xgOrD`)RdRV~x8zrH zSs)IV)a)vjYhL_!9nH!WdmW-3nxA=(NFtRCZ__$PhIQj@wc`iLe;X}B#NiUDtC%X* zJAj2lfzEZR;2m@_;SmKsnP?i=qvhJWo}Du99XhCBJv-%3UY7V4SvHd;aL`M5-*d}% z*^9~=B>7#Y!#lSdy(hLPH0xaoZTAwgyrI`ZDb`5`2fmdRN`_J(_)-*zX}q6h}dG6~o1<0#}NyAWhLtTt$DeHiDqoiYvuY+$65z zKCw0dTtRWaIEqE$Dkh1wnIp@FyG(=H`Q-Qa+Vzl~vvj6yPV2%LJ7frK@ot`mdA(7M ztFTa3qas#pMVVf)HdbRkqm0O3wNH}Yr@Ic^ZM3Jf?5_7Y1G1;TPrkqEebqTu^0#gpPHLYjtue}pft z(d!VZDssQk>D`r7e@yu} zamm8cV%36Vu@yma6s#wTF=Bm!7wws5N_UGfUR3l6#aW9<^ZCV9Bv$-c5>_8pA*3~@Ev zD6u{Voy1n)dB7h!D)pbE>H@L8;Ij6p`u_dtqNaTRQNyD;jdIi@L3m<}k~#ab8fN$D;+ zkep=k*ZL*-TQ0|l{VkUbeks*UW*V0g{Fb`YBGmno3Ya1h*8b49x-Lf2vf5WYVJdLE zMJd*$**K7k4Yt?{W*zWHVx``tcdO@_5*=Ikz{q;m3a4GQ`L1Xh=rR(Q)y zYy;IXyBf&BY7P8{+DT~xLy;k_N;wex2w3zKtob0YVZPCFr!hKq4_Ye4X`r=fdlE&^Q0`U%h!#WZmg%yGqhvG(fF@1ab=UiRPRPn$|AO(oTPsRZvK z6H~|f88qq@>(|dz$+Sh}FK;jPKVv;P_L1Wru@!T~Q7q%x64tL>U=&A}!e4OD+IY$T z1wZ-JOH21E)wG6qsV9x)&T2$U8?hCA#8GhASKuW3L8{mw5LswyNNC|JoA)!?d%Xnj z>>hgn^<@c?d;s;#r~|a1E2RLxkfclGL4YqQ3dI5b zP)Dghh~C}aH+sEHpJo4x({SEFT|NHAz;HJG7iCyI6sckzYKE;iUmOMAp?FfP!>BDg zUh)sq0XK-lB`b`pV52*Njb%$r8@@4h6&=CGaZ4S_l+rSLTPJ1zM$!zie?x16I0_C=Kte~; zQY7bh_V{uwiI4uy;u`!7X$?||9MuI^Wuf16!TlpG%O5#W^8cXS&x!K~b!`e6`|6up zx*#^4=QInfbXHf#Bpm-=!xzj-?-i)<Cc)FCl8dacHVMMe>hB6Fb&%sK^pm!C1Bh9Bvh< z;wYGsif6=XmwsOR&}*ia0&lM!sERoPJ8NMy=+fQ4{k7N@BVklBqlz+SNn?hOoDjE zjaxA&PDaP4chOZQo(eA!N0BEk@JB{Uasr+3g4hX2Q^ZkRDz1VDLLJD{kS+Ng$kR<6 zE@_mj=ptY=Vz{^pW@abAw+sq;2m~s(7%kp|nb;H5i7uAp6VMVT_6g+76-O~jTt!H) z*giU^4`8{rJ0of^q6$QT54Re9(Z>uY(zy)&i8>ga)8l-eyh!D^7jj>FaTN?;7tM8I zI{QkObe_}cUn!l_xx??$T$xKcdx_Oq>puz6hgy48=LgC{xT3t1CXWX{-r3 znAyQR$DP$Rok%!wNYkM*u)1-@FoM7*x0(XWTR6bxZWJmJSF=qKD-jfl4g81NN@*e; zwNPA@GIrh3QC47d9PcfC-DxTwKoWZ|<#=A%1A~W))q~t0dbzzDqM{z@JfcWsq$_&R zonN%pweu(3F5zU{Zjx9hs}mJSzMX!W1b-P6D|1N*Gf$817wv8@b}x)*B&%M|6_-oBl}G}s zG?BqcqOAqusA!e8pC>$4oE zS zZ*vb=DO$cS>I+j)&)Elo?&*qbvHAhdFA5H*K=M+wvVJTm+e?k+=y9t*o>L`uigrwY zl(KGR z=C2&Hq~E~wO#LcgAf+?JQLxG?t`+M{kR!H&V~2tTL9tS-R8S^12sAEl)hX4fbV{Qt z;eH_%OA^EyMD94T6-;wQP+Y~8Vx0xD#8yldM=?fRMX6Y4g95QZ;K&M7%L%5>cAiK7 zY&)B2o*=Gf4-$%JEL+A+fT+La`Nf>bAfYdW#k;4pyy&HD+>Z0K*c<< zhJi6+1ApVIQaX%6oy1jXtXSuPVzCwd#ZiRBRXi)!aMgRB>K%^WIB^hYvlN{EM*s$2 zfio*uloU+)^FfWKG4amVP2e@tQtxJ@`h0xwkV$VModL8)QY1xe1@}N0Fch{O?m$cZSV=iw#epr{2ElzCUuL?@( zk6=3Y(e2fzpj2!{mN+1=ZG)*WdN#O<3fcXyB5ALe29a~Zuu{Utw_&N}L)onc0(nl#C~7O!r~MOlBb#-ePv*a}8Rkt?oZnpoHA z|UOxYy_uxE__MiK%W-fvxX9#t2Mokvm56u{pw zNb2*_hqaGvF*!T6k%uNUv2Fycyoy|L6w}336pM8ey_R>Q_Ww=T%q>=xcHivVX=G%gF4DJ?w~IKp)5$f1rT%t0nJxDYibk|3 z+U_6+kBU^3A}$E5-)^);m;ArdR+j3&lC;}P8trwBCQTBTB+hHroggH(;!bfCe4S#1 z)?HXoJ4EvDV)jKoHWjoyjBLJ(TakTUg12zSPC`BAPC`>qYz4P(3J(8@60s&@RZXqY zM=auh9<CK!MnbSHuAl zx*KNkRFtr>CKapJQzM5!-L{X*GW8GS6mg`B-VonA}T0+ z5CN+y0*rGNd&QcrtLj5M%ZWUwc^)E9syGjk7!+5*Y4KsexGDGsNP%yHK>63EL7rb_ z&!9nc`wZ?P>b;~T(PukvoUMU;oWALIGBDGuM?ea(duZCb(`ahxy5GEgHsN27aQl74 zOO5*POzL65nn`&cwgZ3Vg;F|`DNwV^=!rg?pGD3rv1XBzbH0Mz00eeLT4yXGBd3QV za*QT|4_qgXVyd``xneyE%81SbxUZs|fIPr5_ZUbeAdi+;eQz}P@>*W~7^>-TP22Sk zlUC-XWzQxJ7nn`)#|YK~iA3pbca8qiWLkUXr({WzW;Yz+CmRdB)4;p(aH19k_$&J5WoUpE~oC zWLQNA9->rn6|B`y0eV0||0{4&MOU#(zzhQH0FTubjE#b?Lgwp~DA9W7qn3S51(6cn z=t_88(xlQunvI$8G&72pJxxh&niMof@ib9&pjd3h4o%~({TVX>=VNozGpHFra2?4F zVymd|SwyVZDq>hc`}cn}-8I)cK8#$zN|Zxj9a*jvN5QayK-D3W(+i!;UdZ@F@+5yD zUcSdmi{86v+MztDCrvv;&_W{=!^Hs-S*Yu*u&qxda1MDcfpg$lae(9rz0S2clsCtBR4=0^t8SM1W%P1& z8~t5Nn>Nu$Hz91GTSJ%^X`NK9Ny7=IL*-E~DXKEtA&u^KDAwR_rLmeMe^r6hJ6KM$ zN@++P&mK#;WGUCnMpE@Mfp9vSfF1?&S}}=mI*?7!8(^3etlq%ic)QfUM8VNwy^J(Y zY(;@MilDfPtHfFkD5zLXpd1CO?v(oF6lB|5f%Fh@bLz?~aAh9ps3?_iIqSrp76`&DwxB8UypA_c?03g8QuTf?Jacgu&!~K%Kn$AcQhf8&4#VumJ-mKRKflm{S7BBj<`gM-Adpwyp z9b(IyTWyt7s=wHZN#ZCbimRw4T8{opdxQRag}66FjH6-?;dJzJ+!}hBW7!%+Xizi~ z0!NvOHIzY(ipCK8hDFm43u;@(|-r$?GzU)m_0DfaYCI;47qg7T=d^*u^h`1vF zf%PYw;?ZYLZ{ekt4@>e}bOamATjXp*G#tR?6`Z=)0`9sMCE|cUbx)(^degbFVfFPH zk{m`$kjOZ4W)bZMR*9=9C(w;@o03d9FVv=}lCEPF)1(7llGoF*>qu%Z);bC^F%+YS zbpw@p#ge>^wyo6+xar$;V4~P>lYEe1J47`q>PW~OqN#+;0iK#G>crLZ74J~~Z6fV- z0M?V4lf-(Gj}UE#s8~hp#VT4PuHs5!)c}3_4&@8qrThj$?zFOZ$($>$CjTz>dPF%J z5Oo!M10pPbS8Lor2_8VGh||b>V3RoSYGv<{c`9*lh=>_daB{5zgNS>>RqGy;(kl9v z;5NN%d`yxz;^XzFwDyIK^w}c9;3&xCQef;xs!rQP)y%$4h;oUA)1{z~)NkSjxVDcZ zZ{~(JZ&P}lKYB}AyqR0l#y(O?3jW}3)@^2!KKrl6QbxF1H^5dW?K_gZ4Fj3z+fe2sqzwcKX#=du ze*)0joIXkw4~1W~OK6@G#!j{r99gpc*?paSmj zK2KE{{ zx9Jr6N|L`~%xT_Nq~?gD7)BTy$QA2rFqOzP@B)!*YT?(~uU})%cPe1H_(ms>N(;Y1 znnLiJX8T67so+krb|Q$Vpl~N=xr*_otGypIRqssi*}mG7b@dKBv46)QBLuhqowefY z38ughvt$>MrjGS@j2cde8!ogpFX}@7eIhV&S2{nj`MVDKE^g!-y)4mC&RxdKcA*4! z{1&i>D5i*`NF~M%gv5$~9I+LN;wY*#CmtA~c`U82cIe+F-=!n3BEpRvw-aRs7Kv34 z3dB~>HHw);uz}%3uz{swD_Ghhur5G6Dj-Z!ucD`_k%v(AE-S)5t;C$!<`k#n=gU(*hP9ME<&n)bFOZD{pPp+u1)* zm}&n5dJlL>gS~@^Ce09+BqBhp2Eeoj?cXdgIx2nM)5r!~oFj~8xt-WGKya+0fY>!a zL?H;QooLEMgO>JC!6L%eNZR2gUE-MOV{e+-DVQlC)hB=*mUxV;4a%6|~M#=x?Q>_bWqgTUH5jG@tI zhWl7Tc6zdo-pS$@J#cxl=vf^Z3zYo}wubgGqGi9Z9_8)RX8eMQ*AdJ{C1nJ&0ZzV( zI?YcT8kswhznXgEO&!_$(YIHuUv%p4$M!~(w_-oa;>6ugac;a0fH(r#0E4Xv62}Iv zCyotFB#uoj+OHP<6CdN@naYO}xCR(h1rHv8zvc%5*XR(=0ly-pw-oF^3fvI{KAdFC zZ28z^@~?G*H$KZE^zYIO9PAakD?8 zmmZHO<7-4Y^CyNXXApUYgs(spi^Nr=5Nif-B?U$+2r>l{iOJyM`EeNo0_FFcn!Wj7 zbX-PH-*&P6sIEB<)jQ4Kac%i~kN(|icWs-|D{#ou@VwW3Z8Lbd6Ptlwx6R1X*qydC z@Xcwang?5W;mCG0W|G+Luq%~7v<&XD_?<($4E-&P6^AsDNHhvJK41!0m>R0%u(6D= zG;+K|SQ;2ZSQ;2jSQ^L`7X&_huvOEt+taBHp3GY@id1&6b-rq3{@Ny~Z;v5e#EMtD zi2je~lD&pYiL|Htn&KJZAz~#U$cv}F1qm5hftrU+r8j%FCSYq0foYgEkiax898clG z4ix6u2Lgu11?`W_FeR^!J`wClM@AAn(cK$5SgCHCgm|K_`$)SQ^QKX6sByzGgycY`jF02>wVuHOuz2<5; zVPle*u#Iy}|37D3G&_kQY(w}L1?CV)2JlElXR&(YWR3rp{N6Y}zQZLEEUtpUhakWn z1&?SIVFj(XG7{TwDlygc^nUA-ZBb7OL1ehVu4hbIaf{_(vxN(EBD@PdJXc8ug@ly> zTBG0wUC~CYQ@}#86|8FtzJOOWY8sx}hpt#Ib{|9q;wT1+tB4Tsr5R4emDh?fBD(aQ z%383)lX>eywaV)MBm3`BH|8|$NH1Y|Sc@^uD?+IvqR9#36~* z$5pWO4FF8t({<_&Kt+x?i2QZ@P+RpmLJ9WYI(A zKoBDEjJnq^GZ|lN(Gi;mG6pP4XHZwuK3t>*Z%RcIu|R`JEF&HbFbjddiuk}mx(YkSmX;ASBhR9X|NSQk zvq<24;hcq@MFg!itFz7qXAraovcyra_$cNOq6V0!Ah2b*scD3_%cNm3(r#0Iz%9;!~(Rq}_LIme~0^#<0t zTos57Bs5f8dM;Jc<0@Z7bXqfP5U5yXO!s1Os)y-(I9ClBMmO&8Qn!14bRI{Dnr@PR z9+k4opNAe=rWix$8b}mdQAFGtNF{DfTRmJ`JpvPQ2tPx!sCBGn}5aAu=|mG}b8j*O%m3NN7Z8AJqn@=$OubD<_@)2f0CX;pi15NK-^ zJN1fP?V{!_*}e!7w_gg>D;V7zfXjoxz6xVt)a7%qgFew5xZ}luK@ zC-Rmld#yJ-qbM5`dlcE2Wr{JxrU5qMOTY}V6$I&lz>c-1w0GwjJ6g|Wqjac7bKpDD zI<<&YJv@!3e2|zmIw0>7&3h>wz!RZMk*5%;hTht6t1gedjFK$xmyxvBOKLC%7m*~P zOHosH8CCA6GzCjcYV73{EEel>RCAxBU>1PDwsj`seO|^fs^&6AD{Ty;b-vhR$Xlyb zavo99QsUUKICQyMd<7QYM<^S4*kwVW{9U8Zdu|weB^8&5btR|Quf3$?Snp>an#LwT zTHxqLQ|wO9jK7dHiO@0>a~}-+wSA@ZFU%Fb0N^sPbCW3$eJF7iyYLZD<^_}$A;UGC zt5Cw3Q^6{KHDGEfmJ{&?a)@{XtlQV9FJ4W<3a+7HX#~9?=X|NiC*Dm*>KaYHHY2Nj zW3{p1KM$L)#Y@|WOD^2g$^|%(qJVfb+JE2!Qy?e$IBhKUaS9$w7Vi8M6A5!`F5oKY zx9e!?ryrSeS9l|R9mQr4@J5b41iY!uV|Bo;Hv@J(a&AHt`Qie9%~_H>j;?DG`+BBR z@i+`+TNy`=T;klcRpWFtZ=lhWh;Bo^l;}29tnvorfn9$yMnot7c#Npk!YsVwnLkIo zbnknhYSR4;XG{Hf>g60b0iCI0E4GL=URSIMSV7++3e;~m%Ey=%X6I43Doyh9SXqL3 zm{697X{;G}lxLS2PpxS-&BZrtM7#h;!I@O?0%2|1CM{TykL^c4G3vd$_v(DLEko+_ zvF&`q)F{JKTty;bZXiUM8(?g10`;0kx7~!nc)5z`cSV_4Hv@urfWIzNN^eFb_ro`n zKkgRt2MKB;2d^7Y;0Pe_^$ugt-7O9zF}G&)@<*~H`BpUW6ya8~cOse%%q5x)FdYg2 zXI4cqp=_wC`rN20^ybZN3`>Z(Hgcp9*9MpXipz;x1K2Z>Vr#!N#iFmxnaHdUPSlQ` zNPivhQs=a^?{@YDmfPD=!Z(0GLKE@2irX0m?%-8kLp+?0%pDm6+Lzav8cy~eHqN?3 z+jowX-oZ}t(N`w%)|M6gl?vL3^;Z<}D{)1RIEp)oZ3B74wt-?|+W-ThC?&QHFjMZL zS?_-Hzj|lggou=?fURO?LMft*$dGWm2$TZY& zGNpzSZw7ej5|GejIxppJI`50W8#P`aOVQmFsni-+Kkufml8JD`hKBPb`5tUoLWrBu z1_IR)Q`j4q*g^`k-WQUijo1pl>sCw>SHW}cdqIfEHt-~oZ8~WS8JDJenUpoIQRltZ zA^Sd>^tC68{)!qIrz7VcweLR4Gym1ib;? znx^2bX&~@My{Wt9NjK(xPP*&8gjT<;C4u3#@25P!##68~D3ZmR1_l!O2C4|WQ$wfG zk^Hh!MQq|KN_zm&Y(n4=1qp!z^+ej~JeW zz~FS93DdYKFMJTKy#ENPe)ahP6*Z}76|byAlq)s}gugdUy|{%tZ+?gtF-n>ZuYOp^ zQap!tfg2&hxDX6Q}D3?0cCl%N|P(Iw_W$$x|iwC4v?<5=UX z)sHZUDZIyy@*@d#)5;#v%4SlugtyosuheABM-fCd+Nb*4w@-Gaw( zrn`9?9i?&zcLQ^I8y$F_05_0FfE!)Aaj#L3+oEe@is{;^Vil9EJ3($bV#Vlec#ILN zD8@#fKWJi|=D{@{NAwUuZisLV5UBXssJ-5s>vQOUF+{wPgQh50F+kvpeI}!~?ZrMp zM$S=BkaVDRQjsQwh<>AR2O`rzrDml5xzyi-2skzL3A(021$~KoBTs{uXC5L}?0K4J zuDahmI*64Ifxq?&Nq&;G;(lH?M-h(Yz~69%)FTZ<_8Sx5_xkuL?7)|vA}0qN5Lk1- za2#f;^vw|IbJ{Uu&8n}n3I8ea*=D>4eJq>0M z2uEFY|1@>AeBiP9Y4k24G>&XMFnR{m=oKFI49yp}$D|GqmT+gGNKkZzD!N ziw0_cmZI&5k!!BcRb+~_0F)CI2W}-Q4potBq<#S%_6req%%z-#OmXJwLUQ!x?Qfu% z_sW6GiGKr?nuaxkH4hU6hp2(TIz&w>;(mD%qCCRjKq_HyU@EVU13YD24C;uWQw@vB z9@gy4;KkG$$1CILmB?Y!Chx0{?B^IGI{GwktMoDJWn0WdIWmH zQm|OQ0O&ErTjDI$=Da|2SkMp!zWMk64)Vxl=x1|YMv*SOO%Bkl%d`)dQ3JboNS*dN z$qz9y@#1i)6)N~<$pKWT;54UrSX>}^4znSpl-W=wb}1?!94l2`%Rd5SY zahgK~g|8r(Nnji$8FdBc;#WZmv2frsLiW^(SFwU&P!XX@D#}@M#vrjA|^F=rzs# zI#O;)Uf1@lM$n{!a|m=pZ6ZN%AfF&OkV+67c!+>DkVE_%c$1L3j1>9c4IX9Zm23Go zC{IVfuGOs3YE)Xd2I)bq2BVO&H@a&m&iCYRs^M>Fo;S&JC2xYm)v5?zeG^yPa-12_ zmW$fR3NxY=lxMM2FozX9A$W_zjW@L-B>%G%0QvWuSIEOemvX>Dk zr`g}3<2Y;}^4Hxe_3zMzoe8FNtM75v^WZr04s{l+r%pzFJxa2Oi31#H-vu*>a0Bdg z3cf~FEa%;CU=cxZ%;S$b7}Zy{T;n#-J>^8iku8acIKbCS3QjFR@-}Ew-=kU|@o>mP z#KVD0c@LZ>S7~w;$y0b09P&223XZxqAOF8Yv3VoS$lIs|HgfE5^0Ih0V%eJ*G_a~onj%&lMTF=$ojBEW?^LngN5t$??9~i-!266P z(?Ufoa$B_jClL_G2ywT-rS8;Es#lcjVkdAPmQ%i6moxrQOz(ap5=suuk^ ztA>8X$!jQ`LKqz2%>MxxM;IKSdlfl^!O>kC5{-&h3*d*SC?PP8^zXg&d7e*wNMDr^ zC5MK|VtoW27F&@e4hS@LH~PHida>Kck2`N8M+RYW7++H;rQ0z6lO85#-xkKl{EeD9 zv;7TChrD#}DPPgw(8QUIBz?RG{I&N=@^*S<6`^u?L~uI;T(%vLV2wkdr^JuJ-9*WO z6mdXcLoZY9sort27PYxV$!S}?q-2v+q)E6uNxGscQizrVjH%*60_DI>yy;D=uci8w zPpSR|UiOBZDXZW|M2hnXg999X6fDLdP!Tl7oZ}g@gBe>hO_F!eKaF0RckV4BP4Yg| zChnk)(L~6hXE-l;14RU{fl0)`q4itKXl->n_XYR#l@Cbr7pUIzCmCjGhS~?DR5Kj( zGDMHkU+PLi;VA0HunoPBp+2T~G!p15dY$k8G)IW|IdZH$)#S+W#^q~rq=bNs{cG2F6SH)2vkw7|tqbOMa z>p>ZTbbzH_5z#d6y1!#ls?rSf$affU4k2~gYu{S6c8duqmQ1| z+TOhsD<@u#9BIVMfrw_LyMM-nr-+wBltR25curi!aKhyPj}R5Pyy}g|(i_h6c~KnT3j!d)BYN2WH;r0BydCl!;_bj1Rmjog zD62po?{!1;t`X(@hN#B;U95j&>u)4~W<+tnb6C$iiq^E>(YnjasM3f^D^&WUm-mm1 z#6Z(9)2fznA|wC6H>#fHC2=%nI3r)G` zPqE@M^-Cu^jvO5Jfc}%E^>LX*tMkUQKqkMh$T20N--i_kGWmT)j+By!ue$+?b`q;S z2#T#p<&|$>xVVZj#L)q)Q6v&Z2Z$n3ummQ6S-i{*aAH%$6Eg?86Eg=A#a7S?1+4(> ztFCWtQ%*+)p+xMCw6NAoyT$97j`U1brPO!C+zevp(8BjH3T{JyL^@`2*grl~pUYXD z=z*GblHZBkxkSv7Z6XnKfN6aKpcVz~P-GLZMu|Fp&C!_>PxIO~q;cXX7&ry<`9v^@ zKsLbfMo~gQ90>7hHc+lPxqItEGpfwrHTrk0`8)2UOnyd^XWAV78ABODIvtN2$Wx@8Uvd^6b;Z|SLE(H6~F#^$ST(q}}5QnnNEBtC&X69AI#}1ERGQv|CY6=v-zu^IMSE9+^D@jdz<$ zTir_b$m}J-?wQ=R_sDF1v1tz-mM^8g2bJ+S;$$?@p9-3;VC@BgZ|^bMTHT`b%$a5*LUDHASO7fGa z-yu?t9Iq28r>c@DnbMn*eR$g%^0SDQ12c$~11z6Gz{9rQI>12&H9~A1sw;x1W*%sA zmRJ@TPKX>>%}dWfh=4en^!1czlbWA1WGCa#{7VG+$(YiH@Hi~vUm~d2%R*w{D2R(H zW)mL=xC2u>NBEnL^-js}qhmeQXl?oS_sxCi_Q)yPHGQz{S0eEks{j6*H6u@@BjdzA z6?NR;DuUuFxM4XBFeE@Cedv<1(=xLHYwtI;w0swQOkb_#RBB1irx!JlNAMHY3K zzUbUZ5Fb4kmqO2RbC`mNr)sBaXR3&kl8QLLDA<4c(6wp(FrOHQeuyUVGByw)Bv8jw zQ`QodNBNxol<&m5&q)5jh-wf?q@S(_{Tb1nMCfV8)5*x#oKD7rgy|uwK_q$owX04? zV^4zIwBaf!9MD|3gMi9imFJzVK5|B8R{OONm=1X+`t|7<%%aL&QhEl%H;O1XhN$sd zNgl{0Hw6P3|FsXAB742{Y#@_5i}$3VzLelLkV0@98FxQqGM?>aJd=#MM7oiK`+`)H zQ9+j|ri%+Cl&Z}=Gm}u&L0Dc&d>e_isuL$g6!`FAquBepG4?E`?atP+Y?bZvWak+J zijYZgkov+|bS7b#XQ4QU*Rugm#0u_h6)fut-U^lm@L$C{nx&=xZBAn?`e24JCadLL zTsr0%8AQ;ASxa4Ke*Lf$VFss}ST z%uLNeu+$L13Jr+o{$K5zhu|d<{_Th%&2C|xL-v<=bDK{6AEfjgjQa9XQ|!_fM#T)p zD2{hS$*Des)Ios&;PN3Ptu$d`7jHG{g zNdsF{w|N-Vu?~~&JC#?s0lxWCgouL!V~B&pZ91BO_jt3t%1xB{4djxgI5hq99A-v}e(4UGs35^3dJCMi-6sL@2 zX{w!Lw6xqQW{pJ4BBJ9k>!6o@dW%|OvPtLPN61DY%ZuVhaTGHNiv#6^#Q_$mY+ax( zVBO$rZxu0P6}be)HNyshZF7wc-W^8ug>-NmLgdJi!kgYe9&cqM7R1S>cb#LHiBH+M1M8^S+j0(0DAfX&xwJyf{Kh&ZuZ=*2tb1jd_`gb{j zapaF7FbvAXC5*r&6dXl#oN5}SqjZUO=2OPLOU=yB9*upuyu^)iNd&}!p#;PM z&O4U^RxCvc(QtsV0sgA}l6)DiTt43@^PZs;U52s^T7YHuGM3%YrCRM}I0s)kUQYQS zk#8W2$hT&=iigD-17;BE23`_Jv4|iyz?tX@Dm-*R@~@!6Ezg(=FY*@7D|Cnbr___? z>qv|nB@%gc8|Y6|8%XEPZ6K9EHgF?>Y=Ez~6gkAPfme808<;A#qCvG_{#ClY{6)>b z3iEl}!__2~5w!+_M6H1;t%()uYWkU#;TlABMpSqWBF?0UB=2e+L=~{-UrQdItSUHp zDqbU84Yzq`foWLFwQ^)GK1`40lC4S0VpcAL{)Z}HpB<|`d@b73#-g2o!CK!NR4WqC8p}oS=g=j!m&Jk0oc#BGZx4SK8&_k_|-3sd<|It(Sgwi^XE3 zO-JK5Hd;Fq$OiBYMIM1{fNf4e47Gwa*9ff}xhf|%jRD;JoT<0vL;KA)>iH>O?Yj{t z;y0!@QJ|C9iebdDffVA{09(+_AeX>3uu>ca4F&v5&_;E?mL}hV$(5>!iGB-R#1rjX zC{k-gO^76T3pJ{$l?V8A1^h!TRtTnS)gX$qQg@_0Zy(36iDTj zZGesFHo((B1v5#JM`#=1kTVgT<bq6X~B<>&^U(6_2Bor4Dvj*rqMUCp^JoHy=f1JQIL_**it4M_3$lS?F zaR!lVNZI`re<5-W@K13liiuOhfOVn&H6UgZ1~d>6hxW8d_|hIP)4AR$Y7)LiZ%slC zu_Zu)lXM6sGX(tRXEO3UV%9(zF>54;CTsHDBtOeL*pM?lL7=YG)b5=RWA9;^tNER9 zHH?oZTus~ZyOiqX1aY~P&^@ZD5KWH}rG}>AM5%$z#JaUQnZ?{oBPJ2FMj|KVLMB`B zy-d6ik!y&E+fmeNXU_8dI^zgV5Qi=Ul${#4>BBl#i7zHqSHVT(P>)!L+C4e z2z~FbG_~com>Mw;Ga}^#s8N93R>9h!;BmR4nCLX{9MNgiR1+(uGpOk=yq66r$CO6^ z_W~fW{#B#j3w^A91bgWU&B1h=2|DuvHncPx#|zld!mL&)+w3f`iU>5oJXKsl%$YVV zAjw5!4e_2eqzsFKN0Pu_!+XacWn->-!&Drd3XkHkhuTZ2rv2unwOn#z9;4AIyoe1| zsl12{FSvS^GbGF4iPn$T>W z7mu<#R1~9YIALk%O5~qL1$?8Ys31s9_n*fz69aqSH0oRaqogr&u$7%)4%Hw2lk{1d zPM?v^GVChw{wDw{5|Gdw+EVcZ^)sR>XGG@$p0_AC@c;tT)YLhc+B6r({IJ4U^0aZi z?0NKPV}j(*V<^UnGmnBZ2u=f2c^Mm6L~I&ZNNgG?=RIs7mG`g#j=&1KSV1`jv#5k7 z?Obar^1j;mJ=MBO#X(Bl02W9IYG^*C^v%&6e;M=r$JZZ&p;V3TLT;; z6{CnYqkI+rPRcWsFD23pX^?-jl&U|gG*!3w*Fj|Dvzfix*Lw-Kd4c*x&oZQ0gq=}# z46kMbSib<|5q1Xf4iMP#wow@Mj)i*v>&c?tfsFd?g_LSg9V|-=85(ASifD@f9x^K! z8W7m|j#1mnD;BX!21Ung5i|S8KglwSEb17GP;t;p_kKbUyBI6*lEqY#!wcI0Yvdv| zW--RxLMRy`M)o=LoTLu$!w0j{y=4Y5N>(xR_`( zO5J?r==rbU_JqCojN*FJ#k%*VU=Y={lUUoH|p9Wuu>VZ#DX(3&tDhKkCV%3kEXghy4bnn9PbX z{OhKmj2FCt)x6*hR1*)U+sGQWk)t(6ZL0<2O??c1vLwHWSpojNQ_92<c=xZ-Ex+JWn0W^Cp z%GWJB*g>}@JM{FBt#MAVj2^4#zqamc5Ow<=afjsH46^$vVR3wCZ>8 zhmO4BjdFd6YHQZw0tvpOqq&~Zyp4CWAv4Iu5E#YoxpM7SMMP&C%z4p+qRq9yhm`=?@`-u z-uy;VgO?Ot7OF_%Xi!DrnS{N8XL$=8XhY1K_D)rcRbeBUSwWHObJ^zPjoSK6SU^O_ zCggafB8TucP(pYcxSH@bz~ZUMC%orn4*h9oY_*sQ92GsChbD(*oMxB4WgsH&hWZuNV- z@_uLgb1_v-c7;B`qL#|D&mQM%Xspu`Oq^ zQO`WOIb4u*Yg&r#2An_wdQj&=_kDEx^6ow&;||yh=gpQOxn0HmLh^JJH&RvyG-I`a zMFE~XJYaElJf7N;9r@=yz{7U12Yg$Z&x#(%(jgQ-7z^wE@b`oK?R@+oWpku}i)no- z)iXkhdx##(^dU8Nk`Ina-Cs^xAF_*m(3{pQ{0e96!|{E>1Y9>ZBRM~;e$RxYH9me7 z)6K^LrH}ZC?(_(yMg($;pGlRC{6eXRiOr9Mi9OcSnymEEEa;WmP+EF4?07b9IP#t2 zql#vrzESPzZ@?JTHx-vXmsb2%;a$pOCZk0b5iya4MCVc@Hc>^kFk`hkar(Q_g7SdWepLBii&k72k){K41g!K5K=2Kk0D>@uK zt`Y&)Nf`&MtX^9C^O?1oi+lO84HZt&x~wSsSwQjAimbWb2;8SR;Op|qg|B*J&4qyT zLeShB&U=RQoX(yJ!P5k71i8oi(%wehJw0pujmU0{vO5KQ7SjxPA`-BN*`PYt1X=T6>-*mKK6wbT5X8vrq$G>C17_i zNd>21yn(aifQu2X2>V}P|D7+U`bMtSc`j*2e&en8v!X9&j*KG9{P{2?ub(es!%;a# zDmh@s3^*DA4&bK+RN=SLbl*#9C!@Y1=;x&QC~?XMv-0dGcf~L2sZ^pl8rrbpfDHi1 zC&%uA7fpm$e7;0}4OU!Q9Pk06od7O*Spd(GTaKs#FAi`<0RIO}mrf3JBiI?ttd;!w zua&8Zg_oDkm16Octl-E(hrhyh2EIbcmnE44GrbcP9E24&{Hc5Zi1UCsm~WsR*-m$B z2Xy!5D`|K87igXKYCPB*Fv7-Hjqsat%xP7HD#t~445SUR=PWg=Y%BR!qwXrR_*_<6 z_}zc!Dn_<>St=##W6yyOOuQKIYi7^FBuetDgw5IzaM)^sy4OPKY6ke7A_3R;f!zJC zrUqn}>zdcYfY&sh^}6v4WTk~O-1#~KrX$u-;_3ey(1=(E3@yMFF+j&}fD`fPz(PDa z;9Lcg{2JC&4zlJ(RJt&4O{~p9T`pgh8kD6*EPgYt1#d+4H&wUAze!CcIvw}{Ivuc` zz6Ct@2{2_K_u*@)p6vH7#cvC~foNtCzRfT8nzz*+?{%r5PL4Tdl)W7tt>yaLSEtRh zU)juCtGTdVtL`h&QaHXN96O>pjqk9$^!2pK>}+AZ<36PKn@Q_CcD5#|=rk3f@3L)a zR$9G2vB=d$`@VnNe zW^I?6)kVgCeNlIypl;23>aNY|X5l!GEY{e2>N+h4xXFA!CU7W1Vw@jT`;lQ?)+w|J56-BU|w}ts>zNEx~s=0WgqXh*@Csz6V`h>8oJP~ zN7zi5%vz6hBXqjzI7jpaRH4&VbIp3yii;E<;eDy(7F2+T`D4KxS?j8$*LW-KH#;+R zjjgsgi>mFFW2>vzTf3mXT5rYGk$$1RShGbKbznQ0>_GQ|@@l^PlumX}>OV!2AC@c$ ziAx|!(p=1riR%-%1g@`2sTZVzC!<)5ZxBQIRMgo(9aFM_LJ<*QHbBz6eiWA|o{uL- zJ`+!l@wcu`jsHU7gygD+f0K|??cu2H{yE3~X4&a9dGnK+jH}){*S=@P@K4LeCyRF5 zb%UhpQ`N=E#BsWGQ5;8CPg4FVV_gy=$G8v;q@szRCUTVfG|?E`I^ZG}FdnxK*vvsv z_GzP7vZ2a1q1TbuqSt|C(&vShpJ8Pkjvdh|`Sq$tC|Vndh1uSm%KA^e`@aL8yO9CU zm!D2MJ1$6?KVt$bH#UK@(dUPoiwXLWHD{vG*Gyt)(!tALlIjeF)zjL9LSl;_rNqUX&K@f4RL;(@Ot z;sIMlfDSeTQ{|xp=OrxxGo+wn;}b*azzZ+3(>}*WNqIL3=Y38`mi8twMW54=$6ueT zcG9j%DmJg)oyY4pr;VFH?z#6;ZCe+{%@(w^VdE)(?-R=BMtKL4U-YoW@KE~HjeFV< zO&m}3Z5%wE4({#EsXDz92~Q30T>Lz61p~Qf-cS2Jw4m?K&(m%HjcQi!mi$}ydH!wO zl7E|$7J~KiQOt{5>c=kLmlmCqT|1)4PNhhwm6wCPQS!jSD0!Ug{k{F=)hIw8 zr|m|)@3q20e&!Pj=0?Hltf25_ty4k7ScMK8b++TDvWoEhc1CNLAu!CofF|rc;QKyM z)V^QRy1hBBLU;4AcmJf~i$40r!WUJ#1T_ydqviqYYzHHKX}$G_cbLK$p1VW!*5lsF z3VxqG6z|%B5314Ow7po~I^Y`(P}KgNq;*H#+#et9ot4#+uzx41sN|4$#-{2Ehc~yf zdh4PAjZ_dWeU((XSbYgh$IXk;eks=RmyFiADdcvVoq#D05ZyaQ!0$91Hhm!)#O8~D z|1yz>1z#qzQ3UKN-5hW#n*cng2yiM3xDgExbjw*6jlWXuvOb}@#ADO+8R=K5eXsOA zBs_-tZT?r(ZI)^d7Bv#WEoVI#&*}NzlJTPfh<{P!XDq4`BzXo)W_ z_+%5>#U?aIQaPPInM*q@{QiCH*9F@`TeC43G_WGMIrx7Y^8H z)Esq9Hb+ffe5%GwiQ_;O`kaanZaivwx~Ax`Zc21GrCP$A(WN!tq{hziP3@hl1GYt^ z18s}*uL zhq{Zf>Zo}mD=K`>Fn15#2=Lt_O!wes%yf0*`WK>!QzPd0puBM^Pgcqt^XdE-i4%v>Mjxu0}OKXAW41K?lykpaYA%D-}G3NEcV~y&co?HDP^CwQs2Q zX4x^AbZWR@2h5dG4%kdVu6Oga%Pfp)zCAqs_1}(>d^;Tc?P|~RW##|2A^Z^wPSZLB zI87hiB5k@$7J;>z&c>!wv@R3RKe>=m|pHDRu2GZCA_^dK1KS1?T+`8e$Edj^j)&Y_I z9lZ~2nYJBy5cwTu_CzyN`W=qj0^3e)vmBy{-z7T9t5S)?G)U^c``@jx_9Zgh=!d8*Cy`c%?^W0Q&_NPTs5M6^0wtF|MwDo4yy ztqoBQ93ovD=tbd+dHeyV{SHBn$UGj&{I2a%gR(Cj<{il(lNv=YWJQI?h_OF3Q?F+Q zqn->Yh*kbWs;8sufuEu5F|GMXrd1xrGz;h`dV9A|yWBckc1Kl9&Yj6J(p~Y<%&-F< zP0jXF&Vl1l_dvI-c;U>Wjl>ORoes*5)g_-o~cZYD|F|yW4Uu6D=7TM&0GbHY&ljJKSbiAr~SmF;<({Bs6Wof zo)eSS_;^~<7as?d{@BNJrJd8}LL5CX21gIr_8Ma*jtk=(S^77OJn|}xJQH%?mr~0L zpNvgAo&mKudddg?Q=VqOINsz~PKx3->jY4f)Pp477*TivH(!LIM=lCa1Pd_qK!-$n z5rrqRfLlW(Fhex)BqFy?C+Y3>olCHZLLU>uV+}f=Ct~7jVexke#aZl4* zzMM8KeA33)gy-+k%wG=6DJaARyN{;eRKz z^Ar>MSXMAEwXk?*95haeRWOrl4wbQvk}5PmN?!g-s$|oGF2|m#%h_JZs(k1Z%I8M; zd^|vE{D3Ziqkjs%hy)lb;?#Hm@KZkZEAJ3AhhXAq1V2UoQ?XgLI8ifrO45It*j%}D zYDM;KX3Z>1awwCH>O+CXs z6WCEflAj&ncqX5pAQ2sTJH}ubb(R)?lsb;cPs%`1&#B(SYWX;loK5QT7k~mDFyDJv zO~svGPt7PiicLGmeb3-elZJCNX8$>=m!bCo6Zms59lftw;?!@Xjkn8w4Al8^b2t=b z!usdJ`lDUb3Wb-yY3Hici~>l{Z{?H&1`2X7?UvSV%of2fOb(-ep~eBIf1nQa56Ja1 z2lU1#SIs#_zID=;BV-EU=jKsK%@!C$0vrJr@G&w{*tH^?GOA;COY7bALQw0zrFJF;C~~{_d#fmgju8 zJY(dhqqX;&X|LJ0KE)T%Ivx{HOGnm#T1-H&Jtkm8(ghJozY+(IUcVwg6cZ54_U2V! z&YQq|e7{istyFoIimj_DZq#Nc{Y@tLYOFuO((NUI7y9VD(G(}v3z^0tigF!$q^+}W zscSB>kRHxtg-)7#5hoeWMcNFEZd3g0xE^M*%yBhjhFJgWi0X?Xs()=X9$FHZ>GF$# zAJzt3gbN53NKFR>;cs-YXliQKNJ7isP-g>CwBCo(-5Es5B?e(Pzl5ka>=G=Oa6eCm z=n!N;FqoE1{H>Ci7=c737=hqoj6lZKT@oA3e8n#I^U0kh0=lBTUVf(+2dv)_y?}e@ z(c^!Aaya*Qd}0?-n0tTE)ZlFV#g{U84w9gD-$W7w<}jceXE7r6QeFNEQ;^8jCLkZx zU2QJ2xK`|ys#{dJ%U-U#O4;Sqy+m3%@JIYWFdjb;Y>(RqX5$9}tjGX+0mwa8lPb)< zh^Vb(Qf-U<(!o!8S= zf;|`wuh+2h1`Rz%y@A3yv_T;2Nq}wRPiz|ePO4?^ETaEp!rCO5Q^U`q0&4IFK`%0* ziJ#SGmY01uZIt~!tgB5Ua}w1y#UBLQ;17a1_=8Md^u472&(*sZb<62;Bhx#+m$vW7 zI=wL-*qx6}D5mGgf~VybvfzbFr>8ZuTd#RH>8TwPFhcMqVdGknJqr^A2ONeT*48dVoh5$bdBy~$-(cU)f{rcO;g~qKh zAtAC9LR2DUUYLDYYIeq)oOe5augqi_bFzyp=v%7Co!@N~P5eKKrsEqDIZB3TNr?O^ zGekD@b|8;&z*IayJ*}KE%A>`9r-)46Z)>e?2r8f5!Ey!)ku_hof9q^Dp{1;a{2_k5dRldw`X&luaKV^}n8* zyOd`-&=q5@mYS;#@C-HS#aWCQ?Idyq=_D#aHU!rr8&bC9=v3J+vlY~(bAIVkV^?|e zz(R~eFjr1J;4%)9d>8AN+(T;_#v!?&SO%&v4#5l@L&^v1M|rRKUdnwlbFUg6&<5Bg z0%l6C2Wq`g7Wkb^z--h);Ae>eCiFhwk_(DDE=yYPbIa@<)8y9C;AgMjs$_rP{v`3Yj*GGptYXROV%cOxv znRFqRANfLz!H_>n-u4*zR!D>7rPAkt9We$$C3+y3lk|b4>~WPVm%G5xKUhZRHvh>P0H zS|Ms4J~_2;=j@WVLJ#Ay0(JgjR+K%4sCgkCrmTp8zF?r1=nHh!N{I({!wQTb87|H% zHZcToXb-pn4KUo4kJf#{V(BSqwFTgbdBxNr} z@V=~{TcX$<@XO8{wuhJXdH1PlpN0Fv*p+7NL0rU9H&xR@+Jx3ev(*tW5d9e8%5<_` zA)1LH2n1Gurzq4t3>l<&?EXZ-X3Vf2n6OXpd&Qc;8*GC zXbJRUSgQ=HZIxjOPJ-O+r=>%=Ec5Ye+*c-rp62`E|AFqLWmVYwS{gg6iLUgjS!*-j zoV2cXx&HU8R7c?h%(1TS)g3qkI5=Piz8{#5?+5q>0O(Gv9_9}=w%k*6>JW^>)Uu_*r?HlOvs zHh2De*ycVp<2pP9To3}d6y%njoi-YIB=jEJdhrZnIPX(JxXXGG6_> z4;j(yrL~%@4t4GsKC)uQp!~&!<;JApBa?PB&Y#9h=cJ8CJ)&60%3jpK7{)rz^7M8c zZRaBX0T0;&+zovU983bJ14-RFThCwrdoQ_Q?4;rEjMr6fx?tiYPj42~PjcS<>w?xv z66G%F^P%UjNyU1TcFzs`GPPtRa@U)*RUBE?o3w{VhkXHZZ5IJS6z~VEKhTEt2WDga zO_H;2ZmQ(OG+5@1owQX^$IVIWSlzi6suG9U;^F4?AjyxNWMe3vR2?^qAwLr74dC1c zRLYMBF307geaZQ$_UyK-X8lQ9))iagoDSR(=qS0th{hPnwFd7 zG0Fy$d;^oC727@+eU%Wb4S^6Fr<+;6gUCqlD8rJff|HAun^%7`06{r>Iqnc@CSbHm9cv6zAb6^oSwgoWk*_x)dvi9b70*E z6e0D+I=MaR-&|F z;LsUxBT^nPVO#6!p3Bm%3cr1ryY-~4i#qN|TDLaX!;(JrV$E&?s0ygY%L6t^P}D6k z;Z9UmPSwiS4#*m-Jv7dsEkkRT6uKns$xGUm3G36iB(q`i;)xT4&0elC+`SDPBL zqV_wJhH^a|grP@Im85yV{#OCG5agauQeC40u0p`gN4`@nhkOUxb?vMn2MJN z^a+Z3{+YDyU=;Q_ACu-Ctk{V=+E%)+Otp=~`HqwPTwq6~OO&p+u>^I)O3EvNr{Dqh z2~gD0k@Q!x=fOXw8b%`KONLX8f2XFI2$+t12M$BN11_Qg7&QUHEOj>!#_ez>f(7%mm2Y-jen{5;Ij|rYDn)#0*(ccURI- zrH6ea!qeJ{3AhN?4$Q!{qwCSuRM)7O`C7V3Mfpcrd0)XaPus;v+wVylcH#FG*QN?a z!e|$McRk!i7al2m9gIiA105lBp8C4ceH|AsT(B&um`KMx*QGi}#nMDZSY;C#u`VmW zDh<`*Z|Gw>t{$zv%LGOFdz03080rKJya=psL}2Y|rtZ8URXq||yGCH`8eUc!xxaRe z>bu4sx|`jjN>V&p9lt?QPj}M48~Zx`lqwmCt!n*SbJc1VONIyPB*O!~a-2k8zB+cJ zN%Wn8y+={UeM$c$=Gg@%tF{Pz4>&UhT#B&=x+*DGliCLX{R4VaA`2aZI(1M`y>kX!SYbWnR2%6cly$ zBo#GuR^!|GnD0qim4`w~vFPi!k{w`Nz)U1NJ-)a&?eUgE z|9soNt~xLu)eiVIUqDBE;*Hu#6UOx~Np)^DlB|4RD{1ht zq+(xDw(hpHaFc=#=c*9<*S-{SNPtJ0`+Vs(qa&cbj-viCQTblz_cf<)mY&r-y;sj6? zFazZd%tE;fzaAKFJeXe{^$Fq$8OZhBnf6q;ZB9F6I5?PHNNf<_cm03vu2fOs*N&avr>IuKxNyNIlutWUc^zsU&!vLW9(!9OqCTL{yUFw_^&%W;_V3i4ShnDX+JO?d*Tmh-3G}`r*%i@ zbYMo@i2Q)tj>XthSen!aT#BRzDrKevo5`66W+LDLn@2zs0v<4nM*%x#z+aM<0R9Lt z`$q%Y1;`C_rluEWJMBC=Lg%@p|7f9O=IUbSdft0oE!Os~w0`!DSy!EFaBn8dZq178 z$zIK5g)di}R&Tsx(C~Ec_Z=XqtB>&_e8+uR1G(u9K%@&Wy#beC;(?oG%>#Gh-^E?d zk0y=JJ#grDID*O>}=LrTs z6BSQ2=AUTldh$ubiDuGqC_WD4lm7U4Q&N7CO6DWL%_&IgPK>L zP1tc@G6EVn05uLAm6V?rL2+s<@Y5z?0{_&1ZT>52e-S%Qn6G*y)tv3XHM3|QFY}$& znpZ}>A+v!4A1G>HnY7Mk;2n>rU6f~Coax-#vofhTQ`vJ_*~sr-l*KLR znY0XqPJ8m1X4q5vvxsaG0nJ!(z$O85cR!J;A7KZc9Y^g<_UW|Cc_DjlbiJ;St;u8~ zPsh*EeTTQpMr5BeNn)6@!|&(tcCYNl=NRx==yUqEihd3pozl6=#pJmfJII10|MS>h&UL+c_o=i&;iIByztErzZ5 zpcbhP*lwDDr5^B2OgZ2&Kmfxp1Rlo(Sn2_nAkcv#S@M8|-4s5$h$qG%oe^2f0WQeD z2G()_n*x0KAK+|uF}NBNj?WhLr^C!buj^vNY>#F_{$in5ck!eWV;la?t>!llgmu4; zSp1D4vG+F=RiUT>*N00$8>$&FPLR9x#Z-G?(2f0VJmdR~U321Z8NMNg+;F=VkZXS_ zZBQ6=W9N&QWm!Q+c&VAs&gs~5nqGiC2TG;T0~k-gqiD&>R8bZS^M0p(GuoV@$Fic4 zjo{MZAuAG8m)axOX5}NBL6nQIODXS(K6pko`%?L3M0JRCVfetP{<<#HXukA&ik{4h zMs|kFt@we_vUwqUf3&QNEPm~KxlY=!?1WSE<>C7U_JNMKlhy_HfrXfM$_3IDdg^*L zHDYSE-&{e1+fGG%)fccaW*un6tQ&@w07?QJj}`*Q@PMf}X_j~YYpKfrEbrf2-eY9c z)7`q&Y1ydTkSH%jr=!C71KfuE0f>x%>F9J}>g#FS!mHKTE4A$i-DcuSGqH3{S}D6) z&AZZgw7-&?%~0#W9Mn31u@q1v*&a9&s}7tj*&bM!)Pp4dN4{&jO585;@>dqT|3<2O zWPx8zc_|K^Cbo%y<8bJ}R2(|s>ze@E9?0E4n6@6dU^Q#qgiWW$>DY9@Gv9zJ>GnX4 zlTGs>43Aj<#yoj&s_-NpIK3W!XNA??> z7<<>I-DF$Dyc>px+H!+-WtecF850gT`GBPPhR|}Y6Zw)qvBI7eh1Vg$vH7`oQe`7k z+D6%U$@J9N8UGE`;=h3d@ZZ2u_-~*t=?jq8?nZF2^m$;mx4sI|o_AA~Bk$uWxyixM z;o&CT<+HLMW-h%+cOA%iT(smS#_f*%M$;j3>7{xDN)X?`-6(8v&ipHN)!1)DgQ=(~ zM7D$wc}5ptyS^Dn4<4`x#|>P7(rqq)QgX|K0x2J@{U#WfY(77FtB%Ek^!SR$jRE&W&=rpz?^zfF2qB zV!18mjO%6C({joCspf^L&$<@JgRsRhr;9~~5WH18XP|(S5#NAoH^?pfAZ=NAyq>m1 zpCwpus(Jh$(1-;GaJX)Z3+@=NkF^%A!&CDyKPKt-aoqhMrn)xE9)L`{-7VITy0^PH zulOh}EZliIRmcry1tUj*|1;kkNx!GNCUiJ(g7kX;?I>VCqQ4k^yWuyZ!x7z#4hP0~ zH!Lvme+RV~aNqz8IN(W9z&VobvADM=X}H4x{7%Y8i?c7_>)36;0t;9lwGGTfZ4ED&iYxMtlP|BEC`4zJA)ps9$j{HL*P#B&|#N&_h7=1ZR0C zaP$wb&I9W3-RQV?gH*>gh4(pKbaa#?4PA5`hxKOF)pf;2XfACs>WSsD;jy+v`9M~lJuEK1m+NQX#nIrM+yRzZfR&L# zdACm`cyYtf65wH3KqFopmCtXOb~$QWxKB*4&I+>gNY{OCT=E+x{r4Gb9oiffO;~MU zKF%EAb1?3y&!h@xkF1~vIBDQBNy7sgx{N*`lm<6S`hCnT+W3DvpZ1{6@6HNF4nq$b zsJ0L4#Ch8eo@xBm(-g zNy8&l6l2ek+8+YkW`|;SlAJ^luEk^ZN zyqqr_4wma;honAWV$u>|0s`8Q<3Ozpdb;l&pSI3Irt1l=-|7Ex}vetp0~L^-es zQBJd=Ek`x0c}g=2@+md;z?uWj`~fFn&4DYh=DIpAB4fblZV4GZf7eu)|fTmb^` zGM)jf4A=xI4h%*E`@%C8$euFb5s6)pdwlEEo&yV(U+1${hFObh+slau%vyl2kwKDw zHfHTPK74DNw0YqqOnYAQ8K`g?l%v7{8zsoyy6yjVHf@F4JyF}O&kFX5niZyPV5_8m zg=zDw;sqLPrvYo?la25N8zFCp$aN{Ih(Vp$oagIdrK&-fJ zll}o-N6>whR$dRN!Egg24CI!5F>N=p|E}Vn*_du>2)6(UtOC9!y&ag3*{0*>Rk841 zvv=4;L;fhL8;8`cHuT;Q34qlMohred;t~n&z*XpMpc8iVRCPx{vw)J`(msmaX&E<*wQ2Xf25l(x%$0#`E_&ZtNl2DS4I zz@VCcN%{irj!(>flL3_?vz4*&%tC9Qjw>j1U;BDr8oD~%w4?Ewca2y&NO)ffX!C@F|paItmEb=B;fXwp_ zxFaclo83+CuvJ{X#obHZ;cmqAC>CGuf~iu<0r?^WT+#xZLH`Z@FKW{8?@8mwE&WPr z>&T5{=f6D$DEoJ;i+@`~D|Swc3r}>@hT=q*6^z`-4;iD2$Po1#NgfAgd+RHhp411l z;j4jD@zumo*?WR_;`@Sk@mJFhvM;yhy-&|z=rO7&U!Ij`1gPQ_0JG zgxo#5q&6l6d-d4$COd9bVzEt*HyqTjr-{f8kVq|HI^r6bhPVcVT)-^EwaI%F<#$Rd z#%hSkI+nC4X$fe>RRgZG#bA=$bf7mrac=SC39(%lPj)Nysma3$JwK)R$0%!{5@QTZ zMp*-6ywVkXMrt}h!}_6NeH!v1qG1CX79pf5z7;)l7Anj^^FLOZd z{%@tuIJVFkInEfAj5cRXRWiS+UV?N6=6R7Ts74#pxOexoap4aM=Z>2^{8LQj@i-#D zTi!km#h=2y{UI9a>W=1n{L!((5BBpQ1^inT*)x&dpq&*aVBR2LkdZz5*WK2<+uWuaj+<8&39}%|`UQK?(UxBsB7}&ydgBnB1wKAb2VPR%t1? zBQ!Inlray6deImEHzS`Z9!QI8KTGs}THF->w@arNv-4ScQ42n+s%!ryz|)uj+j77` z*k_<8tv+#6)lbGh6HEgWlh#cq@1DDD&vfV?6wb_MhHiM9am}K=((>#9+PuvsZ=M;6Ix-oXv=k)H~HJ@XU%SAvL_8ORjy#{>C5MUz&x$c_( zo%Ly3FibRV9_qHB&hcXlO}58r1K+@D1Eq4$f$3;$pc0J@cm(o!FawPZh=(o0)t~3f zCR{cmC*CcAd?W#W{uW?8kJs1QE%h}Ahs}iMKOYnN1uJ~{KBHtodC zRzOq-9D~pXM0J28%+{bzmbvinw^JntXG*r7>@n|Fx>&pQ@c7EN(P!P(lO1=qnLPZ? z3IeOM{tIE(HtJk1+Z;tpYEwm@O%=`C)%Ul3f3Nj z-A3-3woOdpcKq1BU#hlneRpm*y!!g0?pkEJP`f>~zDwAiNEijoKz0LDy@C~-A>&+3 z&~}{F_C?O}3*V3%#17ylBG26g?m~G+yFSBmeS6Jtu zNe~ZucZ~Q6QM2T7M7^nK*3L%$%y(1gY@JQ?&SGgOlZ~Xe|EkGH9s8=iWN=E-@Ku|* zlZ=lMI|1BY1#U>{1C~TpE3S&EjVNwJr6_J-XB0Q!8;yW&9J;XVYb;wRrySAkQNbR$ zi>6&ja-k;vuS8W-T!y~}cE?`>2S_6ano!q3n>2D@SyI1CXqc$ga#`s@L;OD=TU~TE zQD^qMZ>U;}sRmqm1L_dffQL=Hg4vSFfmTW7!l~bgnBG;>?r3TncB8TlHBFs0C~=c_ zEc)(7$$q;|-X+|oFpI@N;^l*EW9<44-MAVWZen15ZUiSv^GTR$vH=4mkbc60sIxP1MV7V z#$5yG<^etNN#k#7Tr9U7(HQ(Sa2oy^sKQ@ka{pne$&VD6H*I(3iQV0m-!kKWmt3dv zqK-Y2{@q=Rp8A9e)AmrIch96@4;4Q8gbJNeVUPwD+{=_tWl)Kixq^KqmWzqnBPMDp z>re6iR)YKCFRpece8~S0|N#R~TZ6BS?$A?qR-CRJMq;p_`H@1R~C=&|b*2zBDZ{dx7!W$u| zLwQqYFsoBbbe1=^MxAd*oe(s8X{$PAGRuKwQOsTYiqmR5H)gFqDmAO{m^*DhW=+R@ z(*$!jUmmH-QP|4?^; z&FZDPR6*fRKJ7ac)MCJ?>!EIdr5s?He-~KF0hW2de0(=BQ))TTCbb-xhTR6{$SMb} zM`#0LBA^DLE&Mb+LT0+Tk~rW%@~KE<#JyRR;qGgWSK4OErI7sQKVnBKt`(Cl)(?{0ZJTB%O~#C|LOk z<(*O9DE*v%Hbi{`bEKbBJKvaUt4+SNYI0d}-}fhPQ8cuF(*J#Htx_5~i=h1gY3O|P z=3_KZheQ_Yn-pcZuvP;oRU zL0tp4Be{i&qpk6}qhr>OHsFD1K}j7Yd|sy_B>_|M#(+E6deDUP1zi3?QTz9k{(2_V zVxf`hAz%g;8n7?}tlS^Pcn(V%ek3jiPDy8Sglq64m+$7JPnFp8kBM3MQOv?IjG~CZ zp!xzRIu`U|n#ERfta*DlS{Tc*tS*uKP4O7yGf<5;25M2pbUt)M(tjK~FF-gWwK@XY zqpH?FPA4)%S~mjW60p1EZ(z3MZ@{WN9+=1gjT@u!@fr)05WO4K`S66;#E*|boL~@@ zGP1?^f0*>2zyw-OR9C13_?`(A4IG7BrZ69MX*h{eQ+bjanuDU=qm%xV)Hn{mEPQlQ zsQ(G|?k@@AtP?=NNul6m3WUtbMBCt*ff*9B4c99_1(?PFjRV9_ zxSx3|8rgj_CvOp3I$5l@Q$d-xtb&=ctHtnsl=Ppv z?w`^uo}$K3XwlheM4WLN(Nw9{fOQif;AVmO=wm>@fufFMlm1z{5w532>z`>o2Z>CL z&5_8!B3addh&&zS(aj=QP8Tfmk;jMxTYv|0KMM_K(9jbiwa!p$FdCXy^5p1qTmlEq z;N@y;GL1TDZ#PbJS@6Nz#9g z8bgw@#Sni^Ht>_A;pfAxT7Itje0(s_m7F=zAC zGG`&Op#+$&^Fb{_7cgD(Lc{qqlwfrcnW+nay(GX)1vFxH0j~QMs6^=kHq{HF@vk(t z(n2IeLsZ*D)P$r(#AN}s$X$TTE(BIufUyR&A$Nh^sHyQq8aF2O7ZI(G+yxdQcL9U@ zHNSPwP8xpAZ*#D_NSm;`z|GiQpgler`Nc+VbiWP*FQ#w+wJZD?@=9sXRBcP@0~|vF zdeOq7!f#YC&P#|&P`W@*RHx<=YPxa0qShs9t&4{2{Vn-WDxdXRawGn&W|eZDf!W@I z3I^g6yXLFV5fvz$uVEWvmEscQEnwII)A6+c4FRU?Qb5D+Lc^twUHS9V;Ht{@m`hVl zQLPj^3s{e!sQrSZ^)kK^u|DRyFBrA9YA@GL_+CETt|g!r?+RFG3pDSLFlvG3=Jm3$ zc!Bz*m{)2H$&D7Hzk+D0*PRYGY5_$9=O_JFXjF%CMOuY&1Tuj2)0P2c7*#;SfbJ+W*sBay>#Ml3_t&Fb z*{!IkLxP~IsAA>STCp-f3H-iAof}Tiv!v)q(BKq z6<|S2=)ab(IcQbGB`u(6=(42$TDqoVQIWRGFcvd&9q%rbSd7Rd1{m12q2hWf%-?lU z>w2|>M##HE-YBD(s+CfJQJudcX}E#vnevH|He*qNg;-Qz3>Foj^@eEuC#^+eh)hiz z(8r&mk2ZbGK%F95h&l!4piY6I_@u(0C!-FxO|DG3|4hjY6sichKNHm6NYIX971eGW zwv`^eg?zmHVYG1RO~4)nlI9yj&rOQ$5I1VJ_9o3{;!UYjjTRNE|00^RALn%aMYNh6 z^4ywBM+I`tUlmy^e;w|mC155J6{tm`0?kNNU_KHRs6wIw?NP?de`A7~{G0w>$VX!8 zzqv-2p-id6y^DZ(4B#7()Gdnpokgq_2e*)y$_r)^nlDdUZ!rmjQO$#o#c?RUMcs*u z)h)w?Qr8Rxm?4nVEq3&(yj6$x#9PUGLhdQtt-~$)h;r>$q=Oxw?n$*v*gFROX|mTI zW<|5cB&*JyxJ}X>Wu`@04E;91bWk*uB(1lxZN6M!q^9C_pwobk(5BPd(@sOwh~ku1 z07?FKX14twGxO2H*xGd@j@#8?OMn#;un@}$)L}V+4x}j6oBpnP-YZO_m%mS*P?Z0J zj9<**-#b*Rl;115`FnJ8$7C;px+9LHe|L9Q@{jQ19pS})XxMRO((n%rOVFP*Y)7Ap z&`}g)x|2wF1&qOZ;=JZRrq0_t`SY{1Fw2a1}nPWt~jd3QOz=&S7D zI$AoEPnGKnm*W}%cny*P3AWyXXOKB;R({SDLrJy^6ytq`yniJ*n&FQ$# zNnU+4#?@(DeBP<{OdKaL2geCm=^&}=3^V@af!)L|CbP9mp(yN(5p_{KfNT{bQk?5( zO|}0i`SX3W?|TpJHr;zP8IRmFti3Ow12ZaIxr~BZdA`E3Yty#Zr)}?BrfrkgjH+$9 z+#9aBE@`;eSo4@s(fhp`w_!DfnfHd7-MrO??G$6~R@j@AcSYoMhiTWR>Z_CE?~Q@q zNBvOLtxWcf|Aq8@5lY<@wcSTiH-;2NCHGTQjocJYzaiq*)IRJF_K3<_r`KwP7zA-Bj$QaL1ohdrPwu z#Y4=Pipn&svHal((Hqkm+4^pJSPi>`qH!Hr(G}VHE_p=R3=}7=+a(zb3mzE`(3TL{ zX9L7z4`4umNPQ%{+#}k{dW7`ao-}43Rk%?4FJNN?MIC=l`X6Pw9v+LO@Mx@!$5Q>YY4cT*uRUC>5(%<^IT%eq@I1rJiO+>C zx23l1o7vLzoK~esPU=-kiUm00dC-KR1cU}CYL*V;dHYM<^WlaS8ns7l0kL9udRtbg zJ6$rb7{v-BpZLP?MApAR-XRxQ#Ka2`6E7%StFS2le@R8&pr$AFd9CtMup~d+s*fPz zst>qauZVv7lo(ftnxn)T>!+`-FFNa2Xmbc@6R9z@^s8uU1L}~NKpy=mD!iz|A}l1L zF;aAaImk<32wN(;ddb3X{zvMlqmx%3u<-ADY4R4yw*9Wx12385sb1=-K^gv14EW_( z{V$UX7J{PYJCll)yj8YRLE}ohd;aAZ-OAxH^sP+0dsJrg*2pA> zh#NvwhRHPCO?|)s_EV^PJ;Lx`qre(nCc8L>u*xlJQ!|yGxm|rr1j01 zwl{~D;g?Q{9sjN2J-PfX4NP}H9TF25!fZ00wQt3Ybfx`H9_jaOz470h5pVJT3^}-l zHS`4-&01gyg@##c!z1^k8urRGbgvz@w=e3A$7cdl<=+C$NKWDCcT|{-pcMOq>=N$^ zpDJ7?H7uF6;punNi3<_uzoSv@zcn(w|0c4S0;mXBDB)II9lBF94om+0e@1`dkkJoC z4IK`JtB1nXL&M=!{$2#ndlBOAiTz5%C5oD{nba}lpn>c ze;A#96dTP0N$W?$-s$@&bbJ)Ou49d8TBj9k0Tb7o;t2Ur(y-nX504*8hghBb z`Ej1TZ@np7#E!e3>SYK^z(yF*gs?Pak8#Zpr}cNtTv9T2%J`!0htZd&>|Qi*chV4; zmt6wJVPLGL0;L!TgMjH?t_k=iV5Ur4?5!)FV!l4b;5N)9{d7E%_VdM&e%7Bd{H5;L zDaP-AZ_}K@k?T(xKC`Y*6CVXsV=(~}5g@<=<{&Tuot1$32u%9SZ$QJ6k|`6$E$T@- z+h$C1Lfk===qe>$&66wCAlxdfqU4{&cEY&pyT$x*-)~5SoC=38+F}0{RTl zXMjZ$pwEqfJ~xa$H==`AiNDA7CU7RSxTpP-Q3coq13GVR<2a{gJHIfsFch0k!g#lOr|Yx zY0?saw^Pc#l1FN7^yQ`nC8MB$RHDO?jxnY|7980olF z9WNc%ls$57Pp1KKT*fQeX3FpnHKT@SzS{!(dkQT9)6tXwUPBp}gP}x8$1|ytjFHw= zHf5{aW0`E^{dDCN=R=igDxWeT_f}TEY1;9;DEDC3CK&DuFy0Ccrm$frtprV_4rcA7gVoWLxglQ{ z?REBL|4+qM(yS6&3CzG&0>@x0#a{Sj!Bsgya5=&56t+yz0v$8{?~eZmqP1|HFx&$b zdj1Oe7@4_-wYC6n%ZwoX3Oxd2XYvcY7Zc1+T0pKXpT@^XEPT~mw_zVC>duNr!az~( zxzVz&kPT+C>xxnctO+XL@RG~EKaM3{8;goCu zyHi;!>(djXWXfW0u6 z01|LO8PXE?sn=oxu^I3O3?*5A=AC@EL$KKl#1C*K$qlr;xv z+VgbMaDWr@yIENlBwbN9@O09z%(Rq$hbgt_Nr1Hh4yFO$L{9>KfE{3s1k|A?0SD9X zf$8W;;1B3YpbB4zsR+L#3z#k87MLpG7MPA!1m=6kB{&NKDdOYMnB*A@z2Sq=hSnTz zCVN+UHx%WR#m1M;2njcW& zg7*V8Hk4)y_&sufJES8)6}}RfiheZwsW0FJbfs|c55mDev=3b&!xs5$8MeR`$Vb5B zfZXk4ONP(oBVIg8kK!n56yYqHx9-8D;b;R~Rh-t$Z0kB&&E}*}mE4C}QFe{2sZ+Ee z1`{RiQNu~3&RQ=+VkHvZ7bg?YJw73?_=6$&IqU<`_j&(U=si&WbYYyAKXJnU_#$gLu6!A-6Kzmeli9DVIkHUyD=Viy6^S0xM=e&;~ ze0>5yhz@X52XfbKl&T)NBA-aL&_7WPn++)H{xE4h(FmMGPY9b&V)IN{x70WSCkhN; zO~t&Pr1K81$BbG(QENVOl;TFow?GMI6mWBOQdBrug+(%O5jm&^RN_0?vYy){wdmRG zUGK%GaAVJyq~a7?Z~JCx;liwNp2FA;Ptkrl+7w{hOlnqdk=8t9q~=UD*`O?zct9o2 z6W9uK3YZ!&Zpl_@yDLY!|7onylBD9Nd|;vcR8_ke7B8mdG*#x{P(>7P zn6#dzp=k=KYwfJ)WBdQlwpsdU-#BTVrD_R|l$O1vNyX2M_@y1wy8jvR&vasu|BSkG zkgLFK94TOl1eD@cfs>G^fScztVw%5_YRPh-&O3vWDhaw24P-^xyRwRBD{`cnt+De$ zfZ+zXFa+rBOwE?;oNCNYLi5gaVJVv(r^GW|J_obX*RyldS=P~tucj?dN@X=H`)bWC8mTDC#LsD$Y~YyY{^*&HP+S0RMFtBSE}-~d7-3;U{BI8rdrE%g|2k|eRo}>} zhUlZLYW%+;N|s{oYXV=!#sZUYtUxU`7O;0*2sXmT0*%;MKqiU+KfJsMh@F5rh*&_{ zo`5qDtAJB`z(PDMAcx_FVcNy|zBL*RW?l*$Xiv@n8nHLLO0w$wnfqYis5)}^j0!gADC*{8dwz`0!tio?q@WRUwN$`1b z*fn1Vw%T8ZUGaZMD)07xu4k__(6X1O7XMB}mZE2AUX7jw#AiT0J{j<(6o`jQi5!3e z+9b`gdb?{b$RolO{9%GYG&Bbl%ku)YUXD_psNwwyXZ? z8TtJ5|21;%)r=g-3jUO~>54Y4HQI!GuF#kR&N_F5;JuO%%6F-rl=zmEAY9h&OgB8!;o;_Q~mvLSVm#qEUZu_CVr<{-dM z0dk8EOLY|fXk_dSQ)D@+PAYET`QEI;o>?b1P{`ODsPM!PBxN_Svhq)?bV2@;3GJSe zwEoH5d)yTtho&SIZ8S9>k#?2M;k>p~QyWd^BZ~p!`ZJ&=pjy@~Fdb!#mX2>F6*toI zk0Vnpg)uqzM$^44E68H9>qhEbEN`S@eJnEIh!Ws_EnuOnTi|5uv2gWG;p)E_#7Pow zk?R)Z+K*1V%Yw4zue8$hS4C^HqHH`}ijw?aV#5Dw!k@1DUpuGW%+8mxf-EfO-ArRM zmYF^;#xkS$y85(fHitETQ==B!OpT3Y=K?$*(1vOToJs>qaLB-%q%WWh&rDb@ZAf*E zgyppNy`dja_nMr-@8vzvDgHfof}ZUa08%Z$|ZC}1Z! zwiNapl2rUtp(DXRNvn{{z_#8Z8Ls($Qqf@<4W5=7QIjp}4o27#I@FwqW~OHMp=f5* zICcDsbUZ>Cke&z>b<9XAmMZiNb15n70(Ox&OJV--q@q(H(>qD+76A%DQTq`|MVCSk zy}C%L4LHi%ArAb**Qn*8QX4$~yO+;j4AaJ!$m-^R$dZ?>H;1-BVb5nc8|* z9$DN$QO^&PihC)4`0TX$)WYibsy+rMO!bZM%0QL3NK$_LIce>Y@a-19y+l`LneNzbXj^R!Z8EQ-Zcrl zxhGi~+?@_^?kLr#^k2)5;6tygZ$KuP~N8Mmee2jDlua(qDs0Vmt9Wd29C7E;G`KdYW znK_TAD@swM;SAvFIRSP}t$lpzaPXiremdqJvX}0P zfjtn+z&?^>fi~In{ez_w`+;7DHE?80Q$<#AI0)T)W@WOygJV^3Shr6EDv(w$P1ZB_0 z0G@R{%3qic@37QI#n1843~9248`lRkVUPjg7SN1A#w)j7lr}5ejORW-MS6he;@0M$xD~E+{aL}t*WN31IS`%j&I&eeC})5t;V6GSD=*AdG%c^w4?dycTm`skVQ^l*HS$~OX)t7D3{;=akoxYM)8RfW_jA2by zFygqEbU75AaNJ7qx%)9)>pe1hX%)^FX*`d$07e&5TgjPl(| zzTLpvCnJiY=8}~@-p1<25nDY_6hEI zBiykj+!0ki&Z>-Z#~|CCbq8bNzY(Jx)Va-$0Q3d8vv?EKdV!=Fz3=i*@W7k2I3z{2 z&!WeHZE@xzF5ZmZ-!lG2q&M<1$+>9hS}=O>Zx64K7DW-F0j@o3K_gC^k$0b(w61j_ zzV3>&UAE&EzY|Vd8!mmv2w%=hN9{cCu&opgjO#0cwhX6$%u@5^OA?Ef|582m(n2j11HO6=H!p-*wN)$D0rS(_ik|YpuQZ z+WYKt?zz9NZHs%e1PefJQ}PeS`zD|5=yB8(D;@=2(12v%%^2^f@!AtZJ`F97m%e4= z$NSgPO7GAVZ=3?Uu-?F8Cscxd6~1ESY~$(v5V^U%WkZ*~w=`F(>;)R}-oVvJa$vH9 zDs}b5)oE8_)tKMbRV}(44cBJCB9*-;-g`}|cwyOo+47E&4M)4q-_g1AmFUJJ>~<#i zU7MPW70TJ}VSQsJ8~YMPRxxr;GPK=7^*`eO#yYS37nqMq2SfpKcVCzKI=ysvSvsfS zi}cb31=>qH{9C(p(7*cK0nAtL3#`}T&bC9rn>5YX4m%V|XC78)oPb6L7NgODCUw6G z-oW0FcJg4^7-v@&_KPQpN^0L$2n@91(E)pO6{EY`Q=_rB3ROZ|hE%8NwXEsaW&SF6 zEbLd&>wm%SSeTi+rz5p3-zZxskN2E8?o*g-DQ$0+#qj-D9)v%LstqzerdnW^% zo^?sNr{1gBhrJw4b>#)h?gw zwbis&I@FTdSJ3A`tx{sZ@1r1h>rJWASW)7MLUwUX)U-Zp%HFcIMw6dBH6_Jd!S~sT zg%WLV7v4@)RSdMLDh8g$*E87aT@Ch6(PH57_i!{D_^t--rOB>T&%ne34VZYk99*78 zQ(o+%?o4A@=+ zW}wdjU$8*#rmocXl5GAa8}Ve7#%TNt@*QZ$prd%}id1pzcfa=*_RX!yWZ92XRl75u zfRV>)FGa^dEixXMhE@lflc{@vHat8~#KQwSpwj`R@ZSgA3-^e8y-&Vc9ePP*lpuHC zPtyRh5@U1r)R|?lr>4zW)7Yz?Xqu;<7-PSz?*)t&_xF2y^cmLW*zVv zH((J`9qOH_o3O0V@LC&=ykwdY+qn}Aa~QsRKNUQ zxOU%y%8vUMs?|A6&uZVV;5UjNBsKfF`VLlejQx?yegU}vxvrn5ZpJOB{VgcN-(UN) zS$j4WJ^Kr5bu`(!_AeZs+m^Lw1Dtb!_C5^3nAihM?5V1P>CLJDxvh7M8|0k4@VeWQ zg?Zt92C0swFU6o@q%EnLDlK>4`R-x1Of}4b{NIP!GgYtF&Q$geS+4<~P=O4{AjsXf zD)q8k*=19CpgnDU)-blx4vc(Vlq@_@*Dq#mV@pk&jZPyu`PhEC7`SWP z(0UHyY50f9&_RagIy{)BmkI$MWI?X;?st!@@(?2{9{l%_%{fG;4d{RDoK78Z1o|K7 zLjU7s`8}zZ^6En^hnm0Yq(gf=g$0P97UU87z&u<&;F&aFB?ceZ8v_v3V*rA)FaUwq zy@!ECN{#94_xHX#`uZ21QRd;nLl-3YF>V4sXW{)3}+4F z>Yrh4lMh%O8?l7pRZ1!UDXz{xI-6dq4wHAaMRsKoJiR z_&qS7Nxd>bty_}@bwYNez+o2Gl=bCO~e} zgQ=fcWea-kbQyC)4mB?Uj{+{@fVt|K#ojhO_O>Gnijf_~@x|(z#m)KhWZ_5TQB7+f zBgp}Zo*f-Yz9Lz8w8s8u^x$%|`56oA~3^XJ3fn9L2-(Vd(TvcmT31u+@tNq5KxlLJapB& z$6SC{N1j)R%qT|Iry*s9_gX)06qAw;O>sjHjcprJjfONMbB>|m7JCehp!)%P^D%W*oQN1`P~Gjx!UmbGQk0C;H5cH?;!|KhR6sBd6%fou1q8>T0s@;U$gO)K z?etIC+L|jw(MQwDO=;6ub%;-EYE-UF(<@oixSQ^$?O8z_>3JEk1$BJDU&cn9(H_@DfTegM!1W5iy$dj7Ab0yv>Z1IW!|apd3G2kTU7YB4vG^oodm_`z zN}l(eB)6mCLcrRCf_XBp5(SchlOo`g1?+dAkWa%c1l|q=$Ro)0KA-k|WO@}=71QZ1 zYI-|s8Y_VrO?aJ}lJ@`Ld$`E=$%uu#jX3u+_Lc?0@J%8__LhJRpaB)wX7G%y8^P^cS+Q}1KP z0-q`e)11MnX-n30SlK9MpQhs?hGEG=2S^4^wKTV$rdt<%BYBr1Yv3|f)1vvb7|1E{ zM9@g*4!p(4*6FgEur!FOv6?Cj*V)F{Im(7(@GOwDahO-1==GU>*`7@Ez#u zz}^{<;12==1-W0oln$-DNaE}>#J>#Nkeb_BfG0PQ6weT6?U`oWd!sWWZL5;bGo@{R z71*d9j$#-);i_ceH%Oas3`u>Z3$XIO39zcp6mHu$h3n=PqG!X}-ER@m%i+Rk;%_-z zqNpVrc@GUX4pc2NWb63*&ExmowDV`T_esHHo?r#gJg2iJ`|ow zg~(Iw1w@l^2SI0evaB!Qywu4=@~zbN;_TY^0o!)$LmK)Gn4+2+@NP4p0o{;U-`lBKdBO0O|1m|bdhI3J zA+RO10X*mcPYnT^6po9fb&(l&2fc`Bca%Ti)nC9I#6U0)ClEY^rAWQ)htzvR-Kc(O zREq9Lv;XMwBhY|_DAS|AN;-cO4--4&O8ollDZc7r!}4|PVw(69prXGg>ActyXh;U* z<48|Za|y%0RHcUHH{zB{ESbJ_NhgJP&wdI0VgG0T$3FU9_s5)G;lNL6>D>9<)|HpW zd)?lo=F-B5@-7?eD?ttOY_EkJF$$sumh$bi-2kf~4Q&0>69tTiF&c3&58D;0K zTp0`NDl5f0y^78=VQ=w-$m33k@JK+?zAUzlt8E*#D2E}qD*Rl{k9$oB@>df~zlOj! zu4`D1AVEepiE_7~KoV<6rX1_M?)#*_JN`=sXOj}R@lnYn={lg`_0f}1miu?MEx zP0$;eZ0v!FEOw0Bx!n_o(B3opWHNNSdG~$bXQXb{0X-;-lGFRM(%Kpf(aXx+5jCtV z<$J+OqWv%k!3Qx2!6FPo;A;w~SlzEu9ly85N0;{<1uXr3JVCM-5fCHwWb$14yEp!J zO7dpEa>a07{4QUTW|g8^-*fuK(ryXf*BU9MK(F1oyj z%>*Pt&C`$sfjehF6OtfUgd_;MkOWO*dp->=D>>MDui)|+gESruGpV|d^Lc24L=(^k zfdvsT4Q(){?3twI7t;6*yuldEFJdsiFqrnx=HPw~%*Opp1blA<9HL*M)k=pl_ow87ZA9xA9;)EnOtABw%Yx1fB-5tQe>Y$d zmK=8k*p~vDFbF|C1|h!#5A)l*o^m&uqS0(!A9Jz3P+c)QbK9^Xb^CCH@9$(_eMGP! zUDg};nvY5tF>WAVyph~`B#`6<8yHnT!of0hK_Y_;kO7e7A7Qcek&?yKM@tri8>5>? zS=3?*mMjJX^zj?8C|MAog8&^o8XfeBs`wkeruUViTF_Ur=m>D>1vDcGmMjK;6CM0k z2Uc>3CF<^ZJ=m6yU4o_2@mCmbv+%DBW>?lq9=|I+&PgYc`l6BGJh4=H-@i^;h zEI}|Cbq`pM0W+`!jk)-^WirXKTmZ~Wbhu^6+q*?Q>vP#Wx5Ih%$jW3o2I!tqz!u|jp#lQF@YBZw!h4^HH#T@>g))WLnB8w!T3AYb4AP~mJctq;<+~fm~y03rg8R?#) z9$l&!Q15(AFdRZxz_T27DHKN}^Z*J0{Wy+-o&H=Yhy~9PN$<0f(&yMzV+6*|cBE2t zEeJLd=wd2l7gJj_W{qGrbsIWj!uUDD7tFQJa$FQJYaz7r@??G$7ljq7Ra^FNJBa{EiU))pUmTMXjlU; zaomq17_;+|uI2tEmM+u)xeqAf-GPyEn2 z27Jx2ng&yRIoAJ6@rvVR{d9(oCG!gX$TUt=VPS3J5FUkR&MWXp7I;ca#3 zdMC1lj~^r*L`iW==xm|0My0!O`e#mU0e`0NCl#PnUFiIoj-Omc$oo()T8YIP6!{e(wO7?5yqsfAi@c5d@)?n;0>wPVD z$=5>hHHvRw?uE10Ia}m>O-870pknpw$JUU?hUf1*1zvy{oDCpx2HZ#+<#@ZMDaPIDL8Z{wD;p_UNb7% zoNe;jfIUZ}+A)@(Nd-FK$eFjo^){{>-{N|IOgi!|Ogi8}`0Z$ZD{gjg>*jR)If8+= zB9v{hq(ZtFPmXrAgDb(R=)tJpi5>avxaqw^=Ydq(ustT`o#<}6?$#swg)V7q#M_xq zM3n=}Q00Ip^8gn>Kz`}ex)Pi8ox&bV7uVTWmv+<%=Wm7gE#2zl*RkX%OvaJ}=QtG; z)G9Iu?sjHpB(|cil-P>8S-D@$PSZ5@gH1)9|An+eouO6K&4@rM!+AxW!B_JBc^o;8 zCg8{c@7Sw=v<3`e+tnFJ74IJALUfpdbD$r=uFfp&$irDm&JpEt+rWLObZi=Ss*|W4 zqnDlNR3N+Qwzw0)))359XO8x$^ESiJ&P2XN5hcZ)Lx&(YaBMn~?B3l_9WHk^lE!Ky znV=3F5A`T+U^U(xN7Hk4s*6{LPL57Hnp_MZ$1!1WA5k zv`=JZf7*q-34aYVqpn5sF5xt)X;$wl9bKxvk+z4Fkv%n}E@o2SRR(i{*}AJy*=XKV z^0FX+0&w*vc<i zLt^6Qzwxhk*IO#4hksrf->@!?7#*J!PA-kFXgsHCM?8LN;iq=EYDb-o`>Eoky2*2j zmedUwElHSr#xaeGmpL0d#?R58cH*aASbsXPqNSsVQdcG3hQoua5<5CZP|!MrKVFqM zx|YMFPH!d-cbMTtZzk4tX!>#rl_uWmFv69ki7je5io%ZdiB#875e{xnoRgr%O{11& ziHE>1lqKHfa8yvA51?K_Z+rmT6%@fi(_f)_I}wkn;-Gnp zsojT(!yE=Z`yr$iv>yjeUrC-_@LxpvyYMk?6|LrvBj{&*glgB1V9;AaV?RnfgF?RD ziSHve_s5AnH7$<9{!bHMMvz=a+NPMd9_4M5^T& z5$;L$; z9xmGdQr$-3b3Y^|IZ!{xkBMCzsDIZpiLW$wnTu56r(<-U^C+EKNlBUUT=t5jdm3rp zKzMPhq_y=S$nBIgM{`w>(i#_|JiWO%ygn%@jeE_|q%LJ}+_icAy6iYNg^x&h3qDqa z2YC5d6!xX!sCl0Xk8D~0Xg#Dj_qzJ1-O}*s>+0Xh1-o{vkI0L{6EgT{gx~0dqZapU z_*m!q*<3YuCW8@k24vO8PlND)tSf$+=a@Dp*SrEh$@poApDXcm6@D7w=W6^k#!nOc zxbWk~j|V?Z@zX4vYc~I;o#RqC^@rw%>o}%`FZ|q`>N%E&7hP)px8^t!Ui5eK&vB%D zEoHJ}WjLaxe9z*t+9{LcA@1r-84hvKnZl(hm}He|SU=^h#$2jZ3dY=#@U>|vpC{mW zAtU7{CyuAOrTotF%AS^5xU!dJE$q8BrEP6TDHYtF(u68*Pf2imO8fEqwUI$8{TdFn z@l(20eg5e(`8KLV@jgQZH@`bp&6Zz(ncOy)d%2u)`~Az@l*_Pf?)l5)wz*}O%c+>n z+4#U^*fw|af5?BkOkPTkJ5riBwuRkyq+nPd2|s&R%J6ut`zzto15<{@qY?WIPPxnB z-Xq!QJS;XFduaVVDNWo51^X_;2dR?r5y3BBhL2FgJmBMkw_b*ihja5%?$OY*f_{!_ zXi@m$y(xP&g!}P`6m+R=;oyBKP2#m?#o-MPq@2+Bm(YVLjpNY?*N;n?qv6=~5$+#2 zPE@@v^>Nlb68?EIj#~GX;T=<9l7CtJ6ilGTPZ(Tsc{u-RE_o^3X|_5#o`qZ+x+;A7 zIrfEL4lGDn6^|&MSj;|fT*_fKD+xynQx0+R)-UHyxjcMrQOfIl-2ZAy&)PUPd_x@v ztWBALPE7kZUsrjEh)tRwB;jv;c1`n;dg z5r-$8w_DZ?DgsjHdt0;C_C7QA4>^0u(A43Tw8dRMjHfi!qkD;_QLkeQS8)7b$0&qVD-Wr5xrIRHwX;EMKTjY2m;}_t})m+R(-1 zIh)df%(E%IwV{Pn@0XPAo%>0}hg@dTmOu7?s9N7IhwHA{xI102D z@7F=5a-A)P<4~*)j(XOod>m%j$c2n>(q%2WLmi4 zpca#zj#=Sn?`_ex0m`p`s0Fzl^TU0ffu3VYxZymOF9~-oY;kxp_5L#@iI(qfm4y9I zZnC$DdyLe$7LHxeewTQ|jDL^N1Yjzx<4w{&=tvJ=*`hI(CVP|Idqu%cMKhT;zNP)F zP*SUPlGZhY7Tg4dmBz%^*?UET zqdQgRdGDf(8@&6_=^Wj?O?Xmt_w;_`)`l)1Pfzci;S8TwccKGN80r1I0p_vX30{n4 za!mBTuQhv)#?JKm!_6L5UWy;{T66h?$==Zz=;6o|?``ppW>hfEJ6!AjGS!>m9Zr?_ zfGIZjDI6|QF(0;t9n-zoL>*a8?Vd)F2WNO+NBcE2ygfBfYpHG1%d=3*&bMpR-eJ4L zwC-zY-qZNpJuIKs(&}0GyluVuJoGL4eXpik4nKa46{m%rB}(pIooYE;v?kSZ*lC@T=Wa-SAqfq( ze>;E19?(?BpLejGBjNlH+0K!0@kdI&{$sX-J>+L>=ScYD&y_r~KebE!&gs(NuU^*R z{bWF{yG(xbR_gUl>Oa$U{mW(!%+m9~Q*Heb|A#As&(osBR;|L9zDeDd>ljM=Q(HE1 zJf#jxtV5^t`&7xgmql>L|B#OgcWT-4irS8Il-sst6Zi7PN^kIG0c;FUXxs7|hhrlR zxE95Zk5|Q}T(&$drvhNd#&Gc3maku-B~1wT>e{l+NJl>!@G|6&g$tIo{2Uu4^>L>< zRD}y(Zi(}haa8;Y3O%n5rQt2Fv>aY1wbql$mFz-mR=9MLKSTvp*tYjy)w0Mjntoo@ za=2qE4S2of>yD{&F1+3{eBt$0bu%10DfL_{m+Kj2>-o!SH!Iw!ywxMMQL6GJN)`OC zQv1JFr5xobHRFGkn(%E+DePnC{I6mSPyMUd@~8h-vGr$EvEr}c^Qr$;YQVWxqdTFS zZn>s4#?z&6W!u(aYa4W3>p8r8Oue3u)534$@DUr-9(>#u-f|O;+R*7dk^1K>@6#GT z*WjlOe%j(E4L{f7ryYLU<0lO9u9Xs#%gwCO%@1`&oKM5v5|NFQ_-19gw2UvvKMS$P-Kk=d*iA6! zl_JYj?eGk;P(to!kcC@?_$8l=$|=aGNKleenhjD)?%A0=9brDSB?BVo4k?waLNQr( zAVwCL1JSV^AbeF1;k_F~M)Imf|B%v(3Rb+#tDv(j(v*>N5 zbJ5#ELOWSB@GNRGhTPAho_mC}r&Kc&4KX*fiKCE$jLr*ET{JKcO1sHD52SH_6;pe0 z#;AgVKw55piq6aIp(TGwp6AdY!w1-%ga-i`&mq<+B1@#=bZ*q=(5SOSmZKt^k2Z}v zM4tIDu}#oim1Kii#vuwZyLq58UtcxT^IYo%JjR|!tp^HhDq&jm1;~m`Atyvc zsj9dRndUuA{)H$W6xN9H2j(DIFCbZKMb=80Sj4qn%(Y&GdhHjOF6jbw{wcByB{Nyp zVUUXPc4cHSeD*&~p2hGvRggV7fpMo;j06-4QcWLt5o8^?Uj*4HL}nX<(OC*E!B{cz zJLN4!gjFvh!Yl7qp8H94m!RZ%@-0F48Fn{?mSpyzJmSJjPacFLL&fNM;<0mR=;P%Wywt(z3@A+qk` zoZ!4X$j%AQrwYAZQ4`d;R%AUWwF~;TqYzH3MAlfW6r!AVPi!ENk!u+&mlncuy3ksx zn+2heA)?V@1TxI?z96@WpbUwF(MgIh+AXNAYIr>aOZ!A7vy8#A(;{m~m3w$T4kGMJ zB9o?G#&utg2-BA#!n8aUztqV9b@mXM%u6QA28&FlujLSp7g46v1TxJPA^&o;*~*&Y z)^uTl;nXa$JhNx~_B@Tg>YUw%94{fbPoyBm_NO->V8|R(DEJck(1|?mLu~>tbHK$M z@XML$S{%~-JKOkFJ?^rC3A_S-m<3)z>K+$jFL^-DSv4|iFy_93NM5Xw zS<8G8imiwdkLVQG6E zXyw1PuwK0mgIL-anS$aebrbe;B_QX?T>|pKP!-r!GUWm}4~Yyl*^GHRcQuk%QIeVC zJSRYEp}&FT^gcrVH;^3fy~pEDw6j+6-6m zFOr`47TnDx-&=6ESrFEqkFf1@ti`xIA+nK_x*F4eE@YbP8}h7!soo=$DcO=5>(F3+ zk=ff>mOUo2w#shqI@nzUypL7m)T?4c9A_L>4r?p_=ckE;lF#n@(;V#pxS`) zqeLcl4VFD7vdLltGVEO=8&KscL9@if+d$>ydmB4cEND1r2^AE58$AZ&VIw}ej*)*O zd>?v1`Nml%cg(Vl=wov!f+EgdqZPVQY`z1VIAM4P$PgrrW&&xh?|HoBDflj&brR%Ji~2T@YI1Kw z=5Bw8JhL;~kO7%PLr_h}DeE%P=Uk3L(Yh>z#k&7Rq2#Rx`-vO=2BgzNnQ|s(w2Yj3tSsNKskfF;)xOmEV zRUEq|%rZowC1UuNP7RX6#5Y5H`g$(VPF@WVx8Irr@zGzGJrJw7u*ek zR_0^MOQITiAHj((BKsViWdlXlQIZ20hD`7ySTBe{f!!ec$h{k6T?`?E5e5^Z3PIxb zW4Ndi(O{J|on^fqSJ7eqv95fuY^}%|NOoDaO=K$Mz$XyxjS-Q~vWi$$gJox8%b6^T zo21-|xlbXwQbgiaXPH-I60yOuNwMWjmd*Od+$Nr-K1F{F{3Ekw^*tz8602*lY*TDG zlV!VOWP#5hiq?oySMe_8Gq|V{*)T~Sm+L#Zrn&vR_;IMVFjN zzP-F0oTCsvI+r}5v`a0EfzMIW`zv`q2hyi1WbZe@c)#^I+IqYo$>u(UF;hhUQK9LO zVetC)q4Xg^k4p10T1OEet?!fM*^j7j{-h(B~EkdzM`@``N`b?u*J2SpN%=4G)O(og^%waM!%~B}s`x81FM?t6iyVff zHG<^glwJ-~+eLN{6?3<>OzD49s2pi%{H#ht1S_5EE39l|U7D0C)>j=CyC2Gc^OrA(*C(7;!$`ZcS51%uB$D@!57@fmR~XxUep zH#!5Nl1P7SRN$7G&tRzGJYyQjonk)Md)RWEg1wZ*%GJZlo(ZJ6oD@9;d-H|a zCv2y=$2rM=8mvTE8%izb4gN_~Yy?G4!{lB;YKbQO2jn68kIXt5{sHZD;vX5WWG0vU zS!7qMK2?Q4F{G+swa$ww(9P1Sj4-|!Z5OmnHOY?%vwuDE{D`iN+44v9u;fGv;iGf= zQe{NUpMl3OMASsJn$EJ*HN}bzG{55vqWwFzoXO=H2b4Kk0Dpqxj3n~>1W%m>Wl6Zq zdM8nc*_c?hYSd%|xvNo=Swf_n8jNtkiP2_3xImqTy{Y48Ylypl2GU7|p>89P@iRi} zC$jd^u8?U7^(p!@l7ft$MN)F=lm9Hj*(ya*3vQd-v#>mdA}HcKBuKXX`Y(tF%k3{f z4GNXh1uAbQBdiIGmJ5=2^mB-(L}Ym~I3UxK8&K#R0*DJLQ$wh-8(*#Y6#-zi`xT~! z3bL;N{t8nQMV3RUkMcZq4z06VWEil#hy9JG``>xG{|z(8L4h(W8K7F+6%_gnzHbdF z-_4cc@7zpRkmq-xQGz6e1{klOzay-Lf*LBV^B@b!eI8_mklR(>4Mvzb7@ZM>HJ#&j z{LU+EGI=h**L%xU7-}vh;{xirM`SlBQzm3QcU*v}gypLES5#^63VRWzk{go$B20ZN zOiY;6G_ZW?JA+=v9#WPxQ5Muc$T6VA**JvTVMR1^(i$(1<*LVeKom z%ds%65rrVcY8v?q<#m+#8x_1*q+&>;%GEqM|AqE%S*&EoBv*gKO$kN*M#!~RD5Ng2 zF4ePeyGum(S*4d6S=cEq4QAnVQGn{X0SCY=JlT`gQ%h??en%EAs;pAh?3-~Y;_N4~ z`zXHw4^1r#XSB`9qoMp;!tAlB!Q?gyYFRz`d=Lj`b%|}Ucr174_^c+*xHptc1xQAG z7G{=I3dLvjaNI|ccxYpQ)WQKvISx+Oo3;^ko?8oHrHM=#3DkxSS8MXrMpVxUvZDgS z;0@M>K{PZDPGe1sLA?$PE)*FI@>l#!@py@l91Iie&1Uf z4f!z#m+GB}11qN!(N{}3Cn_7aj-t*i+$CH`o_a_eR=j%fJ@|d)`#qVs>Y->OlcHP% z({Lh+yjiA-;HvfSe2F3vwJ}8|muk#JsOdLTG!g0iOW0eg_vuN9axVFjU~0_{Wy&Gm z7_FrUkk_63x`wG5 zU5V88zMcG6qVd}8md!AP+&8a8;`)kAzX~!8fU97C>~0lPPe~XfbQDIbW0Bqn<`epn zzY)8RWhS%!{U{2iwfmSnSEExDlJ9DCt+5p3Lj^@}&|3P*(-_bsUt{<%N5@;2y%Q+^ z?rzx2G{$hTWfRmS?P!9$qk}a;@lIn@@l`VGHbJ!26l8Q*klbu`!O(FLsnv#b$SBW~ zg)8o^taRsZvD9Q*&a{eY!h^~aX1|v(HkU*+}4LPZo|)J{+$rC!7R z!UHWdqz5Rw#-P<$rU#+#qX?tkf+PugQ^an|cBytTAmd9pO;NnTSQVOjj3UqsrM)6j z%Q)$fXbqG*==;y|6o~NR_lN)1`8|wd4tpe=BT-7A#H8N{=rsQf>k*A$GNf zIK3srdqhkI%L`dv%JM3^cq`N)xjuPX!B3<|WdlHzUyQdJXK>S6TH zf;Q-BxVFzIVTB4BH_-ULq9ZK}*XY|Kgfs!NF*4esHgVWXwnc45t&rNJLD;(idD0-9 zB|zd=sbuTACLd#&&Si z_f_c-Mmspq!44Br=Yyj0i8a;(?ScA3p*>LMN@dI|g9FStNMtyBvhKOH$7(P_WNH^2 zNJp_rB9a!>A=A>5$)AonX)y)Uxq?z8-Lf9I4kdJKH?M=^eS&PqV9sihO_N<8%kq-F z*0koO%ImVaILED0@ivjc)&WIkiA)|VF(BhpmJS$CudRxwrn57z33P-E`{RxXYMm6n zO=dnIa%FJm>WG&8J%$D{pjS=q4CwWEy(aJ01zjL=b!NQ`==o!4pcD6GhUuLECkeD4 z#{lIkjGbV$NKhMjA|V5Pz#w;Lpk0?~b%xFI>)Byv*sKt>s_J( zmC4!wa{5Ik5tv*Y>j)R0CCGmABopX7`7(ia)@WI$^JSR`E{`IN&eR}l64tYzh3hO? zK(05G|8|t>;VTZ%qP#AMyDAHD_Yx{62YNQ5>o2lS(hDKuahnZe1u?|~T~PXkf9&&B z4jnQKSYH>E-dcl-d8W+mf`Cs_gwb(9c6ZG|XN+q^{+z5HG-FO?ZGIG9t}&U+T#YCS z=Dc}zOtb4<;SHOet}r>`AH*ZEEXNwZ5k}JlVGMC+(Yqn;xgt|{;mCjteKOb$#diq8 zwG8VSo*Q5Z*K}?GI$47(OU4b*!a~ic!J8^H>*5opr|uZ2X(F>%>h5sdO=R|!0LZk2 zt0~kS)f->K^55YzhZ`}Qpoyw;-2{W<$$b+H9ul&V^1tB=w>Rfhrv|W%~={3Mm)!=RL_M4!ml~!+%B69Zz znYuy6p&E@0M*Aqps7es-34e=+6v}#|r`CB}70Gd57x2nZ>xEmOqOOe zrzoV(-l8#IH2T6pZ}RnpgM)(PGLgy1qzI#=jmnRG1?hGmoCMwubh99pWHNy?Zwf_k zhqFDxHj1-;P{TP(Kd2e+D2wamjEWJaMMj-BDI_zQeg}r%D3QrMRfAmJs<8#Hv8E+}9Az8iJlB*>cC zG4l;ZSKd)m+`4OD0GXEDoq9cscL0kJ!4s8 zk*RJK$U{!`_T1Q`$hQeZRau0>Y<3cdA^99C&q1Ln+WYlbja`u2yx)(}VEbj%GDMb3L0i@+zN1=N$ zr|2KV(^qw~t_ci7Lh<3>XUjTdn*IU#hhg+!kr;+CHJc(hXnH5|3`eAgK2#bqjTpn> z6&V{2uMKv^#4`c}OWX*M$AsAN0BISWDKrA{WPBv?E#o8d=OdnS3g*Ms zq>oh*bt^b95?XUbbV{|N4w;sdP5zOHcj70ixbzDX4E-W95|)Yt$>gKoXH~^_AJ85_ zt*H0{pON2(tmE98QMDlKR177!m0#yK;|mD)+7omgR^HkE1`s8_x%L<2i;$`~z?{ z>>p}v$wqT1OvjA|ofS(>P@F_WMx)}ZW05`vXd(H=0PTxKCL>(*W%R2cd!PFt0*wDm z1^u|3dO(I%D)=CZPZ2a&_35$5p|>k}#v+G%1r1O+G{DI95CSh9i@?2ml})vG4Lk&s zxVirjOpX$QTiSes%rTZ{rEU~@2sVvat#NRd){Q*lfOZP%E$+am@W1SC9NZ;+uH30p z?7)BF4$J?4;VxT<+D?$cXfp*F%@ow#s(0XFkdx$o7-YK;`!o>9c~oSwg*91LEi!eI z5_kmhx^5uPBZxO+pNhzyL&2OqL?+9y2^qKMBk(w0kp29|cpzNC8xOQo&>&TFlMxnJ zMy~zJ30_w%;tkArN{)>s)0bOyX+ZM6S9Z zd!7e!?h%=6OdmyQ>}DTD>5DOh3`Ur!7^NLhv8nMFcnrBozL7kS!To;(g`~qV({H2@ zvmb>Osz!Mn2GJ;w!{F>MltD?6!Dt}`8AS!D6a^-MnB<-W(&3<;A$9MWQ8fh_jTMwH zoAk*@khdp!CS!8La|)ADnaMJ*$cCzmA&#k-5G%+%72c-_lI@2vm6NMeXeyFh zC`?A>lZZKw+)qO5h>*Kvcrn5{!YKXlziS$p#shB}244C!47~9%kPN1-r+8R0-55gy zPq8Y)^rryN{{yWjr>0}(E@jZYJjUU4)|$>*(*cbbNCqgM{Y}TxxRWA$K-Zjs1I|YH zfU%B)Gwv&8Q?@Dww9rEgtfZa4BENwqN3Xy~=iVc#pt|oLC_q7+O%;H2|5_1yL<2ed zip(C-TpSA%7oR3*ncU@>iFSy)jr=pw4z6$h?SxD)TwaOHM7*=f{WK1^qkx06LuG8i zr%@0aaz@Jq*)#bpgtJ;?o#YYHS?Cs+$!Edf5sL7k8t>lWaFKj`IFHxuU~0wje|rhc zhLb6H&kiK{J4Nt>&L&(iFc@Ls2huv6py+ICU*evFl83&xZCKX|3g*D|2nqseH=m^F z9F#=D=c44uQ>tW%*qjTSyD7-1-Ve4BYghU#2=-miBGM`3<3kBvj>9295k8=$=RvE- znSX1MF%Ox}7)+sg@L5U`6u~^iw(~?Mt|zJUr&ZW~LxHUws|~8`I}O3?XWLA%hV%ri``;l7(Xd;&A!MvjA~i67;0n z&^TVeiB{19oM=rst70gyhG^ggSVKl%fVGQ49-@3VZ%P*+_ZSn59{5Em$t=8(Yqf}L zwGg#hEYO}RK)FjSgx*>~>W)=l5hrR0c@`nSYC-A}9~sPayaB?j_c`S*SKU=9ScFJ0 zd=|svJVCbFVmLzz86B(9vYP!xkbQWq4PB@8ujGFbx18dJQV2)qv|nxeR>>uBoiUU= zOMtcux<_5CDp;aA;1XE5`ZtQA2={`eaJS;TG9r)m7)#*~9gtD-1%)tmzr`mE#Fy3s zNL4ohvYRvlTpICf0X!Kig>;%4|3g0rnLC{So6#9at-Jcf|L z2oo8j1{YO?cdK3y1VOHXAftrHNwWc@#f_v;5Fu6xlYLwWS{UIWX!ZI-*^?#CU{pdu zMl%IHqFgP5y@dP7vkdmm3bK0+7&Z{WWgOroWf1#2>%rOOXoq#=UJlew(6zX`%~$mp zA@Pg`36hoRCD_Ay_7X0Z7hZ~|AuF=l;4L%WDUPDhO9)`rU&_lvDz=wZgm>RLgy!UvJJS(7%s~Ia` zEeA#M(K*z*23!-$s|W=SUWJ1xH6(Qj@1$QvDCi}OmI(U6nqvbip@d$t62zz*8x@e2 zGmb(l;c9sd3%mxc{^WiQ^C#}q@nHc=Egs2OH|EqRXsS!~0$EFa_^-!OEQtY-C-maFpo01_*XEZy>q=`S^f@;NaZR&^E7bYQ2G6m6LllN({q0T{sj{5C>;YBfFrw z=KUrLmXP~Rpf3cilWpspaE6R9nsv3(%2eI46a?M36lAjyyE`&M?2HZy(q*+S<^KHy zdDfuHjT$S1`z2FrpoZ%wYoPX>AUt$D8`I5Nq&s6OdDbG`v&gp=RVkq$4$e(3W#b{a z&;Aywa-Q680kw21gopcH>XJ%3)@C)!F6ldp*>;d6ZL}ksRk66YH!th%lO3gLq_;zJYt?bnu%oQ)S|UsDc4%^+VGjeCiLd^k@L9Gq9SP)5{UXVN#L;9T-;2I?iKiRwZo zkkc4x>bnyFo2xHYD%kb zjo6C(niS#UFAEYU`nz!Aokjk4;iO*bznzc?#(Uy-q1IQBc+t1P%gET`24rab;5HOr zAxP$g_qgq!AiknUT?Xa{; zm{i3?dES|Chovi9*-os7&U4?l65x9uXrLgwP2Pu>u`#lM2~mNFu2(aS4w>eiLw*yE zHwv3B&B`oi4n>)DZmm4qBcjYoimwcwiv-yt0!Y*6QnUJnsJD`RUu_LP| zm4AQ-FH8u?wG)q_eSlx`@C)9~;$05^X5cq06TuHK&yTo6$8~DVhoS(o&+-=GQzP9BHuH&b?4&26>>=Ez14cS}I*<)$OZ4`o3b8Vw2 zj?RmNmF7JX$sR;E;2tF#Ncp+^;K&|S9;?(IR0-=g9}3C+8QfM$L3?HT3=v@jF-pi& zHilSs1A9TRaO?#cCB(i$52We%I*`4HCLk=Nv_6Lx`oQPV%J3_>)hnt1>*H1n%K8;HLHh@qXxk8D>GR3Tdd4vS;7!IT5BipB|2E+A?Po7 zw1jkgLI?AG2_G$`+B zjaXUoMPOxtAh}^|Mo{|_k=?5HK~e5gQ9kX8qK(f8yhXV+n7Y2=9>DbaVagLIzcWzq z6`$sP1u#W`vPs5QtagOem~M}ufg@G|+(!^!t>MaGvh*7uXCsj{rph^dF8LL*o_2(y zM^M#vBWkK@?RUOL`B5T!TWmnaXBJ<>e3N`tT)z0`Ccox=MkguAC?Kel z+HMsbRo(m>ppRngk?{?*rcjVkwV)|h6oCqmh2*XP88b2_W&=n|IEpu=uxDI>H>LQT zJ`WC3}1Ipk^@%1gVHd6#B{>=yM{(BrjZIXg2v1CBTSFMi2 zMunikl>a4vfz5X?KZV@i0cDR?=H;rN@g20v@fH-&XhG6aCpbry39L_@?sh&P|m zF5@YPkIr|;D)U!R@ilm?JohB-4u2vt`&RQQ9zUni)yJJeS3f7Tq3Vn#DBiADR;*V- zkdf0^i(NnPh&v69)DMKRaUSQvfj5mgG8l^Ox6Sw8qRJaleOn3c*9BJ zPY7_Z5c@6#Ba?!RRtu856xATrc)bZB{zX0W{n~Bg;!_cc&o_N zx=#8pD2|hnUr>C|BPve0{cHj`=ZnnlCg;$X(Jjw$1_Zq)edHXfkbDv^JE00=#w$}( z)FX!uRznN^3bhJBs>#Us6#-zBGV)ANT58h}_znKkM3kXk8z}e{hOnpm4W;v9N|VXO zANZ#@52D{;+a&kzC>@9`Z2&n}#*`+Li&s;GiysuUP*qMp&*S?v`Ol+rqb8~_rQ#+S zFR16C*78xi-qsAKUjV`ac>yRSNa}4e!rcW%2L+*$)|UMuoW)h)MJG6`^_a3K%w(2P zMNwv%u}uF1CP$F(511S!Na8mcVUxn>oS+c#wcxy?TZaA)w2w;v8i3izD z?s$-)F$6C`A%gN+h@dnc5lj)X~P+h^2rPs(*v($#&ZZ$G%ZK?xNZxOvD-2pO9|C#)C;Oc}h zYtle};PUZLD)&#x)0}ltlg;F=o86PA9~`s{d{akVXm6I1suKnhkSkoENZ>3^Q#Pav z8jNt-#ps+M)dd4ikV0}hL6$#dJFe`E^HGNrj*BSB$TQte30E~x4`Jqr$Zl7b-5OJj z49KW3k(;OjgxD!uw3Sgz`WoE0KxkOm_xS3p`{T#Kro%@6vx8zALH zc$EqVT)V`9+p0?CL!uOY{u%pF%C zPRo#5GCg_dh_BWh z6@;w5jSwCZ*$AaO2(j}6MCDg=6E}jJzCtm9aDWAk5MaUuyl{m8ONH6v_iFgrTH`0* z;76mbM){lz6y@^AV?F7OxxX}lr*VzpDQ>Qc(4MM5u?vVaMu;N?VUSxl6dPmUj~AIe zRW(8JLcE%V;vqpYRk^rX-Q27$xY;DoZdOpT4eW#pYpt%?-(tz zUGY!bpG8tx--vWZ4sHaTq)S20~!b;l7=vv3#v=j9Fco1 zinp$jSrsv^MMc`j%1oAZu8|c#&rdJ1Za0zP#ua}_Ty8sSVfMA-8Vh@&C|}E~w+E^wUwfdTg5;Y?Od#iUk$F@C($QE6iR4K~vI@zUj@)_ihX#~_L>OBYsz)-xl+&=WxsI}Bk)pS z2N>KcEK^=-?})jfFoWBrBiiMRPMsS(mt&9{yW zB($7@K=A{MYguo120B^ka(6=UiBf#8Wrz$QEdlTOb;5YpSID_`XAI)oAx?K8bZ(R4DwBa65QE$~AoJc(@geg2 z_#$x*ngmlEqny?M4n5G7gX_k@bwzOF1fnVVJJSog@&@h(t{2m}LJ_+4h2NlBTx0Td zL+Bf8G}Zp68(P)Xm_p3<3BxxkS$f@|mjS&Sz^aAWz2OE_qBmZ}LZsW@tf>U2zdJ1A z&!Tv`Lu*{=zbioo7`b|IoZS&;kx|i}Z{noi!ol5?ovtOUr|3=D zJ*bc+={Fw9qXeys!X3BX&NK_>QV>Gtd?_xOz7?d1 z+_!@GHz*(b)uqRRTM_OQ3NlK6+eX&O&TUW{L+;x^{)!=FFhXFA_H9&3535|fURxad$ev^yisx=qyTZ60z*$et2aoDN$0~#+# zRfo)e+_6(B+7Ce=6_%^6E0^_y+IaHa0X6St2XnO~e}AwlVG+?|mH|C5Y;N2Gu*6`yhJ!P1yYe7+|I7h!UQQ7pt=)F= z41@yq0RvI8-wst0dE+~CWdo2KY@Hcx6(lXH|A&Xp-CXN5x?wu{UKw3K+({I+HxZ;J&XQc>>5_mXS#zW($PLK65yHO(FMi z7;OCczYUTBMCBtmr^Auc&O+50a9{*XCS;Lk1We8pgzWGWk!8b?orNNkGhma;=VVco z%WoBC|3!g(WTz}vX0U9x$n0qgGRGN;gh1ISYb-<2bE2Gz5?aT7WYGOg&;XC)gJ)Dz<2qmPCfuE39m+7Ur=XVPSZ35n5fHAsD@>1b47AKt$LN6!MH2EJ;v|ek5_$=pCyJmLl991c+#?9* zO&hpNjYV8omL38+QG?XU>qAIFGF}OK2$M`)1n*hln1$;&k#)#5_Eaf)g<L}t%UkWnFPls*QH6*2Y# zk8_Wi1epFf;8B70ZDdd_?j{O7j?}r1sX)}68<+%7?L?%`zDb9S$|rO8n*?Jw3zeOc z3Cf*g5-K%QkbJ9yJ{brT#bltcAbHHpWHbeDQvrP~Nd9t^J_RBC6e}|zi+6l$UzOq# zN#Clt@dPEG-aG+&3(5Ti_Q0dZlKv#@k0IZau;2N(9UKcW99ejyE!3yMYwzPKV)1G~#^>YHkb+5q z+FRWy@D$=n#uuSI1)s%&R6WUHrr$y#W|xHFPVpxgjE?CTjM&*vhsCD;vh^j3MB!M$h(ca#}`g)tC+8x7QDa35n@QDf6exxuOo(+$9DPuLEv`NaU` zlOh9M9#Isa%9Q2+aMbz5zkH2IFLnY*!gVGIuR4(!qG8vf^Vf3IN3}yb(*0MS1 z%?Wpqe=a7Zr}5quH_IIq#Yg8}DVi_ zY8&?=IR8M1%((`mbrfWDy2hk+cE1<|C&G(C($1;qWU(_CVU}VvQjl8g0xu#1$%DxA zB67Qyd@rIe>4Wg97826-cV$F9g%DVxVp;+l_rwq~812U2Dg&Amg91xI&f}#mkgyQh z+ZjMw+C3Cn3RgYP$G8eW3sYbKT93pKG8pZ{UmOE^Y0fs$#FbJ&-LGmnK2xJW2+5#yN(#^6*1|zf(qho?_A&bB4+OZ5hrEod-qh;tR zf7MWHD`YG~FLS-b{fMdO4;72_qvhNM8Ky4>yi1_nm6*C-W>uz>grbA;_bC=EXSYn# zUjp4IROSKWCB%y>Q!gRjeX%}Y20`P!3{v}&iUwcpa1SP~f|rrc&3KawsJ$S$|ku>NGq3hrLR$iD(jerH^5>+Let z8^~M%wGk9q0ks)|#G?Kx5cbxu0+k4o=Lbzj*jqF5I+Q`_4*E*&U&G125|#E-a3$_6 z6|O>CRINl?+%JVu5&qVrf|Zzi9ut{;>FYIa+t;~mUxUU5p{n%)tGHV*OkV}KSDrwf zbc&R4omr6n28xGjisxJ3C-x?9g&1tA0oK4=%}(BAt<``BVjvkzU8U@V=^3FiSl(n+ zhUsqtwu=9Ey~$weTEnVL`wEqWma;0t^iseF1lkE@>RQXHOqazN4y<8ShUsencf{Bw zgQ@E+R%LoL#&BRQt1?Vq3wTv6J7DXN92BhO1!f(qg2s2NRa<>Yt|c#IdHP$>8Z26N ztZ%Wy^{mD8xf+|+infj&GE83wxIv)Z_)J|JSe5DC7{h_}tjaKbJz#w8*jU$dtZ%a_ z({@57xf?J{Omc6)Fu7HT9W5j5PZ>Q~W6}!sZIEhmzYVfNh@8wDKw1J`t9=^-xp5s8 zh)hEpp|uWw?+ZJO{&=Ab2h7PhI6p~HV^@RbCk&X z$=2r`7{*oScVKFrpa$y8KXW&s_;!&Elht4oLQKY+tearISv_SQa}9qbUIEJUHN!AW z-6;sBtOstwn9+ucO#a4|$+GbxyGAWun-R=ha&Lx(r9yDK5L*^97!^^F(MdsFl+qU1 z@g}NJl!$be<%#S+>f2xnwjew#&|6@kRL~%0VJlDMqw(j#P^q{iWr@@cXvbDwpGQ-O zS)nkT+*n^)_%1A>Dc^;~3PF-q<6WL6$57~9sHN9eCe>B9z&6wbYwb2@4HjZ+F*5L` z8PEzrvSoV@WH-6r134(f&MlDhn8@thvg|jJNp82pLIt_E!$Q*rDxiT>c@~?~g6*is zc?vRmSdhB97kD3bmeh!>KmF`@AKhZB$Vl23<+L=sRs24xJKzdsT~#Vz!tY7^fiM_< zNr+s2G=Q{>u@o|)^--)=8MJzny9`=aB`bTK)UsJnhG-X3kkQS8)BpSgu&hh;62^!uY-=`>kvq$-mtH0)_u!LER(QHA> zBm;Ypf#k=@zXw%LZK~ATs%>A{XV`&N?7pysl8CEZl+uvP@A-}y$BvBwTyN&SIEAq_c^r2lkan&1}O@uF-s<+ zBD})}lqm=gvhbG_=k7y>2LB_orrCWczL|piP<)CY=^Oh&&<*#41Y!u@U_-arC^Ebx zvWYKaa&hc7x%inDDkK>o`T-y;K?i_FdKI#7jR83q$H)R-pfpaizCh_6LgX%(0pzTe zsw~`~&M3;hz(7iVlA>QAxwfLOqeux`(8u<^w{;e%lTxy{wlUW8dz#RGHK8)Uu zp@M_6cWXO6sc-Nlki)2fKAob6VP%^znU(c&)OerBu2J`B3(C| zQ8+252&0f7nVt2oP-m|}{;yDzotLRG%fZ|0%#zzGZ`Mi$Z%5z_!}JJD_7WtMg?R)C z=pQ2sd=1es5!rcS*+h}qH|8M2_z8Xut8WRCJRJqW!gdryOH-kQ)Oa+2wB!N`9YvVS zh2d7Qb<^%BH&g+6z5&}MY^CUZ1Cx1pX$>aFUaL&1bF)ANLYpEY`BFO_GA(W<`72=Q zjIfUKcxwe(Dy5w=p*nt`5++87=mzyDZf+%VhKZvR4wnnUS>jE6jp-QAQI(jZ&I^z} zuOG9T&UXwt8SRw^dyWFq5}u~$F?8_f+Do_Bzl8!u?zgyf9I%BZ3&-I7HT38egM1c$nG38} z=hzg0IVXy&m%4Q6_yIj(qsZ(W{D4R>RDM7t)q?CCFv3LzM*XgjO+l3vzpn~tmLOXT zNK2bX(JD0jH`m))_z?=@@v0iKaM~7{EX0%vq4PJfVrStDP!ajgp!N-MgZd1Tv6&+H z=scfQlLUT*JohK`+jZpo320n)Yz}@x4wj2dx4}P}7_x%jdYcEq{gm{7Cop^Rvy|a84w&E7xuWunUjclpOQr7~CLhAJ9 zDDQR_egVsX#xJ<3a6=A-aKxk^`2`+ZcB@H))tAq4pbN==4rT(v?BM|B+$A!}!>bT4a4F3?sgJ> zhb4^K-_fu=x>M+P)Tjh+n89%0?y;3WkCG<&&SM6+AAd>#I^ks zm1t!PO%|fkEbL$l^}is*to0X!U2UNWq4VaRDlh6Ha^P{EZCXrPo+OT9)Q^!S^pN^>x9YsS%*;EH%5hoZpE^nF%<$@Ve!8ps+tz zS+Si0Imd|1cFM&uP`LO}LFoMacvP;|1@|k6{92bD@fULKcGX~{Rxf2(`f_|17uE#gwukliEaSU0aSn`8AQKvVG7%52O9aW4cfA%6+MyOuvzzSr)eV$du+&au zQrp^Hun8%|U)So=!&xLq2Co6e+lAU)dg4!iMfk9e+;w2L*DcEK47H6esDp~eg(y@9 zMs^5;5q_+T8J|zqh4xXr6^4UJK^&ZS-lmK^WGx$k1UTD`m%>m0r$RVrY0D{;&;>Uk z>vc&BIFX_}{6aeaR>;2@{98HyX5u%#LhJ0(Gk$y@TngiF5Yg*FXy9*WLAcNsnk>Z0 z0EAqbL>xwt4+rN|p9;q(yZ1yC#M;5=3%^2khLeDBVv_{rA$WlcB_152N=Q=cqreEf zzy)$th|FXLBP0MQK6$8$G|&JtoZU4*oxMZJ-=GV==xhsxaCFWdstjMPl5_?7&T7Xo8YqGiE*DbTw*&igNL}f;!4c zePhIc`KmEcSP&jd;VWt;kn<;z$@dgDK^zJAqLU`5d;5vX3HI)Mqbj!v24Gi_*%Jtt z&pAv{F27coj6mH5&xPc3!Sg4v$OIyn2XjW13v0P zHigZOkEsZ7qv&&-WjUH5)hF>z7SP>-&4I=~ zt}M#66@ytqltRp25~eQ61X6&!QSzh!{Vd3y&%vC3i_C5g$apWGg5VyTWM|H5Y`q1F z&lK6?RC$E2r?fy_aC5W;ivM0y-1?d%hZl*iJz1F$>$(@wq~RNFy@+P2Fp0(lbIy$^ zA4o+obIF|w>wgJR&!6CrZ2{qVNk;9a*!i`tmbK(W9U)Ik_~(E!`R|UD^sQeOjoxZWL$@lL=pwr!`Ere?mnf&zBj@{y(nH zJx;4>|KrUQna6b`nP-qeYA`ZFO-bz`2~m>FOd(0aAcT(V9zutZOMA@>l3OQ)5GVIN zu5mhqFf%8VYd<=45|Z2R{oU)chsR&@n(upkFYCVcdiL6@@<}?+Y3+u)5nRB9 zySjGbyC=xC^e}h3;qGQp|4vTSgHnnm8lr8S9#jG&eGhDPy2wY6ZsL;MRhL;e>4B|W zJM~j*&%V4|YqYK>v|KcOJFX`ou5hhA8GDBC1;4UnK&dISh?O!OCCl(qyoY%yvxr60 zcb9gzkR>DJWC%i*DdX!byHhfqF8*`O(H>UXdt$774-2^+Cbxzb>_N!I<>+# z0ok>pJ^ezaY9Cw8ed22OAu}bR4?#0$ybq4b^JGzPL<1$#<&FU|+w$to!r?MbdGTi^ zr@V+{p%QA3C)gL|7bQzqW5{gfurJ9!6zb*g`7GFvHqo%ZwV3^A6Pwlh;56wp@5?xp zlPsOL_QTj3?&QMQNFn7V*dN~$Buo1-vP|ixu4#Yrepw!i`dA%*>Pq@B88_6YPYg)2 z_qO{?ntY6m9^cvrpUZ{xRf?c5hz{HrG~o&#J(nWcPr=Q7Z36ntwe`hy@s*y<)5Khf z8g*I8Vk*8eU0);2E>S|iMvD58E_S(onBQocHzCiVA-2yA%@A6cwBD$H5>u`}B)BTi zZwShieaX=;^1SLQ?>IUDzw4AxO*252so-6@0|>t7)!vAIgU-b;TeBWO@Kdf<@WFt- z#T_qC{|oKEYt#Q?{>#pik*|^xhz`WYJeNC=7%#uZn}5icO=yUT$x!)pk2G%&gwWpy zLJk$_B_%^l+J?>-^4AYXgK$1A&yEX_**bU-spkkCqn;1Sbokn}4I<;~#L}K0V5;-q zeMo7~N0zDh+BF5F|4nSDuZJp7>1tO}#XvLUT35?oTiaIQ_1bH_6<^%ZLBtbs{tNQF zh&ogV$}W*iBSCD*8(ga;FTKti(nt^-3|ir84h9Vo+S3)ZW1vPCO@BBYTj);oYcn%rEV?xNs{?tFgk*!RkX&H96_sV61qyoWGq3U?Sz&Jt1E4nf%&lC9R)1cwpRDlYmW`P7@dp>#4j5=$){E(0wQ z+E=&3AIZ2^xYo5DiT@5ado{J@;3&LoDVa=#$TFpTZ{;Y`j~CNYYdBsean~1Kri*Zm zrQJGGFrqKt=NjI(GW(XmZoWcBpt9KIMxe4zByB&2s1QRVZt-!c{TyvY_MIy^nh?6) z>d~PpPGiOET$8aA#55j_#NarW8;QY-MA*%;Z^qS+q`6-unHpD2a#uWx#z|uy zEo{@MtF^F2Y0P#2Cehf;<%K;4g@&;xl#fASu%Is(7ececB_r}R_QTy6i~M+t+%zr~ z<=B>eyRK?1L0y;U!i8fk8z)#c##%P=d_>1v;kUa;eoe1B9v3a9P2ZDdT%ttU|ImkOzNgA+-9-5(B;2?d!=*C&$v zWg-7lUo?(J*MSfIjH6*?8hu#lqTX1=k6b4P+gprL2aC~37^Ewngu(G5TFZxq=t_nb z2qlv@H8`FDjwi?Qpxc|gFP7~|gyYd-6=GGY{mJ;McDV_t-5}(%?7|6Hoa`D6EfMlrj!uCvV4ni{NyKN^g@!0XL*=*o zFt`yjYlF`zRCvRwR(%txzR{vQ@+JG46QRYEto<0hMD#GfW;xZ0c!MiBl^nb(RHKm) zX7lfy2ETAOysLBK*plE=5$g=Lg|B&Ay)DrHimO&km3!cs8+q7L5fMP z(a8T_>*NW|Tj=T}#7_m|Q)1%F(CAV#y2YW;; zt@iWqHrchFhspPa(wt2JO?Nd@K-=7#dOOKJaNRtGKp4{u4G~JU&PR&}i1R^LwrlzE z6x6YpbMF5+zwd$BC;y^%0eY0<1?YYE7d=CiqoE%6`9Kczw@X%CNFbEsg`ks#C=r{3 z64b&`H&E2Bl{~cuQz@*%0#`eg0(rMxE&1|H)l{3l3tSs4(`l|N`5TWWlU&W;Ftfuy zyz^ar?~VUv)6K;+`_+G=*$))$tI#fDf;wNa^u@l5Y&0;9`4^#ar|3{WP+v?`9Xh&_ zi;3z>A-y|Ne=$*2baYLyj>Ypf_MfM@Bq_4oC4^Qv&xiK71{Oo(IOGQUT1ZX*Qkwox z5~Vws$TFoHx!OzdeAfNm(nMtv##2J;rC3@f#Ag)j7m4OeDg4E*<}%Q>4|uKdeyoTu zLu);EgMp?BZR?M>S6xoI+#s2L?+7m^s8=QHtn)dRuBBa;>}rK1`%0pxe0%}2Owq>N zCq_Np!@)OO)YV&^ge-T~a*Y@vY(C#dH%z5dPjstXqoHb{O%oJdfrs%Db0g z+#*Klgkl$~bVyIDZM}j~^A}FQ@rU7+KiRt$c$dRfAXi!uZ|d5v#K;=4FO-F87@>(x zL+$-Xy_$}U#-L2mX0B}-YDJHEmiDx(V8Ldt_A1zsV(HKWb1hd}FgH ztEjj+uI6gCDHc4ou^ZFMTD$pb-=`5~W2ILc2(C%WtL7R|kH>uw{>Lj9gR%o8)6UFv zQit3-#%5y0=A3yWyqQXIf?oQYjxY8}NRs^~-(c`}3~sd0J4u^|$p%Q49!*0=&u{%Z zCJxI-!L>FWT}S5Yt|jxMMUPgML0Q?fUW?*9A!<6gh4?yZx^N3udmSOaDwb{sUPlZq zlBp}rK=ehP$OR@_CmG9%WM3Frrj(Ca&A@EQ6FzG9nWps6WJ@K}DkVl{ zt>Y$KPh8|(Yq|<<2Jy4q&7c`VTk6tfBx6p$l;vK*EmomLoRuS*wPJo@=E7Sr z#d78rOzrxV_o8LVt>mHiQ(SSzkP^C@Tj?fqp4Ly2G0@5dVRpgOUM=k=vp}m{%`8yY zXFN)~2`F1G8Lc|`87`s|u>BobKk4jhBVr7dM5hYk2#b^iNwOdPVKI445AE!_KP)B< z&6$^Hz2_}>`HRQVW``I0iNi#{c9hJ=L4);^M(ZaH^phc?X+MElKWRX*L8zN=8$lxl zRJe_+Z6xF;#nOHP%Py8o{iF%e`|TqClSdQbehy;xfBcUvuV9%JK{^7Ege66* zq1i&)>OAuO;fSQIcW-@>~zW06y_s}@jRBM$ zCYc(;qokhca*z5oB!9AVlpt*jmVzfkL%+4#^H;DxMqB9ey7!T`g~y0@*y}bP49ryS z;M(|`tx+1*`^24$y7Mt$22$j$#GisEjr?Vl9Ri(+YoFQNb|y1Cj#6kzER z*Ti3Y4qb%liY4B3TGdbCb)Ktv3KR*YRSn9{myD{hVW{BgzT0(NvqViOcp7CEHBY15 z;oshFTIHZj=}xZgX~H`}ES&?M!SEEx(mFTUe96)kz%z6lYVjG&Kh=)>cPT)w`Z=rq zXQ}>IMbqkkmbe;R>$4~pzv<&jtN%IBVpsDVsE<%u{h;hn$yEK%BO0A2a)HSvNS5|~ zWVTcEJXWt2Qd4*V!p`CgkR9Igp`=a0&~(>ms8UExA%?I;7(?C>>Fm$b)W`If&m>E` zz9pw8Tk>6&dLL;^Xa+G!H-jz{N}oeOuKFd4aCI|9cwIgXUWB$7t$PvLkWXWy)i0Z_ z(fiuzU7On`%ZpS_i_yB5ppUgvznSuq>AqsRMqkLM!OP~?Xx+=uCHXXlW-9q^;LEhC z)_fMcLRLq(npeo`7x^eQL_;#PPDnp_2CsrxD!&Sv^tLa%DQ@Qnc-U-yg&tP6t804| zXUoL~Y9aX=YRs>%p;q#aSEI=!Kcl=x4V6izUp^L-dX>v9CiS@X)cz3*ls!wb^k-OP znd0uQZ845N5nJFN$Ai}~6>~ZdQ#Zfs9q*^v3zVtc&9%Lb+N)w}Yrz|+Q8;ffMz7&~ z9(xU!UuW-@Y_k8Z(ZAT;Dq7~ZW?aC3Ha-5!7Wd1zK`wceXyxDRFCTb+15^e}NJ&>( z0;+8BC_TMrXayI@fi4nyTU!4n%A#^t`){H=qSdRV?>HIjuooxsV5j7>;7u!(y1GRHvXdXxIK%<2G9Yrp92ShEt1A0KHw?2sT4uc+Z zrJ?0Q`~aCe<-beI`cks=Wtev{i z72bq?Hi?mCiup|A`*`7+`VVM$tSI=CU8j`lO7RCa9<|xWzrM%WV#~w*xDJl2Un!P8Zns*o?B{A*VGoE=FV;b;Os^6>W2?mY>A%G`s$tgp z+ie&*dpYA~B zsz0=0Z#jjqSacWv+0Et;`|jyh8~92fJ<<1}seNQ>A40o)>Ld2svMz?Q)@c2Z5XK5= z48EmTd=LL^-3Sk)KTi^i={=o0yQSE6{yVD}uX)N$PBemN6;O1d>J_bKTnE8RJ|M))&(GvQO-Ojs$P z^}%OE@~uRQBtT|O=rhb5@kJVmpBO)*buH%j9q3%45?z<`IcO%w@8~DA8vbPGD8)I+ zz!`l(i!Q3o2|Cv_N3log_;O1esO-7g)MjC@qjLL5p0?m!P|a2qW1U|C04x z{G|$H73t{gt4Oz0=_n8ziVFVE3S<=pQnkv5azs)O(f^?`)aCvUl^G(JsY4i=$_YHs zrvK-a_&vf7ofUj#KVN=LGcNy%W?U}1hg&&^c{rgBM(0EMFn#M+j9`WRxfzb4n61R= z=GfQth~ocR;;%8aRCFiZ%eNXw4MxjXL%(fzl>D4qV6^xf(=}T1l@HRd9HakYxW!=k ze}R>PD$>ws^|z*K^aN2q7DV3|Tw|)=0A~oMKfOaYZIEo&4sJnNr;Xg)TlXt*F~pk7 zH$yt~6Wzb| zS=ICugEB=2a7>Q^zDR5z&ENk+ZL+KRA8HQ@aR7H08b#IrXv0jChL#CU)q&-;Ae!7- z(6H6sS$`de1!XD*aAFTMJCJ@j7x=c%W-rhqG~FQ%{YdJIB-&aoO?I7RbY{CjqUuNLs!_7D-Of$+E(|j2 zs`W>#7Jlm;rgP7FOmvZKS8p~%=8891Yg}(_HBTe@35CHD=?B38nQJhGx}Q*(D5|HM z*feHHrb8MV%)`&tq&J}Oq@X6A5X!*OxPfqg6Y~8t`k6BBFvyksOc__K@j2Pb?^#v- zOvVGry8E2OmcE#ewp#iLVw!A%Utkr3TMfw`2+6$R=r>Z&bGhG0eSLfCWLv)KH`?mc|8pgu^6H49yhso!8&VR+qJZuFzRQB_F?$$Qzp#R?;woSxuD#vj>ZK zLs3B`UhF=L@`6f+9YNJad+sG6Sq4_demxWe|rsb10Uz?e((Xs8izI-+{Uq0ZgFe@;o4i3$wV9RA7N%>o-r7d%}sYp(>2=lhcv%F z<}GM*^IXjqw7LF5dJ2dQv6*b>*mmS+!Yx4z_FIA`3+bCLu^}F%3@sK)2fVGU1d1%q zt%&3+Q7x-uqb){P8}0I=k5hdkD8eiYydunw71HV>HpDam>UhJC=@a$V2zjvFn)DAV z{Z<;@K-uRcW2&^b-a3<-y~EC=-haJ!ypKESYdc8Unc^$%LRj-V6V^mgJ`4J=y&(p* zm(jLC@yb6?^5WYz*qqF{MbMmfn~AqBkm+1C2YFj0eeuoE9M@=Qx1W3&A)cZ=L zoCnA<#fP}sZ5gB{h&he1#wrfsnmO3df6?n|MZKL>L|5`uzQH>pPsv&aYBkuE7!J!v z!FCue9O7!X!{|h@v>J?+4&f9d%!!dL`{q#dc9lH+p;rw1T8vjSm)XWuapiW|pYm)) zIU-o#aycT{<7XcnE0CmA4KdXl3Wa>ji%KAD`jtRhMA9)C_5Xgfx@x0AY`C2gqy@R=KyZ{;A)AmcZk?q34A3>8>47 zVnx3rWYb^0rxUbh0A)H1<GqCrbDS$y8h6P9%>xwMg=^-+WLyA6yD);lepc=ifcKMBy4@f--c2 zkbh*1b|#`(66pacFxfql>D{3aStdB#HSJ7>i#v2mKCFz zwd!}FT<9XZ5X9&|lH1GT1-p{bN$ts#JK?I3*&=vXl3yXz(|=VaK}%h$p$CNC({@F7 z8f=FnTy1ya3=4dmX-RjthCYm2=_&^nEaChj>K`eIcD2LZh`V@SOjGdrXOTJ&m zTTDx;2Nn;?xY{0A47q)dB+EOdg=6D%)Dwf>NVKP~jR0Au!%?obCoz_6?;!V2)59x!WDY!}9K+_l2|{7aL-xFf?gnA4nhH zUxPhxR?2su_rTd~G5T`yMgKi)RN%YM#@30+WUwbD8SnRGP`|oUr{oPb7n_i0Glbdu zI(a{%{HN2K_oSM6HY*2h5E`zYQBDX&BV1cKZVunXtED^9d%=PcoLz)HFSfVFL745U z?1jm1gnFwidZE_gXjj_{wbDXwveB<)s(O*Dilbedv8Tnx=rYs2EBT7n-j$Wvu34{? zuJ-q~V&cQrd!sZUp9K}L%8{lGfl)`c$HI@*@P}#UY zT4!zUwS4=F`aoir>jSx0WVC)E?t`lq*Jx;ikhd50#Z}?4uB0!nW^Cc@G0fXdiuHZb zn&cY$qV=GV&v;actB|YdARV^!N@{_jp#@w`2O1$X#a~%j&<}enIG6}}SxD_K?1vU* zVQ8IDZ~u*^g8pdDak>7W9$R@|YJLggG0;#fMC-F}o7Epc>nlBg*0)2E*GYd#J0K~g z#sknfs2wH4XTgA^lyU<=lZ4dv!T~h2vn5MM0%W#!u;c|>dnf5ga3F{_cp#`!DBb!n zG|9CZx5BZ;uj#HQ$qlmI`IT}^<=>TSHqbQ}m!E3S2I0cz95(t)4~R#D55MA*|}{`W)| z!)TSQRhS&r#haui?45_;Ak+%SxY~nITOgJW1u&Z@4npnyc9b-}=7R{5LGfVFFG8F6 zTbr5>X6oy>t@om4JQzbX$ibwZC8D|r4XxmsI?xg!Ul-9K5LQu#Kz8Z+XLBwDWy;37 zrb8+Rc3jxi*F`jh^sHrvkp5kzALU;pFBn3!Ow@+Tw)3WZO+<&H#ER%p$W##x$RQ}x z;ds|{C?&I6%vVG-6fL$0hN87YvA3sc2o1$tR0ldrNWbbH23fBbKZQ~KMp75dM>8}%@oqQ=Lq@$U&Kk)G3o;WvP==*_CA6v>|WxT z3O%vz7Y(l{Y?f?ybEI=9n-o)k)Zm7ztPAEXlu-Cms_I1)F-d=TYG+?=|-ccWeq z8><+{(Lva=V(JCKQ5a);?CCA`%osh~uG**1FYch8DPTsP5 z(kOfmb-7U(TrRSc#?(04nosC4swBrDj)=9icWD&$6>H&7jKXn zu(w(2t8G50W4X5w#*!VV_ws9OH8jz+ zS^D3^&eJGZOW3r;TEaeOS07sX@SLi_JuXP`T#nMwFy^on~jdg!Ye{)#30vj zqPadE*Xu?1mg^HRR<@fDXGbp!O*TX_e@xBA$ZTdi0S8lr4w8uzN&ci{2l$uz>QAIB ziugYEiIl}!G2g$Uaa2?=iSvJq)<^c}%?MZkX`-s(&M<-eECN4h-@yYGU zO8mbWupld(N^_e?K#H&0+9tdxvT^w^8t zRi`8~QOzj?^pFrg@7tv!%^;5Wk%!f%kcUOPtDu63mh(x->n0+9DV4`2Z!r04lfRkD zgHx%UR@vT0dlkrB@oA);e=4Q7x}7Fpo++4Qo{g4Ig8nX=zG5(mGMvg;KSIv!;dAJJ z_KHq}%;b_fNYGA_Wkm>bEvK8q(=a(vR7W6BC&F7L8lpCZj4`U_bk^!^uF?L`>G;#} z^F7jnID@h-Jk!;lK|5NLN@J6jp2@{@NPkYHK^-nS?dhXcmkE(&D$jIHb=1{hvF8%^ z(V2LkJb2dt>HqM4@vscdBP-&~}>qO4mG@{InRYI|n*Olr0VWW`R*F_;WCOzEJwJ@wry~lew#o zXl`$3Np;6CS3SjCp3An@i(FlYfi+5`Dh|)HHere8pNHo@d;6$6`=Xgb{)bAGj*`f1 zkvRoh6NFAu(HIIj$On2wXqKMy&j&5wARnlA=r$JI;)jS$iXTMWvcAekS3qrZ`Q5qH;-dQQ6`-|axzrzJ~wLy=`Voa@^DMkZFb zTlddY7coR_knA00`XbU7pX-_~BK?xyKG28#+P&ba0yzIIPXV)XFJ9IG`QTQ47hvnuE?d8TxdImyX#Oq zvTy1x*|@%pGFZjcb$I(&WR!L*FT>wRKx?H)Kfll|xPpwZ`D>_TfH$aDyRJlu!RJcIej=KiLqn`M4PEeuQu5Nq zG%9*S>nGcExw>*sS9cYSyi6e7 z?YjzlJZWBqy-`B!SM;>!=c~xhOb+jXrU)3HBi}cpYYDBJL}^b(M&qlwmeiH)sgrBi>aV5vhe)QLd>yIBx!iT6p8kiS zr1Y;N_1%)CJ=u~|OqTpzq4a@c2C=kBrV%YP+2?Mbm=LodSeBE6vcV=^nxr?bg65)ndb9>n6^M~u{x0GFhAA= z$TDS@y4qVv-s@l=uio#CVKzzJ!YK2R%iT%nF6)(c@}!R9OCtM)wMT~wM@yLPP3cUV4eC!Z@t)0dQtR?oJ^ZgkVbd=MJ^f;;fU2y+LXDuf6fE60TFD;rpRg&oGa0LMcanV0;oiUA?GEq6Qs^2DeImrizw9#4 zded6qa&thLBfOS>d(MS(&|2&o4V4OM6uk@gz5WpO=7+VayJ%7aB;z%}2kZnKGTSJ; z3kws4>NHW_4PxfK8}yD4gPMIwx86{-Yc$ktSXz+D3gR9jVh+6rGFT*C_8FSPxjvpg z&K;)p{=LYk`+G@#sgm<`=H!Q9L)5*Y_l5kvLUbS9pu;py^wDAuJJP$?#1_J`)sm$P zeq_{b>wQ>SE~NWLtLBoCd7S72eJLdW@m#bR(+vejc_%v69Q*^chGTu8tAyk~24!!R z>2T|Phw1y{S;2VhIZ(gR4a>=%;xb3)OBh`Jr^O=!_-c!_9o74_P;y5B*S717-}R%e2m?>`F#@m!q@1Eh z$YbSnSMmrW?-R%PqIV%u>r{`BK300)CZYupw&507?4!ITZFPm9Owr$6(*la?dNChV z^e8diF3~i74dl_J1Jyigzj_=i$1w?Q7Z_n?PkxFx^tGeCts{M@7c8_V*M(G9`9fOYKSrm;un;?s zDXp4djEvc?bs=GoIIfdE!u|xtORwYP9>&KV=Z&i&#xUDCeu6xdR(q75S9=oseI!fI ztC{R9$!Lhlk-R5u88E}OJ&E}_f3W1~@}D-QFS4fgPhx+kIxR`$HsAjfw;xJ{Z3O$8 zbJZeBe!8n!L?QR7;Se8%Oqug<_Wl|lAO)Fx+v_Qs<08p4l!Q-N!C&v1o+6k5wLU#N zO}3>`@HCcLc0P@%LxpHJwh2{lh|L~DbA)_VM$ZuGJnqJWd@iDj3_;m-lBptNOHKt? z@(adz_vtr;o~0~`pR=-fma=$hOj;Jmvu`S`ugB;)tc2W>$8T6DrRyK9&E@7J|N8r%{Zd)n{o7%NLr4d>|)8%DZ!F6 zgpj=BuoG2M!HbwLZF@M~N-aM|8#_*zz;WxQ9V++I%(Yw|!QM)5t%}e#9Wbw%CAyU6~=~Wz=lSj?Bhv)EqL9E z|5jJ~Iz{}tSXz#-Y>Q;m{F|HwZzRQ@dxJV0J3+3)H?Y5evv}A)b%M9APFV0S(l2(o ze_2L^G@ge4LTkNiG_>(4Udwxqmf*OHMCybAvP{`5uF50ONK922!(79^tw@$oB%hv= z7RkS{^NrGKG!2p23g_SSztFYvCsQ1`k~gtBbD|GI!)W*>DTi`AkN8HM>XEO-=q>C{ zlt}$BFxhO$G@XaYGKJ1Hy@mCqc`RCL1IOEhT)vd~Iy1@JXN6=7#Db-i+9dAE!}S(I zzAmG;35tgNHe{m6dA@4u-$sdA02Q=yR*w{`ltLXacqb|Gns-2Tr==c~Hv*d9LAjc< zdX&e7{66qlC2xhBY_h9)m*h*8Je>>Q#nK$tYG~Wjy(P7pU>OC`U9xm4L}rD)jO25L zj@0p+_pCX;X9e*db@$!rX`6ZvGruWqIujzZWz2gtzL{sFGvWIPY4`7Ad(Ig?lyo9A zw8pg>8dv90IuU+=`3odVCqk1wESah>Mn<8wen6qFaJd%VaBOHL*t!;Kt@D}fWteO& zw4mQjGJamP=ZJzlystB7q#K3+U42^_EnK|+y`Zs zOGdEC4Bf^=+2t%BfIkNv{RazkT<$+u*g2255ab$`6Zri95O^=qqrK+H2YB&Y=vrFD<2CIQP%(#s#0FwTKgYlXV3g!Vq>Y&o#U%L zHbnO}RCQi{gsVVw@>QUt@=7&xrzt+RTYNwGn$(kA?rTyvi5#qU49XPU<(j_6$%kT^;#Onm zYl*0HJC0Jdn&wk>m#bY(@8aS()p$8eNIROre?c?3L60GdCw=~8=O~3Q z*ytM)P;K8pI$z+;_EUtQO!3`Zqle33VtQ%fTdUE#UCFngSZIH36Tn=<|E$M-OON|O z)bE%^YsgyWLhpxNaofA7T0`TbCe{!_5219=#*+7!%pYZn{%4hQk1P2fkBFyUn9c|$ zExpGzAf>tAY1r?GYXPV7 zX!)zA%2E6sj*9MeZQr5rofNc`3f95O?&UT;*s#BOWAYcntY5Aplg&cBj-NaLeNSgv zDp`ZV`<~=f*!MP;UF3a7KVZJYeXisO%%69WH;?Nx>=o@F$ZGL@uF2REG4DG15mQ55 z?ngXVUF@|qB!{5v2+8C*w&XK8gGcgJLjLD$7pw_4; z4JAMMDeWiP-8|RGpX{@jd5wqs5WfLi4KB93r8_>0cDn?+3wen13^07MiRrUlyC} zi#%EMJEFDiB7a}*@3{X>vM&CW?<$jZzT(ei?_zW_MGtW)!Ug?`vtuROS}oXQXG*5_7Mtv1$^2$el$v+b+ z^`#JRjP;GK_9iG9`>tR!$+O!^mM)Guk*>RBQ&obi6%XO$d>3 zdlP(qE<)qqgdd;^HtEOtsjTU3g5K|cP--zM#At)T@$wrGeH&vtWwW}uI zM6BPG95fg$-wgV#D4$qJcF2tuZ(+JdOQ!oQ$nEBo3#+ruDVP03_(kDf`}t~fYaoxg zrp;*}we4ETj~83ewo4y#C0l@|2&EsRHCBn5u~_Vbq>7>~lXjBZ5@!v6_hIMm(9kN^ zXsAv|%c`wuPFG9BG>}|*yEWPGu+Y_RO+J1R(_$nhy{)dc#!_&dccR5m&>1w7s{=vT z2+4nJh}D&$$Awnvr0 zB>z95oBdF}EfrJrq$}B$3|)M^chXPo3r0~lZj07Jp*#HMP(jzEsB>LGBX96p>GOYA zYn9ts%j!zY`lOxiTw;5MrZ~>!wnOpU8@=LI{^H7TI|9FArkCBNd?K?QElb}0CXdoG zEe17k#USVmp>qG*TXQi^C>=u$Lg`vAht^} z{dwAw^RR8nx4qRH@|Ea<9jV2_XI$-$)Z#zHSb^GGT2(ueABOE6QClH&hwgdp1`1tG zH_&CXyv1}Upc}PVy%V*#x*N5)Wt2yQouDm7>vn?97F99DPcIW>e`uXb$HH|>`b=q7CKl57k4K1sazw7r7wiM|7aI{%yhY3AbT}< zA8BVd)WRV=P>s+^e`!L&uGm}Sa=U{1H+n5!P23`g)(Y2XXuOaf(Yq7#6p5%N+X1fX zj-mCgraP%`6r!4v?N(5x=mn18k)NHLyc0T`y%$im8*0pdyP;MqL^UPb9=qY6M-xNq zg;Y&J537hCRuMg@i0QX^n`tE)t?p@+XteltPbnrF%bI)Oah|K`iP;l{(m|;w9%*WZ zW(cJnsEjPnl}zjM5Lu?M*)^4suO062Ui_#S?T)3;<#xx?I1x3I&`^VG1a0vTp>jKs z;3_ujT`<@P}PT_s7ol_7etp@p-(OJ85no{&}CB?wtAl6EUl_8ZC4 zZiOt<;U(9$C&6d$^pVbLV&?X)Ww!wb09IVJ~VSb5|Y>dRYw`t?LE7SyW{dLv44g7iL?9%KbZZReSq( zwl}EL-QFhCw_T1@56YHGrmj>$E{k4qB^Bf{64JyK!faTpz*3u#_aE&8Vcy&avhzLO zN4XzX3iiQ0!t3(c)4y0>52Ix@_C{^AkowZT)XgM` zR5t;#OyO&;c3&)ADW)+mHdgwYYcsa(ecp>^u3$gnW?QeIi-fZTe%X z=wGg_Kc;>aOQ)j)U}gW}_CVN;4|q4Kniyt-*#Wp&ETpOl27u! zZ3D@`G_mx+(;(DFxSBzzwFynpKy4^=t%i6u`zN7V=dKMg}ZNssAzk9sXBEJgs`ez>mh`7!ec(-_k2YKL&yw$ zZwP4L$31#fbqLB7zvJ45;Q2GLwCWEKSjjbIlH#bV*R zu6Ag@ftlV&5$a2oOa!)U~piB=`? zMu!87j{ue*4vYnN)~nBl+rymE`9@dfs~$mIWy`n?kT`bvr;lS7-$p{1JwhEpb_NSw zn4oAFCH;&M*Fjh^Lyydc*>hi3-Cx1j^qA6P`9V^3(ycf&d|9+ zll0EnQB>p_&hUZSgbq|&K8ie)zVF(OA`ivSc#G+l*>Eh<=(QdB=7dDcQVWu|It>4Tz-Bu{!bV3Ps1*Rx#DB2@Q0n`3T`_$wnEH5dq>Aws~c?%>sX>Mf8N_n^JcX8ILn*SA$c?! zO)T?VZZxrs6G?xLFcfpD4|H`NijITuRC63;zR02eJ8T8VCH3EE=sO|ht(v@5az}bK z@t3~fL#$V&!KnVmYP9YaQr2oLYqgfO8iM~uFwL6L;xU#rqlNLGGal7qbg|3TVssag zG;4-f?i(7KhoUhMrpPgnvqTPcCvC|XSTM%MM=o+7Lk6A@Q{Kj+Rqb+P(fULr&6=Uf zuF=qhW*;Bzajrdv9#2`(M2@EqF5u`Me`po_;miI$A-_}dbP%0@iP+^%fczqIjS9}t z8rNuO+Dl$(p;tN)!g}OHNaf3(%+oL9Cz6peZazQJT9R0q?<3==q>7I?o5#3U_=>CL zZ?^0eudW@-m^9gbl4+OiB%BT9Za$n{A;QB%vYT`gnViYpe4yLgQPM-kqeRmi4|!6= zN8v({tDa!>I-Yv{NYrl@Mkk~98@KbJxB07ip@pFAj*<=6Bw@)J?JaqoklX|l$Za9_ zgHIrrw~8e@O?)>ImR*!*J~{=_>k|2l7ch05(vR0#PU%<4XZd|FvL2J%p2|qY1poIHK$?wZJ~768kAij*?zteo=)oN zE_XVqyS(lr@jrvQ(9j}I_JJk~Y5(*L>+*Hh<nDzWLT+ zly+E$(Uacr{!%?dZe-fwQ96yPj zgQYs5Zu&y%xuB&kcP{8!q4YufT%6qghs@e_J;}2VOXjEj=sdz)#Q{JptQJY%8UtlI zeCC?YBc}dKeN2AVkEYlFaK5#HDb(^r!N6xdgm#>}H2tZO|EQ$aDR_8P32XdrO!E}N zXN`P5Xw$d7gZX}AtoeKp!vd(|lW()}yg6qVsxBb@mz6M$^T7OGR4?Or@w+OGM4uCr_%T(l9!F>1wBv`AwJk zU7N9TG1YDGH*C$3%-5|8k!32l^Zjq6pZ%Vi?;nZi}B?P6lML`)SO zTmmcQs`*P`Z-}MKJD4lJjGA732{rwLXrN2>F73Bn$37pVzg}NTW)`@{OZ)L-^arl( zQp$ZXhyKVw(+55S)UNHPg_n_%ts_H2T0HW@RCGD9kCI4L93Zo&(#x^irPVcEj@@yt zm4CApZE3;y6=#U{L6UXz8|C$(FUOGTM~gq1!mnLPJ$b!CDOGo2J=#A=rn-xfWlFh? z-qNr8kN4*5&IMN_`K`Iaa2L4wu{B_ce6c1(Ky*_8O8iY+sXf z$X5HqkUJga87sUpMU{M_csk0nB}+?oI?9x+C4W{Z9diE;V#xhF=p&(Y$OUCbuJqP_ z^)D#5^KqJBV*ZeToK|Ea1t;6EF5Zy=zKpLyr1;@D8^S`CdAQWXa`f_QMe5mflO*Gd-_ zplnykd=*DCN!{RbGpXA5IqAnAo`Ct2UHgUC)yR7jsvCXjMXKNc83k5z6RCF*N(Ww0 zro(rx?IucKuvj|q-i)b5lBEMLvP|)Job)68ldHTN4ZOGDWuD93V)^;MyZ}N&E!@}# z>LKJSIJy-dm4AqAm@b(0r-9e_Sn+h=MMlB3-ioy*p>*7xMRZ^3zAJ58!i{SRzp_^r33KoM0l%Y+i5~F+5G%;vB{p7Oat&8I9$P%eOUcPZo_q|HddOIFdcvI1W`tJf=d49 z9i-#0p{3m52YOYAx3ZF}Dd#YRE|ZLR_w8fs^~hLJH_jpXt!up{|Jzb@7r{KdHXSMW zFH^a})!s$XKc$33W0$En--V44uJtZ#bpFoUxY(Cva5vF}uI6sg^+M@T0m|MknSWzD zx`))P67C^&={j$SGi>%r<@$RVpv!)CP50pcOtH=MUF&U=5Q~jCcBz@G4+N} zI%^nWUNf{xC~Xe+5z_|AwpW9_kK8SCjrWnf>-Rn=4FPjWT_zEY!j{!lb4k6F!+xw) zCx6dc^~L>JtD2B;A7M6B`r}nV|FB_+yT|`QzCIG$*0UIvT_>6L7v>=<|G`I*W)+$3 z{>{VsWkPheWD9v7j#+OTx?L#E>it-HSTfB|Au?GQuP4F zV^{M4<3Q<;uIT~B0aoe!o2~fKM|iydRi)}dDzETY&iRqa8^pMqIkdNrVA*>mQzqw| zGl_buoRHDRYUX2o%k|#6P;4mVv>zzQN5MnZ-5#d9)jia&yyLm+)2@Zw77hSp`Ox8JO85~CdEfVp->tw zC{z5qYkQP%zi)TuKZ5ue1-;SFJ^W%4z5Y}%CA?M~17aHP$z|fmQ+C+GQpoyl~D zF-DfD$Z$g+mezo`ozKCM{O|olcV-e< z&K{O59ga-4L^9`A_GYvzc$$V$+R>FfO#mkscpIg1_B75GbIuR*R|>tGpy(M0Gtx7V z(HXC_MoNYl#6X!L9bMZq$zxOQSyI++lpo@=gi|M(jzu&-OP;TlYcXCb75&Whbd+Ylo{V94Ltw|jAL+bz$Z_kB>8n}oLG(l*pS9$@mfb)Hj zSFpue z{1t3nEuzsZ1Z8iPEPYb4o@Zj#_6LXuTh|DT&tn#%{?0L{MDk1K@9ebK~D?m0AIWqzY93q2ij{3 zua%C+uakoTlBJLF$TDTzgZ?`8ut3abA$kK#j0taGX@yAotB)b-8kFg|rE7bGL8oF% zSMo26%-Jf(a^VN~Wf#KGvqJuqPSiqqej(8;4J62HgQkVlm+atu zq%X!A8s}OK#X{+tuoX-1NS3Y%k=X-6E6KkR;E=j`Oo-z@VVl5&x2G}N&)^_=|nRqzp$R`HIU&m-VbV%|09^T^W4Y%$}Ku4x5ME)?UZ>*N-P6~4q)qBdLTP``XG_{7@WN`C$MT!0tS?C!PtmFO&R zxlhpPysLLr@0TzIpPJ4m=-etW%)d5Q|B1cV@R{Z2Q(|8snnw7kZ9{x+IWxK;k4B$a zK^QFm4A`Z6e&&o8e_^Udd$rS*CAMwyxw$o3{yB7LJH0Ek-*Sx>e`&f#$BSz1_=UMO zSpEfYdLDG4(c)F6YV_ehXmY6FOG;>|%Y8`+Eo(>q;yOcge?uGEQS$r1DypeNsViAU zHI?q>bD2&X#)?Z_ld)69^sDp#QSsxrT@Qn|iqva?t6HHulNCEjaAOBu4E1Nz7pa9)%~oas@5U-;rKajNUdy*cvmwd;Tc6@u< zWDW3xg=tC4e<0~2Y0?mR_UXK&E=FdLyFajPvPm!541T1_I`?w5KeGNR?%|sFo9(r? zk4Kxv>#-F`#1El|*nGa85UYQ(5Z6<7Cy4qNyIhQhYcaao=p51XXM>-tBsQ4tPtfMS z=t47vJzd*R1d^%nf#}t)U;~WD_}UGy?qWQ^yk?tM8)#p*OGeALJE{wQrt(K{)Q{@e zAhf5x>}_ZK6(kud_>BmsyGBsQ>w0^a(eHSS^p6Yp zj|#2%9p$^EERV4vcEb$4Da4}#>z`Rw{rRDF_gS_5d53sk?~x~BPL$4Sh7|8Us|_+= z#6R@9prF5vk~IbW2ifh?_NT$M@+W)C{@z5o8=dLTyYiCh;X5?h%aWy+ULnhr?djSw zI2+R^4a5KN)e&c8t0U&uwxeXjq`6~%+evLT^!L8`S{q@plpC-&!eVJ<9*bdAcI!r{ z{ZlB-*~XyB9Kr)#+s|tW#fFBuRzt`4&qF~cb5`MMJK?P2fIJq%XezCp`VY!<9N7RW4X%ouqeb;Dz=DAk>WWPGl>!n3kNHP5)8JhwvHftC5-!5A+(5KUz8!_oJmE0X& zi0@GB7~PYbrF?j(%VK_+&?rCJ#aY4%U8|w8LEhp3Kj8$Mf)==%O+gccGzZ3@?D>-U zVK&+f(UlUhCzkwhxEX#|xSGwduwFh+2 zlr>rMxn<0{;;l>VyVG zXzUZg40}UPW=b&7e zBdX%urfkIQ6FNR~cYAj@>9bWJ4`<5IC>{JL#>P%*b>Zx8Bz zsQ0aLBZS$$>-K~-RY+yEgO$~eR#rO@)k49vtf1LtlBH#}17-EOWGbs2F+Yzx_b}gK zXj*}OeP$?jjfO@E`Jke15EgaaAoD~tmW3c!Txvztji5dgRZ;CkOdB2My`)8DvTY?x ziwc>ws-3W3A*7Njg-qhkJ;*c>8ddUHo>Jj^z6pT^Kk1=n`>q$sWt<7ZfV_;2n>Q4Do8Wn}m+Ar^}E+eKW4(c(SLWf?}7i0xcM&SV0v=^nlCSR);6;aB{s26CD;XW#rX9&ve0q61yiKE$^w-$ZYccRJcTOih@qi)3T9 z4S>w1irxeL@@UkDz}R%@Lttz3 zhzkw1aM>TI_!u9b{Pl&<*!n^SilkA3GKGUUQAm_cVp}D}7*$eM_va@MkTHnYRAOo4 zQK^rU*4XeMz-~{%yO0{{7kI>({?B`*ORTWWCj&fXV__(w~67 z5;|4&YAgs`6RhB9*V>;a0u~Dg;Bmz0G#G!H<^Y1B{tR6pr0t^tEXfFHpi+!y=woQZx>dfMSnJQhmbbM4uY^bb`WGk9&sTkQ*^LvI*0&| z8{-YW;~Uk%R)q(oRR&7Qv zX{SlkJ=9bUmLCd?@}LWi79VD+P|CFRP-gQ66O<1n`5Q`}4#h)>a0J)=5#gFV6deYc z#C3m=t|$7~Qzb(o*ZqM82>ES;=x|5_H~&H2{fiPP6AW=phf{(-iS^WvAxF?M=we5p zRyxl68tV@k6d0P!VL{L(?I@W93WkA}y4)~OOFQyycNoqp4s}h#aJJt`e~vyn(u(gW zD~}^7kJ@(VPyZZ=&3UfzNNk4fC@J=%$Qnc9QINSJ>5|J3L!zNrNG~G{hcF}#hukvW zhcRAl!_Z>aXy|*PJALCF0inr{fZTerS9(iIpiJ3eu4x4MI(dR;(mLAmb+qN{X!4ag z#lva->}UOmq^uf`#^%*RzL7>FFj@!0qDRL-D2-zv zTc7HcbYL?CWlE3W_CE|3P4cXVJ83@4xPnoHLHihmTAz00t85e&83I5BV_mELSS^BQfqqFl8h0Iz8jY1ziIpDFaY>eP z#}Prr>3=rlLQtmiDA#lxmd+B>8;jLwg)Uc(p*g2pI6YiwG6F`HUG;~h;r5hX!>m(U z!>rTe4DTWhs0JOzo*L{_pOM&!Y7sH$)M93iQgc6_z3x{~>l>q?kMayfV^E@9jloV) zo#H{3DLtCweuQ6L_vfrdV@Xbn8jGPwB#j7^DI4jU#!|wIy{YJUlG7cJCwbBTw{`CE zS>uH}>@le*sby^`gSBqU@) zt_da7B)RViizFE)AtAr#>w3SgwX4UkfA02rzFx2Q>-~BkuJ?7__xpNZ+trbAL9yI( zO~WM=a;7rP(EzM!*!4%t@%6KO)U(kKAB(p52sYhZD%rV|>})eEnw?AWkTA(hsa44^ zo1Gd&^n)7QxT|js-miAsI?uAu+1@A+{4=iF!e`$-k09_PIWq6_`xXS7Oy)QH5FcmP9{@ z=;@Y&KnX=<`ZfGjvhW#1l2>%P8<;0cXR#S$@~)y<**9olS5XAr5?Q?e4Ph07XK{6d zrLhL%XS@R5)+G<&GY8{`oBzT1@vR^4YTVE(uf|RGjiDR+s6Y^dMbJr#G*d$$8`*M4 zwre>*PqID0Gz=jTey5LMM^D`~63R7%vN__xxYtOsFEtI4l5u~K!7VUV*V%dXC!w5nvskPSI)0L#mZ%c~N$)bexDM;|eRe+BCo@EM04x<5rv$kL+46Hor-zL)iR=mjTK& zMI$Mi))S3Y z*Lrz(fgDZ*yi5AcotkrmvQoVZS7TIN`_0{`GcV=ejiThYU<22h%=@uo_PU=U z`SM9Vn6UVW7mn^)FK;X^W}CdRkPDQA?IoymjZ4a%p=q&`#!5^XCUJ~f?o!%pj<_CzON(? zkKlumI}uc)D7=78#HyZ?;6U|?n4<CzJ$PD!I?( zC&*GiMPV<1$#OA4dWN$Dj1SVD#7CnlGEjoEypmL^aExh4;$%t0iPwOSO3rhWlE>PT z?R0HiK}`IDW+<|0_a;M_}N{XG)7ru$9vmdltgQ;#o+dldS44SFmTv zUcnU8@T}BPS%1@WM`d#1n}u1PvE27RN51JwFM#?h;vFZ!l3CDT_C$ed z6=_$REe~#H%Y&QQJh9`)>$AyT?u#;gA&4(hZ9BPnFQT0iSo9(=W0DQvEVF73&FMnp z{Z+H~yan_lH`7&WT#(Ef`VZKb5O)AT^leUkH9+-YPC^zpF z%B@U9%5`5sBW03;Tt#aFhu&OC%3QjaBmc{Nm2!v9rCc{@J@7l>AUbG#k;-hj-m79N z21T!ueO4*2(hKO+4X;vzL=&JL5U**lo;Zn0JULBxnxQhSfs4#kzJ|rDCMw?MFi&{9ZNwo7M+SmFN#T?Fvd5xToiD-HABtlUtnups)h1IqR>*nD$V@kxW zFBXZ{C3LYUP2#H zh01cxw9loQZ_3xhVo~%a7Bxz%%)nQnbn43+UKLuRPhn- zP(|(2zE7VnUBWKLdTYyHB$y&=TKW!S`;X1<68LjfU=m|FNklONh3BSfvy(`739mjPCgX3L% z6+9XGl9iPA9ud@=y!X&{lssity(2C89;K{((t2&?52o%kdci>!3n|fg%2e|y>&Jzd z*F0q%PdC$ArJF3G+h$MiT9|Pb(FO%GO!XovTA-}N^jxU=vC8St~{w_O=8GjW?-G2gWi9QVfcg*@<}>y~};UFWQMI^HZ7JM78KsRGk;Cqx-bAKb2&xpd0$~zr+fO4n30+nX^KQ`HcU$ z^1sT@B&-$UWsdd2T`j}V`z&bgyw79}kdmN2lb}>bFY`W1@eY+~x>7hzi9u0{x)!`- zs#Da}eJN5`A1$VobV|ChqG}txlg4Mp%T~QaZ={gP08XRsD7wUk*@|{!RNFzuu&ipO zr?N`qBVPPUSAX8;C~$}HImA`M4?1M>aRp%nisiguT0bZDg1Oe1SG)z6+?6tzRHlQ; zMP@3$kW{V=I%#?(c}smE`Tj!k{iS5^3o@ATs&#g}b>>6k6)MvVekmCggQ71ns8M*D z1_+JMju;qUED~Q~(T;^&#l9l^f+n^<$#S<%!um>DxXG41EO6zuF)U^`$r6cS(I&%U zl|rct6AuX)W{=bBZ|(6=*JNgou8qE!^i{I`m9X3Ptff;(V;l|=TnM21ql zK1F3GE@1Dg#0xYzS7&xz-3bCH;e-3bs2l?>sl@0ena6*h~H3n+v{Bm z_f|_DMW<*ro-*FB@KSDqWu)UNUZXN?MPDou-%7M%;dWZscK?=W+oBdOGE=!mqWxAz z_M4{lTY5~*n_UAj&Kk6GzmsU!h+n0=K|r2NG_PTjXfx?G(qlxa=sO8_zICCa!u?KK zKxJXL$V_6bgo_0&khhj*Pt7;2-DQEWmiDRqUP4!M-Q{EPTaO z|3HS?d>f9g1^pi=ps=}X*1UF{aBI|#e@98^Ur-DCo*)VJza@uKK_Tc{6;ry}a!1}2e=*G&EfJQciWJ?Y%$!s3Hf7RHE77Q!2to4J(# zCN*0aDc}7q2sJ6lQN(L!q|^Qmp^<*45(V>2_3zS;RO3pG5S4hvqOK0TKd@qK{6UFK zQhdZys*tO9d}x@&MrqnVWTd=r%`ddK3gsK=J(cg&0_1`7Vd459wACao5ZU^Myd4Xx=k{M|DwP6qL=tf zVnolRMCSY@edurLbn?H-zoE1K3Z}#KUsSX4gRUhR=WkK}N8iFK5`&_DFmM!}YE$h(t7+|+*#`zov`KY+_l#GlsKg9p^*gD#Z}3Z>%)ZiL((=JtA;w3Gsp2D^ zvDA9tM?_0}`1@1C*YOZC>XTVHNHv-%cEzwUdPr2+5>*e0O6h-WRM`?$ z)WAW;iD42|Hc|1e{Dy2YQ~a@w!MgS0eS>GuaWY-Q&LqmMR|UOI@#h=1 zq!e#A3SkMco0R{l4NVJi1vRmW2sBcWZUoz%BF3qxw+Vi$QocL+%6->V?=B%J)0+6` z$BMa@3R@p7#o2>W=*xRhO1~900Ii7+iuYHUzB*!0w3##al$ezC)ss;6q>emt6f{@S zY4-i1b)Z-_C(7hfe(bZbkl=?~<+=3e-Bd0#Fn- ziXeW(3Cetr1HjNob^5ixtjU*VTga{u#Ua|fC?9~YY5a&QP>bLd5-lTJdRbQ z4Y3y)nxZ1@Q4TVit!gi{-;0!Cd_gT70S1btBaQ9sP5Bv%I0B6F&r}w+11w&nGT!qZ zeE+-;DXL-D5U#RYt*b#gI`*Ly8bZ)8McR7%LR^!#FC?Kv^XdvpuuBNET#>E5R{&YW zE+I(4=V9B~e1ftL|GbBpJn_f_jn7}P!o{YwfGV7$n!DPVoSsx+P*)i%hn}?jNR{oR z155PAs!W6454X-@lfNHsUse=G4U?AHkJvgCY1I2e7+3p4N>@gs2F1@*nKqg)>T69} z)N2)mJ?;Q$8BW7FK+0DZb~$0ioT4Kv zpfgNfFNr`=*#CNAMS}`@CsK%a5M`{0mf;|am3(Nb50aR^v@vO2d>D@%(g#WTinI`? z5X8VL1dUM?_CHX(L1j$O!LGyq5^fs@gGo%Cg#>T4sS~u3gTX)kxDdK5v@K&{hDWuU<9W3QX3Nik{STV{3<+O!uV&4;0 z#6+}T8wY~1;3!^V8u*N#t~xeH-XU05unkDcR1&s>pjwj@w7k=?j0Epcf?uPe@XY|o zOrlsWn1}W)%F1394in@&C`uoSm%>#xyj|@Zt}_3R5mDMH3pTgZiLAfMIDl2=$3Rx2 zG94wwq&9mg2ZT|hv5NN9v-XPRQp$2p*i2V;eC(Gx@@&p#ywn?Sx3t<>u^>DqgRLZ39@noS@9ww1XBAchOeeFv$ zn~&(rL(5}u+%EUF5lWT{Nbvn(~}E| zpVTR{FAzP7#8*fBc}Jr*L`4Mp8EsL1G#xR;@nLu!+vy>g9(_@t8j*R&Aes|#Y8+%) zZ)=do5Yg|QvY-s71c%$M32Pnb)rnrd%4X=qie4<6?#SRw1WV=-${7Mk_Jj3L;E4srC_uy>2Ff{j4SD%(lVk8}F&nH5{7nROhwK{-L@ z69=FBtqYUe^CrGdZ$>wMbf+vBe&x74RYhzdTQ9XQ$7OZs(nZ5mo+zWY9G4@b=Eq|` zJ|Z%X$R6)>8T3FGS=OA;rO#g`agvPN<8ircEBpUpza}bkMYbvG(?^!I?GHL`PrzmB zWJ%@;xa|EySaG|{{{$-DuTy3R9v1O)R7S4~HUyqX%`a1z#yL@vd5R?SM0}3k${rf` zI%UBte=<*^oSB_IgQS;>Y@W(!dbu#wA>))V$>~XWZte6EG|9<0{wX3dj>ux|wo>7Y zh%9TD_Haz`m)xVAOy@gX73oUyYPie_A~R}lYR@U z8FY`cA*Azc$OI*}k{n`2a*Eqb!`UQY74`0Ud65?&^Se5M}qMpXREID^hLj5 zm1#v^F6ie{ny)I{fXVA7>dx!Sj)-&nmc-X7&~`kJ0Q<8iiR$g~hp9df53CUQGi#4c z+KT6+Qps*4ydJ%&Ywe6HXt+rV8m&m%@B&-$3m`-O>RLJD3gVl6L8BCD8(v7=#;GW5 zLu4{fUx;?2A|8``Dl_DT43*g`(?wGy+9{J)iFT_JTTyl_fw&BVV%z*}S}Wc$c zDssHdzc#{s?aP`nt7vn&eHC7MDdL+jc~^C2HQhFc14F7YyFpplqScf@HmWhJ&d3g) zk=TCgT?AnXdJ$x(lCV8N@lh%Z+f&qeUX8juqPrNYM%A#@%*-}*mq>$NOoJ{~qz!rr zwisQ4?e82@#s^P+_=x|WWkX^O8T>qXfbH`GKznqvh)M=;B@;xS7j&5-ZPrWaX*s`` z{7b3+solHQ(YP?~xRRG*b+ICC*Ba_LR7I?egX>leiOg8fnPp5EZue~ae90Hhdezh> z9Y~S6>rMVZikzn?Y*S&y>)G5yw_Rh>1F0=*ip%J|YqGQLO{{wvIwilGhRbO1ZQ`bt zPwDZO6XrQ_TZ8ZH`(-jOxAhj(XWOuH1AmlhSrB)hSAb4e6t>_M#C);J!WKlvN-8bt z!xiZQ%()W8(}XKQx!c)7bp7RnV#OOx>y=dX4rQU)Ak0{m4#KS0_MzFp8v11UAY$Vl zP|!F~}@ss#6fpC*7~j+}o?^)_PdswHFP0zXVR*&m!4M4Heb4~v6pvzVbr+YWD=ZTNu?0Mp26nmcd zpkMG2-)-;E%c|}y2b!;!xr!ctJ?697=7i=9Q^iNDTY+h~0V!(`k#a%15oz%brus$_ zQ@elY$3}A_(F`_eQQ7T4lRtv^GjdEdpK>i8fw*92)5@Rm6AGB!^#s z-9#BH*|Nlk&mmrX)SA4T`KUBie8fL2vSw*J|J2>g#6JBHD;r?f1h+8Ax*cjooW?A# zBr3l}*5tLaqEPS``ZS?SxJvrG6_KvbJ@KLrKkD|pg4rkX>(12ve@|IiQm+F6~R9~d& z)RE5LRK{&kuvr^fR=4AH&iDDtr0y2`I_&p9&Uz2+M`M4O%0hc&Sx%=tf0@)hVm})D zOSiJW3;S!gvPYIRs?(moOzK{-zYF`xTiM@@{WDwHBg<;)wC69Ax=-xy#{RRd?C-(; z+pX-8Wo}?^6glOFmyh_aPPEqdV%1Y+)cSI+9Ci0{3svldSwlm9A9XLrXKiJCAI6t# zF%D9WENf_|F@H%fxDVq8wlW@radInTk~atcOA>@F;ivww4ofCseDkpjK$0QTX`9am(M!A1TQ>z0MVK) zPUMcf`~h(?UYtCDlkUeyLlKKzRc3pYH;xSLcYIhA{xX#hiTOCp%eOLz#?OkHKZyB& zPILZ>6Rp)G)3Z?K%?ZqEER+Pz zS9Fb9J%ZJ2Q}qa__es`Dkq?UH@XFUmNQD<=&P2?(#81R5^JHswhM6{p!pbKGQ)pVy znTo;?C*d)-kd0k5<#;xBF=%T|nveK-r$owjJZXmBrrM)yKgxWVtT8>zicYm=I+7fN zS;oPp+F-Um%6yoNGQ%iqIxXy*30wUHzCJt6`l1=nlb?emXvS|j1qW-eVY*M`jw1>0h3+;W+u-e<%MyhL|yxuC)g!!W0V$z~MM3KIZ z#hFZ1i+MxvWU5-PtX!|6FzF?eFpQCOw2Z?!a-l=dizEjv5gzL43OO5H2YwoWuvE;71daw=taDB9EX z^yO*ZR4Si+j#Ur4=3}UHoqPItekMP=cz7IpfjsGo45Ro71BJV}KwR+(nTMJ7)xojy0`MQU4O&cQKuj$>MZ6BXgul z%EuTE@4~RQx@%I5^E8GzrEDQ1Vecr@wD`iDQqw9d<05PKtqJZY%bz9|3YbBoetS{a zs57Wzhbr2Xc+XHpZfT#P=)}d5jJTlqY?Xy`6|z`%KhydQchB1Jwbmi! zBFkj;J`=}-6xn2W&q5Zl6%8^@i4G`NP@74DGMAV%AF-U{O#UpA^&tmyAx*I147=PK zTbRv+_nh_k9OOJD)f`j7c^55x;)aENGF!LkPeeKmrilBsp2D6a4H9LQS}i+ zx~9c@6~!4G%!LbI3BNZDeiHF21>;@N-->izX|mp%Agivi?wD8P;G^;;Mt-}>-nHLt zHzQ*TO^f=Rp;rA}ozY*zQ;Vs3jqKiXZI}fS&M;{ajt+&+JcK-noQIR~*IFk!n0!IZ zTY{D-dehG6&GWcd%kFQgU#I5dhFP;W^@{O2W^L>}!|c@SqG7!OYBE)CfO3XMkS~Ze zzMvIRG>rZDm@x^EPH=;cd(&+!86<2gM4jP3zm3 ztx)#5Jwvj50iA>?d4ZVKMoU|OS;j@|Lc{DQWnpRW*dX7*Z2qm$(m=6-i`j&RS!|?b zVcp)vjM?Q~F;m1_-{h;2@^@`-6_kIQwF(P+4=ZAP5428^rqu_+3>dbUB0zv-cIf zriHza$Jy*m1C72T;?WmW$qqG|{zuN;;)6cUM|{SeRx#{$i&3mGX+hmwi^3Fq0Ad(^ zfbnwnr13!tfKaK=R+IEhoI9H&C^N?V&DndW^|-v=OfS<4%-4o9B=LELl*+VO6S&bQw!H817Pr)DX4K9?)#r7x^s zN=b`MdMP$z6)`6UPjo-#XRn?H2WS~RCs;)SZ+R-$<61- z&=Zt~wn9@v+lAh{mF+TW!1S<;Xx`q+P|z5Y7S!!tTVj(A^G`su?kAu(6zMAieL=LY zpcRUEN8UN|cKA=Id9A5h4*FY>R>5B`L4GPhE+@#6`)qMq1?N+I&M;MAJuU1faVaF2Z7yMhopIGhXh7Dc>lUY@iIie>Z4q|X=;?aJ6CB;ODO ztYENd5H@6t4eoR^@F004k;3I*lb6EfTt)gY%1sf$J1S#v$+1MusGCGuYMP>^+uv`U zg^#b&Smdh=i{M!dGLve>VpbZ9%aqz5GqM&(^r``r4NfAuQL7W=u6a#hj5}7>O&R%$42PFm=cp;Qpy-b zx0{~F(8`%#N&3GcyrQoNulqO~LzwEXB=|N-wa_z^+Q#wP2;!osfrHGX#9(L}22Uyt z6AX=&Tw_|>h%w_qTNHx-!;T=Rn)*iW>R7>bPWcxm4^9+ z%3b*y!q~n(OmFa%-}w&2r2QSJQc;**kV&n@XZv^JQz>(>d_UU!ojeHqUP@dGZC4tm zcP&ZD9%fqCl9WRpj^_7!X>H!__&w}gWnq3{@oJT6e%BFUe~$km!n>8Q;X!U(>edBQ zN)jXwf%q_qABd>v2lhJbJ%J5x{JOug9my;t@hd0TI5dsz6m_GD*m}EOX5MzWu(YH5 zhJrAID9c5=ogi`_iDvLeP@}2(5p;#3FoPhI`bjeQqxe)>stfWTC4)ap27iKXR9db_ z96@8b!%gc?Wa-$6(G31fkt}6?rpQYbg$V@32dPXG*nu{;&mCyjD+&9jpjx)Tfo3Vv z{`m``Cw`G+{z7p7on!+D$G_0Z^^#bj*DKY;t|x>$qXrH#lM;iW>oHiQG|Vnk?(WtT z#sOY5yT5{Fo2p+y!xe?u1)0Ue}jbho0PZ#+Ra$EVgH223U4s28_4d7 z%EAfuH;QC^`5Q%EqbSTSD1L*=G`qi}J)FI9XirfRW>?S{lN8jXNVEF~!6p76xS~G@ z?x;jGyFx2BLT3rRU8z2c%-qPm-2+hzXQQM-EQW5xV!6^Vy--=+ZX}N4WHh~hf>=oY z2^ys+Os^oG3J6-R=ww~iY?9(ONpYJfZm$OGQ>hP?*4%{Q<%&FAYWxMFHU9!_Qp9n< z@*AV(zZlDmFhNI7whnL8;{L{pYwX{k*@~{V$QRUP(t`4)SSzkzvK(;!p^1xcHr4;o z#GW!rOnQq{7CtB1EHlOcuYWY@Hg7`6vpxqj+!)E=?D2pI?T9F0% zRFNIg#?30tjjvYOVVZhmv}Ib<_n2lqacu~WXA@6trm7q097Q~Z2r}P|sB>;Jt=))v z&&REqmg01$lwK-3OsDwnxN0%U?zpN{WJkES4W2T1Q{FasnyBb%{qh{ESTQfy6Si5I z&70SQuzA$d1Bd;du;qL9=C`f~W$~y*&~inZ&}@ucla~!Cd(s+dH**DTG)YkAJd>6W zW`j72n^aK`4|C(xZu_UKad_xCGP!bzdT&L8wbO5l`UI7QPnwX?+mqX(-lRz9-0dK2 z58966TR7wkg}&3nvK1L#pj1pU0+$?t$we|Fq~7AOiEd`AlTSY>)-xQmPd zmD~~alV;dLjt=^cw-aQM$=eAsN=Z1=3gVfppoAiB;N{ef%p8i}X!3GE-JY@j9<(WT zbFix9JTK4$MYjgX+ZnQ!?RJpuXIi81*O#F9J}T4S3i+bW`byMq?o_wGmD{y+U&;v9 zTJA2W)tclksI{q@y|8$@;&iQwYzW3dCO31tqCN0g8-wP}7xn8@rfs&sl$A6$Nq06EsGV{`_xGVs40PJILtIRePenUQu|Z74=Oj(?-cfn?}h+`^M)Z z32{O3I+bZh@Z`^0kvF_<5a*|&i>XP1l zK>ZYj!)qT($>6<}`%p@?GMg1|Ur_EClfN(MJw@U8f=Peh7mw$?)HNwy0an@foBRT- zW+~cPZ}|2l?D-LOHsPUPazC5!(BI?bNLrkpq-7tKXCr6Ns= zgG^dzKQ74muW&{eh4g;K7Gg8t?N9lIV>zP>bdn+xAlorA_vc#U@TN^+bCf-3x6x!C zKu)=QA3z+=+|CThJMaa?iXSiy2Vj;^rbFdGVw|}}Jvf32nLGwQ5KpmJBMIkLMbtY?TGY2`vd%BjRn$SC{-)|6&=rcbSNMWl zw%vhTMa&)YOY8E&VD6|Y1hp#)he{z<8%-L-w~BfHH7HCu8xIQ~nuR;$cT zFJ5nKn@nDBv`gnjlHh{kC#WnO9HPFKjdrNNsVH0=9t^5rqaCQv>()~^xq{*qDm&H; zEN3WX76r3HUJ>e}73l*Yw+K%>DFeyZfqcXYc&F(hrTwyQoF9Jac1S4;`u{6sL4QbT zQT&eiT?_OMrMz(}`mbgknMsMk&_gkptCT0B(ieOv(^vXXqFJfv6pNhy1F@d}KTxl? zY%x`8B`9Umf?P$KYNwbG9#)yA!4+Af${N%KGU+G9xai|s@BOsk!$5;g)nTAoMI0#@ z>~c7a9(TXWb~FQjkluedvV_XiyK^`$5~k{KTpZqPz3VR(eNZgt5z~4&gJpy=nsSaT z*l`tecxmSmuwRtX*@G+J5ft;U%5)WRB&E=Yj--^M-nOM2XS41KVy!7?gd&V?ltF%! zog9w>%~YhflI~H&mcdJ3kD~l`WiJI;@s0)+Pc->QgC1L83oFyYVA5}n#^Xvw_I}Mf z2CD+z6nhL-CGSM7U^1~CgVoK7Y#d$*Bw_MOAWcea6vh>_$Rq__^KMsv-m#D|Chu6t z3?*T;1T~qYpmmD0R(&8`DEdGieXpxK;|iK#l7d?6uGuh2eo>*$LCo zm-;SMR;CTum%J}xha6_xFS2G~fTeic$PPKsnTlRA!I2f2Wps%`UR+y-$ISPmA(jQv zC(AJFr$|HWM;y5gCcht6uA(qT81qH4A67>!?&{DxPNL@px5qK!hc9NtZ#cG>sq04s zCA`fOY36MveH?aU)$VK^F%B-7Ssli(|m2-|P}N1civc=Z$1`dAba1s?Mm}>G*BG=f{I6q$E2WVjN(oRGc8nJ1H{lu3dz-(XJ~vv~G2lV3rbUa>r!#Vatc;iN3guUp=k z6#2Pja|QFv?J5iFehTWfrs@>bpXgM#H^HFziz>6%VDD74xniG+cCSyZ^Y3kwyMm~? zpqv#JF^R~pF*8pi?AaWf1v*1fxLQ1oGS2H%w-*j%jHa}xKdgvriYo~aPu#Mf4tiBl zctJcJPw%Qsqdfyh8%^FBX!rRnjCSBxvWz?fN0sbO109eGqm|;lGi7{DH~DAMs|G3x z?`(w?Pd5$1?o*~KwzDXHl8Pu^&gv{bi$b`3pG7-un>Gz+(em^q{)}%(cP-O6{fU(8 zQh(54trms#0>zJ0nbzxUw7DHR8|{~sgsmWmK_+PG=UvP2&VjJVI|uT)lJFu5ihr*% zTZHjNokv!pK47JFq-8kgN`{^>)#s9hiZ40~k#FRh&!x&-zR$(%9z|hKI}eZCe4ht; zR#8|-Q2aHOX&uj}knEWz|9lEL^vf^+yF>1L3gPl{KAv*F>MUOx?*gm}pXHD(tS(Tb zL)jJPJZl<+O;xs^ok=caA(LClLZ;|K7BapdJ z@(<#$=oQ&8Al+37f?RHcGx*4bISEBdiz$Vat@+S=6g0D;+9o*XMrK zRGr~kP0=e?*`h0~Cm(g0js+d?wMEQ)QUm8A5Nno;K(&gFuxEFbUxY&jo1j^WbPjbc zru=zPPcAa)Ul*gk<2SYt+rHi3YuZ6E(H~SYpv{s!uW#dm4Yr-6jri^@`tF5Yt9gP z5>Z1=n96EUpRY(OIgpB!%w~rh6|ZdM(FbC6@R~?!E`zY>xeRi)l0n+H1kL6Q zFVL%st_qNMIfOOEmj_a$%Y>1c%9iY^HdE^bD zpursXMF`WC@US=dIqVRkOPC}mE45CC_%*0=iMs~%KUBS!eZWz7O)$ceg7*HwhQ?Zg&GyUYFfa56QAU2{yY+`oy&H>zQeOEu2* zWFVVYbzV=@ul!`g(Cdp2lNR*iHZ;W#WFjGcsElRL*izv7Anz{xFD0bMSA$n^za{* z+Qq7O3oZ+IHRmn3?6uyyEYv3nw~#RAvRm+ZrXrg#ua-m%Q<2S=aYS~f%4`NWXN;)0 zM%UtDQKxh1FW#*|+VXCNbVPh}fb6;dVRi^13Y12Cr4?~nN*s|zCbt6l8 zspcrD@knZ1-${dw9sx}VExHXlcMFx}aoufVd%M^QUD-*4s7Fy|CC8CbW^99vFwC-` z;U+1lP|;x94{nEyF?qK`>Xm4uBvrSsi5!V*^ z_O=-p@|g5q&}v0to$tk}o}GQ5;(x3|jmfzW#8b2TKtmOURR+b!sm#XYjX^Y3McNJy zGNy{EF?cv?bEos*`P3LfV)ZEK21V-JxgSpxR2EiPWKXKhvv={$_Xo3V`hHyW`M1-1 zumBxP2gq4qs>hP*o0WyJ!{VOGH1-FGlWW8StbH7;9>D5?SUh-5gFa#KQHhUGnZ4S0 z;}DHjk&aCVS*(CJGmZ=Hy^`bbSi;K~`7?fgck7XlJC^Q5vlE=@k)XR97QKixK} z`w+U>yv`1m`M1fdr}zTid{>X^lRJc}!E@g7dLremxvjz$E904L@Q~wSsReJ;eHgYu zS-bYghbf{MJ7H}*TA#W^b|y%omYC`Zuw8euOjp*vu#zRFRoGR^!UR9UB_=hINpt8U zOqvfWC7NIuL0KxLAE8Uk-O6wxXg2%tKr6Sh62v`;plxz&C|U()5{L%?lR)bgg^PSa zE$qz$9k_F(0*(h-YpOiZt%`_$vV76tG3i$(h`-$<{>PO5*96CGmm6qG=uiV)w8b{4 zouTfPNwF3BQ>SgPOe{|@9Jp0WQ0Sh!*myK)eu8)yB=M+B`*y651|w$K9;w(DqTWohr7ELQ9nDZG$f~ zCA3{=wbHPPQ^oc%v7HLNTdDrw%NLpw+Aj1%r7U6Px4Pwz5mjZQ*ggjRM`>8!$HZ1> zyU^<0qcJy1xzoh95qg)>&=x9Ji$>bBt<%u9%yd-X$-3j-tRVz zVfC`I6K(dL$MMJ&;&IIWR22RsTM(T`&~BWmB>!}|?L5H@xSz`Og5n}$E=@jx`Y=WL z`d*nQna0MbOxO9&lc;lvcoOy36lqL8D3-mPgWrgEbCfwx$rQ2NR6hm#9|v^Ezc65! zTw0#O8EC2K+SYi%iwisQ;;mfP?36 zsLT36P`^AIQ<&cw#GCV}sh&Z+cPTqWd%iH|Q_~8Qd%9;Ze@9iq<@hrc%92me_4(Gb zwf1JxQF5Q9qZG}gqfAw(1K)+xcFCD6sopVZ`QS45EMC^DVtD)aEQ#6XKi0Dr>LZh< z7^41?A`RJ@Ws@)q)D}g)pp7OiXotP5LtW)J&*EB9m@?JRk%Xg_aaEQdq%=QAsxMHP zUX`CGrmIvG-WQ4NCY7CH^XDRqIVscdJZ|SJ8x%0_1%hEg`~txouy+_taH((wHFEGA z=yXMPh2YJWPNE`Re>ft$U1i~8Op!gHGL6MYCL?n;UY9G<)wc5@VP>RF^^1hL!#*~c za3wCRIL-b)*h$L5qUTUdWmM*hY`Dsb_1FMpvTmM3(T$2|uHf|qFVQhsmcImAqUd0~ zM!!VK*{z(qLdhBX+Nji{^D?ZYm3@G)Vr6A&2b1Oe%eWk-NL@OwfHs<{SLkgdn2%WD z=ce@)oV2JWaRu+woJ(AdYyrf{=BN{YE>5_*3Mww>3`^cwUXE2PW2LEn6^}K_!mwV& ztk$Go#cZmgFsvpJ%h@JS%NCF4_hI!dsKcZMW%RU#9b)V0yapP~CP2`kio(FqA)^G%=yx^&LjFIQIF2+n2q5GI*DVyu+qVi_T{gWDms>+Vntzy zZ%F6)%2dCB#{tU17-7;W-k>e&P2QWqM-?A&Ulq&j+sn%5%a>Je@@3WLEgs~pgUxSJ zaDR3HO2PYwG1=2}=HuKoX+brLXjyrOXZc%L(FfiFjaPKAJ^=>B3V9{nTZHR(dh8kF zwyE65tdb3Ym~|)$^X5|+9YWBd2iQ2mmTe{hxnG;=X6X>h!chT}-#ay9R<9_`+uI;I z#M_|xQIEbLI)tE(s6%G~g%x~bsuxgL!GSiAFh-d4hy|DpP!z`a4yesky#pGnh&beJ zmF4e{ket=*1;k_1R%Y)?Z&_`s--WH-Vi)}20melk{Vpzd=@re$dmskZdyGA&muYy9 zD+{^f&v=b$9%_#ba2Cq-V^JxGcF6xK7jY$-wUG6i&&EI0J5*hd5Ox;fxWZH|0u>x& z%M8z*0L3d*mJ`fL-ur0N?cSGim2menhau;JOyy$A_2qww#j+53pK^H~wU~8c?gtXm zVo~})LR!qlEu+vD$V;AZ;e81_}0R}ZnFR*3$V$rn4f}!ty zNC_!1DEg4XX`l~@wdB9HAU$8g7p25U5+O?Q8l~rI20s$7Q41HDsazs~e}qMw(sOL! zOK8)Q-X?!ZDThWam0*`pc8y6cq3ovKUCZ{CN_?VIv{W1^JkJ*GLgOU|cQr7+SR`5` zSh1*4sz>HHEfQ?h!bQembrNh#kb`uKnC04Gbv5vZS3&FHserh zYtLojIn3&- zFaLAmsWE9mHHvPsm33B9*;J=`aQJ-PN@j3YoGVe!INW-=B~bUiK)Y5&Ii{xsU;YK! zl=}tMW2wMLyyA$i#d}{;dWXsTQc73C&gDh+Y!&fZnh)eD)*9);DkG3>xr)~zixuNy4ZVt#tfAz> zl1M6?@5ojy8|*-iBE2&Bp!nd3y0;c>Zd}%)?J7Ckwva2xH%SmPPnr*t`d)JIeJN*L z9m{q)s!?&QEj-us{DH(~eouS_KbuxzHOlNo#W?FIeTK?%%&J=S>(io}C<%XEE{M?sl8J+lSO)K5{RtmyRPz|Sn00?bvx2kZaI#Nn z#Qo2ZT9fxPbzs#;k=EoFNP<)3 zAg+?ICW6{bQcx;tw4S1zUrqjcirR-e75Nty1!L8mT#wZSinOR-Ax$RlSI874VNsx1 z#s<^yD-JhwTG`)wY+x;1uz|HO$9zRf+JL_qCb)wI(TOX4L3U{N?^(^8dtNN2itj;sqv)mOrs7Jl+=N*dD$K zQg8A$@rCu^yev1KQDJ?A*Ii^XH^(Whpu)7q zF{@FP0(;%6i_@H3G`A%JSCKuk(D>Wp(eLyaEX6XnL)~Zh8|rO}j?=5=b_7>&ifP!6 zI&q(iO3XQhEpHU+o)V2~dsIs{n+9Qx%6MoXcVIhEXq$?{8$@LCykrLo%{bM1vWI@M zP^#OpY~M^)LV_GzYir!v0Z`qwn@ z880}^md0VFoRjM15L=0gvgK}cPg9apR$x*))7(RIXl`c /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/bebop_driver/atomic_configure/local_setup.bash b/workspace/build/bebop_driver/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_driver/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_driver/atomic_configure/local_setup.sh b/workspace/build/bebop_driver/atomic_configure/local_setup.sh new file mode 100644 index 0000000..15cf7b2 --- /dev/null +++ b/workspace/build/bebop_driver/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_driver/atomic_configure/local_setup.zsh b/workspace/build/bebop_driver/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_driver/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_driver/atomic_configure/setup.bash b/workspace/build/bebop_driver/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/bebop_driver/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/bebop_driver/atomic_configure/setup.sh b/workspace/build/bebop_driver/atomic_configure/setup.sh new file mode 100644 index 0000000..d760c84 --- /dev/null +++ b/workspace/build/bebop_driver/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/bebop_driver/atomic_configure/setup.zsh b/workspace/build/bebop_driver/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/bebop_driver/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/bebop_driver/catkin/catkin_generated/version/package.cmake b/workspace/build/bebop_driver/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/bebop_driver/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/bebop_driver/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/bebop_driver/catkin_generated/installspace/_setup_util.py b/workspace/build/bebop_driver/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_driver/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/bebop_driver/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_driver/catkin_generated/installspace/bebop_driverConfig.cmake b/workspace/build/bebop_driver/catkin_generated/installspace/bebop_driverConfig.cmake index dfe7c16..3f04820 100644 --- a/workspace/build/bebop_driver/catkin_generated/installspace/bebop_driverConfig.cmake +++ b/workspace/build/bebop_driver/catkin_generated/installspace/bebop_driverConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_driver_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_driver_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_driver_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.bash b/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.sh b/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.zsh b/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_driver/catkin_generated/installspace/setup.sh b/workspace/build/bebop_driver/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/bebop_driver/catkin_generated/installspace/setup.sh +++ b/workspace/build/bebop_driver/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/bebop_driver/catkin_generated/setup_cached.sh b/workspace/build/bebop_driver/catkin_generated/setup_cached.sh index 431a41a..124a997 100755 --- a/workspace/build/bebop_driver/catkin_generated/setup_cached.sh +++ b/workspace/build/bebop_driver/catkin_generated/setup_cached.sh @@ -8,6 +8,9 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver" +export PYTHONPATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/lib/python2.7/dist-packages:$PYTHONPATH" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/bebop_driver/catkin_generated/stamps/bebop_driver/_setup_util.py.stamp b/workspace/build/bebop_driver/catkin_generated/stamps/bebop_driver/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_driver/catkin_generated/stamps/bebop_driver/_setup_util.py.stamp +++ b/workspace/build/bebop_driver/catkin_generated/stamps/bebop_driver/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_driver/cmake_install.cmake b/workspace/build/bebop_driver/cmake_install.cmake index 66d4bf6..c9213b5 100644 --- a/workspace/build/bebop_driver/cmake_install.cmake +++ b/workspace/build/bebop_driver/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_driver/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/bebop_driver/setup_custom_pythonpath.sh b/workspace/build/bebop_driver/setup_custom_pythonpath.sh new file mode 100755 index 0000000..4dfbc92 --- /dev/null +++ b/workspace/build/bebop_driver/setup_custom_pythonpath.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +# generated from dynamic_reconfigure/cmake/setup_custom_pythonpath.sh.in + +PYTHONPATH=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver/lib/python2.7/dist-packages:$PYTHONPATH +exec "$@" diff --git a/workspace/build/bebop_msgs/CMakeCache.txt b/workspace/build/bebop_msgs/CMakeCache.txt index e4d91ef..042d2b6 100644 --- a/workspace/build/bebop_msgs/CMakeCache.txt +++ b/workspace/build/bebop_msgs/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/bebop_msgs/CMakeFiles/Makefile.cmake b/workspace/build/bebop_msgs/CMakeFiles/Makefile.cmake index c35dafc..eaec553 100644 --- a/workspace/build/bebop_msgs/CMakeFiles/Makefile.cmake +++ b/workspace/build/bebop_msgs/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/bebop_msgs-msg-extras.cmake.develspace.in" "catkin_generated/bebop_msgs-msg-extras.cmake.installspace.in" @@ -61,6 +59,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -114,95 +115,28 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/std_msgs/cmake/std_msgs-msg-paths.cmake" "/opt/ros/melodic/share/std_msgs/cmake/std_msgsConfig-version.cmake" "/opt/ros/melodic/share/std_msgs/cmake/std_msgsConfig.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -222,18 +156,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/bebop_msgs/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/bebop_msgs/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" diff --git a/workspace/build/bebop_msgs/CMakeFiles/Makefile2 b/workspace/build/bebop_msgs/CMakeFiles/Makefile2 index f05efdd..ea16f3e 100644 --- a/workspace/build/bebop_msgs/CMakeFiles/Makefile2 +++ b/workspace/build/bebop_msgs/CMakeFiles/Makefile2 @@ -95,23 +95,23 @@ clean: CMakeFiles/bebop_msgs_genpy.dir/clean # Target rules for target CMakeFiles/bebop_msgs_generate_messages_py.dir # All Build rule for target. -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStatePitotCalibrationStateChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageStateListChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateLandingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeAvailabilityChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateAllWifiAuthChannelChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonAccessoryStateAccessoryConfigModificationEnabled.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStartedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateProductModel.dir/all @@ -170,10 +170,10 @@ CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_gener CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeChosenChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3AntiflickeringStateelectricFrequencyChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoEnableChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all +CMakeFiles/bebop_msgs_generate_messages_py.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_py.dir/build.make CMakeFiles/bebop_msgs_generate_messages_py.dir/depend $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_py.dir/build.make CMakeFiles/bebop_msgs_generate_messages_py.dir/build @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/CMakeFiles --progress-num=78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97 "Built target bebop_msgs_generate_messages_py" @@ -237,23 +237,23 @@ clean: CMakeFiles/bebop_msgs_gennodejs.dir/clean # Target rules for target CMakeFiles/bebop_msgs_generate_messages_nodejs.dir # All Build rule for target. -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStatePitotCalibrationStateChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageStateListChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateLandingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeAvailabilityChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateAllWifiAuthChannelChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonAccessoryStateAccessoryConfigModificationEnabled.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStartedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateProductModel.dir/all @@ -312,10 +312,10 @@ CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_g CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeChosenChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3AntiflickeringStateelectricFrequencyChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoEnableChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all +CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/build.make CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/depend $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/build.make CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/build @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/CMakeFiles --progress-num=59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77 "Built target bebop_msgs_generate_messages_nodejs" @@ -379,23 +379,23 @@ clean: CMakeFiles/bebop_msgs_genlisp.dir/clean # Target rules for target CMakeFiles/bebop_msgs_generate_messages_lisp.dir # All Build rule for target. -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStatePitotCalibrationStateChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageStateListChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateLandingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeAvailabilityChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateAllWifiAuthChannelChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonAccessoryStateAccessoryConfigModificationEnabled.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStartedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateProductModel.dir/all @@ -454,10 +454,10 @@ CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_gen CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeChosenChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3AntiflickeringStateelectricFrequencyChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoEnableChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all +CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_lisp.dir/build.make CMakeFiles/bebop_msgs_generate_messages_lisp.dir/depend $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_lisp.dir/build.make CMakeFiles/bebop_msgs_generate_messages_lisp.dir/build @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/CMakeFiles --progress-num=39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58 "Built target bebop_msgs_generate_messages_lisp" @@ -521,23 +521,24 @@ clean: CMakeFiles/bebop_msgs_geneus.dir/clean # Target rules for target CMakeFiles/bebop_msgs_generate_messages_eus.dir # All Build rule for target. -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStatePitotCalibrationStateChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageStateListChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateLandingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeAvailabilityChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateAllWifiAuthChannelChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/std_msgs_generate_messages_eus.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonAccessoryStateAccessoryConfigModificationEnabled.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStartedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateProductModel.dir/all @@ -595,11 +596,10 @@ CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_gene CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeChosenChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3AntiflickeringStateelectricFrequencyChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoEnableChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/std_msgs_generate_messages_eus.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all +CMakeFiles/bebop_msgs_generate_messages_eus.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_eus.dir/build.make CMakeFiles/bebop_msgs_generate_messages_eus.dir/depend $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_eus.dir/build.make CMakeFiles/bebop_msgs_generate_messages_eus.dir/build @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/CMakeFiles --progress-num=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38 "Built target bebop_msgs_generate_messages_eus" @@ -663,23 +663,23 @@ clean: CMakeFiles/bebop_msgs_gencpp.dir/clean # Target rules for target CMakeFiles/bebop_msgs_generate_messages_cpp.dir # All Build rule for target. -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStatePitotCalibrationStateChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageStateListChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateLandingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeAvailabilityChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateAllWifiAuthChannelChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientationV2.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStatedefaultCameraOrientation.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateMassStorageInfoRemainingListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonARLibsVersionsStateControllerLibARCommandsVersion.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateNavigateHomeStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonFlightPlanStateAvailabilityStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoStreamModeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateCurrentTimeChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonAccessoryStateAccessoryConfigModificationEnabled.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStartedChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateProductModel.dir/all @@ -738,10 +738,10 @@ CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_gene CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3GPSStateHomeTypeChosenChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3AntiflickeringStateelectricFrequencyChanged.dir/all CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3MediaStreamingStateVideoEnableChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStatePositionChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonOverHeatStateOverHeatRegulationChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCommonStateWifiSignalChanged.dir/all -CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateAirSpeedChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3NetworkStateWifiAuthChannelListChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_CommonCalibrationStateMagnetoCalibrationStateChanged.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3CameraStateVelocityRange.dir/all +CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3PilotingStateFlyingStateChanged.dir/all $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_cpp.dir/build.make CMakeFiles/bebop_msgs_generate_messages_cpp.dir/depend $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages_cpp.dir/build.make CMakeFiles/bebop_msgs_generate_messages_cpp.dir/build @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 "Built target bebop_msgs_generate_messages_cpp" @@ -1797,11 +1797,11 @@ clean: CMakeFiles/_bebop_msgs_generate_messages_check_deps_Ardrone3AccessoryStat # Target rules for target CMakeFiles/bebop_msgs_generate_messages.dir # All Build rule for target. -CMakeFiles/bebop_msgs_generate_messages.dir/all: CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all CMakeFiles/bebop_msgs_generate_messages.dir/all: CMakeFiles/bebop_msgs_generate_messages_py.dir/all CMakeFiles/bebop_msgs_generate_messages.dir/all: CMakeFiles/bebop_msgs_generate_messages_nodejs.dir/all CMakeFiles/bebop_msgs_generate_messages.dir/all: CMakeFiles/bebop_msgs_generate_messages_lisp.dir/all CMakeFiles/bebop_msgs_generate_messages.dir/all: CMakeFiles/bebop_msgs_generate_messages_eus.dir/all +CMakeFiles/bebop_msgs_generate_messages.dir/all: CMakeFiles/bebop_msgs_generate_messages_cpp.dir/all $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages.dir/build.make CMakeFiles/bebop_msgs_generate_messages.dir/depend $(MAKE) -f CMakeFiles/bebop_msgs_generate_messages.dir/build.make CMakeFiles/bebop_msgs_generate_messages.dir/build @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/CMakeFiles --progress-num= "Built target bebop_msgs_generate_messages" diff --git a/workspace/build/bebop_msgs/CTestConfiguration.ini b/workspace/build/bebop_msgs/CTestConfiguration.ini new file mode 100644 index 0000000..8ab0eee --- /dev/null +++ b/workspace/build/bebop_msgs/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_msgs +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_msgs" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/bebop_msgs/CTestCustom.cmake b/workspace/build/bebop_msgs/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/bebop_msgs/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/bebop_msgs/atomic_configure/.rosinstall b/workspace/build/bebop_msgs/atomic_configure/.rosinstall new file mode 100644 index 0000000..cde0797 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/setup.sh diff --git a/workspace/build/bebop_msgs/atomic_configure/_setup_util.py b/workspace/build/bebop_msgs/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/bebop_msgs/atomic_configure/env.sh b/workspace/build/bebop_msgs/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/bebop_msgs/atomic_configure/local_setup.bash b/workspace/build/bebop_msgs/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_msgs/atomic_configure/local_setup.sh b/workspace/build/bebop_msgs/atomic_configure/local_setup.sh new file mode 100644 index 0000000..3a41b50 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_msgs/atomic_configure/local_setup.zsh b/workspace/build/bebop_msgs/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_msgs/atomic_configure/setup.bash b/workspace/build/bebop_msgs/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/bebop_msgs/atomic_configure/setup.sh b/workspace/build/bebop_msgs/atomic_configure/setup.sh new file mode 100644 index 0000000..26a4071 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/bebop_msgs/atomic_configure/setup.zsh b/workspace/build/bebop_msgs/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/bebop_msgs/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/bebop_msgs/catkin/catkin_generated/version/package.cmake b/workspace/build/bebop_msgs/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/bebop_msgs/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/bebop_msgs/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/bebop_msgs/catkin_generated/installspace/_setup_util.py b/workspace/build/bebop_msgs/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_msgs/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/bebop_msgs/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_msgs/catkin_generated/installspace/bebop_msgsConfig.cmake b/workspace/build/bebop_msgs/catkin_generated/installspace/bebop_msgsConfig.cmake index 304809f..c1188d2 100644 --- a/workspace/build/bebop_msgs/catkin_generated/installspace/bebop_msgsConfig.cmake +++ b/workspace/build/bebop_msgs/catkin_generated/installspace/bebop_msgsConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_msgs_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_msgs_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_msgs_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.bash b/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.sh b/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.zsh b/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_msgs/catkin_generated/installspace/setup.sh b/workspace/build/bebop_msgs/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/bebop_msgs/catkin_generated/installspace/setup.sh +++ b/workspace/build/bebop_msgs/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/bebop_msgs/catkin_generated/setup_cached.sh b/workspace/build/bebop_msgs/catkin_generated/setup_cached.sh index 894fcba..305a602 100755 --- a/workspace/build/bebop_msgs/catkin_generated/setup_cached.sh +++ b/workspace/build/bebop_msgs/catkin_generated/setup_cached.sh @@ -8,6 +8,9 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs" +export PYTHONPATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/lib/python2.7/dist-packages:$PYTHONPATH" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_msgs:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/bebop_msgs/catkin_generated/stamps/bebop_msgs/_setup_util.py.stamp b/workspace/build/bebop_msgs/catkin_generated/stamps/bebop_msgs/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_msgs/catkin_generated/stamps/bebop_msgs/_setup_util.py.stamp +++ b/workspace/build/bebop_msgs/catkin_generated/stamps/bebop_msgs/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_msgs/cmake_install.cmake b/workspace/build/bebop_msgs/cmake_install.cmake index bebca0c..ccdb592 100644 --- a/workspace/build/bebop_msgs/cmake_install.cmake +++ b/workspace/build/bebop_msgs/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_msgs/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/bebop_tools/CMakeCache.txt b/workspace/build/bebop_tools/CMakeCache.txt index a37d591..048b6c1 100644 --- a/workspace/build/bebop_tools/CMakeCache.txt +++ b/workspace/build/bebop_tools/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/bebop_tools/CMakeFiles/Makefile.cmake b/workspace/build/bebop_tools/CMakeFiles/Makefile.cmake index 2aa768f..7791fb5 100644 --- a/workspace/build/bebop_tools/CMakeFiles/Makefile.cmake +++ b/workspace/build/bebop_tools/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/installspace/_setup_util.py" "catkin_generated/ordered_paths.cmake" @@ -60,6 +58,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -87,95 +88,28 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/std_msgs/cmake/std_msgs-msg-extras.cmake" "/opt/ros/melodic/share/std_msgs/cmake/std_msgsConfig-version.cmake" "/opt/ros/melodic/share/std_msgs/cmake/std_msgsConfig.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -195,18 +129,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/bebop_tools/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/bebop_tools/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" diff --git a/workspace/build/bebop_tools/CTestConfiguration.ini b/workspace/build/bebop_tools/CTestConfiguration.ini new file mode 100644 index 0000000..d979c3a --- /dev/null +++ b/workspace/build/bebop_tools/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_tools +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_tools" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/bebop_tools/CTestCustom.cmake b/workspace/build/bebop_tools/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/bebop_tools/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/bebop_tools/atomic_configure/.rosinstall b/workspace/build/bebop_tools/atomic_configure/.rosinstall new file mode 100644 index 0000000..cf5a9da --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/setup.sh diff --git a/workspace/build/bebop_tools/atomic_configure/_setup_util.py b/workspace/build/bebop_tools/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/bebop_tools/atomic_configure/env.sh b/workspace/build/bebop_tools/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/bebop_tools/atomic_configure/local_setup.bash b/workspace/build/bebop_tools/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_tools/atomic_configure/local_setup.sh b/workspace/build/bebop_tools/atomic_configure/local_setup.sh new file mode 100644 index 0000000..5647ee6 --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_tools/atomic_configure/local_setup.zsh b/workspace/build/bebop_tools/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_tools/atomic_configure/setup.bash b/workspace/build/bebop_tools/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/bebop_tools/atomic_configure/setup.sh b/workspace/build/bebop_tools/atomic_configure/setup.sh new file mode 100644 index 0000000..2fd96eb --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/bebop_tools/atomic_configure/setup.zsh b/workspace/build/bebop_tools/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/bebop_tools/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/bebop_tools/catkin/catkin_generated/version/package.cmake b/workspace/build/bebop_tools/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/bebop_tools/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/bebop_tools/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/bebop_tools/catkin_generated/installspace/_setup_util.py b/workspace/build/bebop_tools/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_tools/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/bebop_tools/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_tools/catkin_generated/installspace/bebop_toolsConfig.cmake b/workspace/build/bebop_tools/catkin_generated/installspace/bebop_toolsConfig.cmake index bf703f6..281dd21 100644 --- a/workspace/build/bebop_tools/catkin_generated/installspace/bebop_toolsConfig.cmake +++ b/workspace/build/bebop_tools/catkin_generated/installspace/bebop_toolsConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_tools_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_tools_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_tools_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.bash b/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.sh b/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.zsh b/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/bebop_tools/catkin_generated/installspace/setup.sh b/workspace/build/bebop_tools/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/bebop_tools/catkin_generated/installspace/setup.sh +++ b/workspace/build/bebop_tools/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/bebop_tools/catkin_generated/setup_cached.sh b/workspace/build/bebop_tools/catkin_generated/setup_cached.sh index 77a4e1b..d3f15bc 100755 --- a/workspace/build/bebop_tools/catkin_generated/setup_cached.sh +++ b/workspace/build/bebop_tools/catkin_generated/setup_cached.sh @@ -8,6 +8,8 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_tools:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/bebop_tools/catkin_generated/stamps/bebop_tools/_setup_util.py.stamp b/workspace/build/bebop_tools/catkin_generated/stamps/bebop_tools/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/bebop_tools/catkin_generated/stamps/bebop_tools/_setup_util.py.stamp +++ b/workspace/build/bebop_tools/catkin_generated/stamps/bebop_tools/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/bebop_tools/cmake_install.cmake b/workspace/build/bebop_tools/cmake_install.cmake index 7efa971..97be83d 100644 --- a/workspace/build/bebop_tools/cmake_install.cmake +++ b/workspace/build/bebop_tools/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/bebop_tools/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/demo_teleop/CMakeCache.txt b/workspace/build/demo_teleop/CMakeCache.txt index dd18598..894f215 100644 --- a/workspace/build/demo_teleop/CMakeCache.txt +++ b/workspace/build/demo_teleop/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/demo_teleop/CMakeFiles/CMakeRuleHashes.txt b/workspace/build/demo_teleop/CMakeFiles/CMakeRuleHashes.txt index d8bf791..b484a8d 100644 --- a/workspace/build/demo_teleop/CMakeFiles/CMakeRuleHashes.txt +++ b/workspace/build/demo_teleop/CMakeFiles/CMakeRuleHashes.txt @@ -1,4 +1,4 @@ # Hashes of file build rules. -df1fb89dba56b4a8e8cbb47ffea5c7c5 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop/SafeDroneTeleopConfig.h +8929036bca967b6397d8ad1fc9b63b7c /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop/SafeDroneTeleopConfig.h d2d21fc7d3984e8553a9cafbb64b4db9 CMakeFiles/clean_test_results eff24a22f5f2c435c441372be16451bb CMakeFiles/demo_teleop_gencfg diff --git a/workspace/build/demo_teleop/CMakeFiles/Makefile.cmake b/workspace/build/demo_teleop/CMakeFiles/Makefile.cmake index 7591476..685ea22 100644 --- a/workspace/build/demo_teleop/CMakeFiles/Makefile.cmake +++ b/workspace/build/demo_teleop/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/installspace/_setup_util.py" "catkin_generated/ordered_paths.cmake" @@ -57,6 +55,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -73,6 +74,7 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/tools/rt.cmake" "/opt/ros/melodic/share/cpp_common/cmake/cpp_commonConfig-version.cmake" "/opt/ros/melodic/share/cpp_common/cmake/cpp_commonConfig.cmake" + "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../cmake/setup_custom_pythonpath.sh.in" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-extras.cmake" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-macros.cmake" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-msg-extras.cmake" @@ -94,95 +96,28 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/std_msgs/cmake/std_msgs-msg-extras.cmake" "/opt/ros/melodic/share/std_msgs/cmake/std_msgsConfig-version.cmake" "/opt/ros/melodic/share/std_msgs/cmake/std_msgsConfig.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -202,22 +137,31 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/demo_teleop/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/demo_teleop/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" "catkin_generated/stamps/demo_teleop/interrogate_setup_dot_py.py.stamp" + "setup_custom_pythonpath.sh" "catkin_generated/stamps/demo_teleop/package.xml.stamp" "catkin_generated/pkg.develspace.context.pc.py" "catkin_generated/stamps/demo_teleop/pkg.pc.em.stamp" diff --git a/workspace/build/demo_teleop/CMakeFiles/demo_teleop_gencfg.dir/build.make b/workspace/build/demo_teleop/CMakeFiles/demo_teleop_gencfg.dir/build.make index 03e6e64..652745f 100644 --- a/workspace/build/demo_teleop/CMakeFiles/demo_teleop_gencfg.dir/build.make +++ b/workspace/build/demo_teleop/CMakeFiles/demo_teleop_gencfg.dir/build.make @@ -61,7 +61,7 @@ CMakeFiles/demo_teleop_gencfg: /home/klafyvel/Documents/supelec/2A/projet/worksp /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop/SafeDroneTeleopConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop/SafeDroneTeleopConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating dynamic reconfigure files from cfg/SafeDroneTeleop.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop/SafeDroneTeleopConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages/demo_teleop/cfg/SafeDroneTeleopConfig.py" - catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/demo-teleop/cfg/SafeDroneTeleop.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/share/demo_teleop /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages/demo_teleop + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/demo-teleop/cfg/SafeDroneTeleop.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/share/demo_teleop /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages/demo_teleop /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/share/demo_teleop/docs/SafeDroneTeleopConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/include/demo_teleop/SafeDroneTeleopConfig.h @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/share/demo_teleop/docs/SafeDroneTeleopConfig.dox diff --git a/workspace/build/demo_teleop/CTestConfiguration.ini b/workspace/build/demo_teleop/CTestConfiguration.ini new file mode 100644 index 0000000..d242fa9 --- /dev/null +++ b/workspace/build/demo_teleop/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/demo-teleop +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/demo-teleop" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/demo_teleop/CTestCustom.cmake b/workspace/build/demo_teleop/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/demo_teleop/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/demo_teleop/atomic_configure/.rosinstall b/workspace/build/demo_teleop/atomic_configure/.rosinstall new file mode 100644 index 0000000..3f15a77 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/setup.sh diff --git a/workspace/build/demo_teleop/atomic_configure/_setup_util.py b/workspace/build/demo_teleop/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/demo_teleop/atomic_configure/env.sh b/workspace/build/demo_teleop/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/demo_teleop/atomic_configure/local_setup.bash b/workspace/build/demo_teleop/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/demo_teleop/atomic_configure/local_setup.sh b/workspace/build/demo_teleop/atomic_configure/local_setup.sh new file mode 100644 index 0000000..f134039 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/demo_teleop/atomic_configure/local_setup.zsh b/workspace/build/demo_teleop/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/demo_teleop/atomic_configure/setup.bash b/workspace/build/demo_teleop/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/demo_teleop/atomic_configure/setup.sh b/workspace/build/demo_teleop/atomic_configure/setup.sh new file mode 100644 index 0000000..7de5337 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/demo_teleop/atomic_configure/setup.zsh b/workspace/build/demo_teleop/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/demo_teleop/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/demo_teleop/catkin/catkin_generated/version/package.cmake b/workspace/build/demo_teleop/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/demo_teleop/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/demo_teleop/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/demo_teleop/catkin_generated/installspace/_setup_util.py b/workspace/build/demo_teleop/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/demo_teleop/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/demo_teleop/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/demo_teleop/catkin_generated/installspace/demo_teleopConfig.cmake b/workspace/build/demo_teleop/catkin_generated/installspace/demo_teleopConfig.cmake index a21414c..13adc49 100644 --- a/workspace/build/demo_teleop/catkin_generated/installspace/demo_teleopConfig.cmake +++ b/workspace/build/demo_teleop/catkin_generated/installspace/demo_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND demo_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND demo_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND demo_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.bash b/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.sh b/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.zsh b/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/demo_teleop/catkin_generated/installspace/setup.sh b/workspace/build/demo_teleop/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/demo_teleop/catkin_generated/installspace/setup.sh +++ b/workspace/build/demo_teleop/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/demo_teleop/catkin_generated/setup_cached.sh b/workspace/build/demo_teleop/catkin_generated/setup_cached.sh index 7e6c405..849fbd9 100755 --- a/workspace/build/demo_teleop/catkin_generated/setup_cached.sh +++ b/workspace/build/demo_teleop/catkin_generated/setup_cached.sh @@ -8,6 +8,9 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop" +export PYTHONPATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages:$PYTHONPATH" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/demo-teleop:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/demo_teleop/catkin_generated/stamps/demo_teleop/_setup_util.py.stamp b/workspace/build/demo_teleop/catkin_generated/stamps/demo_teleop/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/demo_teleop/catkin_generated/stamps/demo_teleop/_setup_util.py.stamp +++ b/workspace/build/demo_teleop/catkin_generated/stamps/demo_teleop/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/demo_teleop/cmake_install.cmake b/workspace/build/demo_teleop/cmake_install.cmake index 18e4124..b15408b 100644 --- a/workspace/build/demo_teleop/cmake_install.cmake +++ b/workspace/build/demo_teleop/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/demo_teleop/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/demo_teleop/setup_custom_pythonpath.sh b/workspace/build/demo_teleop/setup_custom_pythonpath.sh new file mode 100755 index 0000000..524ed19 --- /dev/null +++ b/workspace/build/demo_teleop/setup_custom_pythonpath.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +# generated from dynamic_reconfigure/cmake/setup_custom_pythonpath.sh.in + +PYTHONPATH=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop/lib/python2.7/dist-packages:$PYTHONPATH +exec "$@" diff --git a/workspace/build/detect_targets/CMakeCache.txt b/workspace/build/detect_targets/CMakeCache.txt index 3450e84..1a78e69 100644 --- a/workspace/build/detect_targets/CMakeCache.txt +++ b/workspace/build/detect_targets/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/detect_targets/CMakeFiles/CMakeRuleHashes.txt b/workspace/build/detect_targets/CMakeFiles/CMakeRuleHashes.txt index 1d5ab51..9335221 100644 --- a/workspace/build/detect_targets/CMakeFiles/CMakeRuleHashes.txt +++ b/workspace/build/detect_targets/CMakeFiles/CMakeRuleHashes.txt @@ -1,5 +1,11 @@ # Hashes of file build rules. +25fe26d407374e718d57b895f073e4c3 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h ecac21b7b0d7cee7376a1a6d82fc960c /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h +7c95fe4072b387ba7b43ef665c6639f9 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h +4272d07d224979ae120153c613a7a7c0 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h +682eddad3e386de9617fe7589d8b4445 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h +4eb95f5f3007e2cf3e9b37ea01c70224 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h +f354d5b49076f88eb80ef49404339097 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h 11d3cc29bbceb515b5b5fabd70e84e0e /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/component_center.h e27df913c1d51ae7d6aa7edd9d8dd89b /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/component_centers.h 5d3ea617490cb7fd9efed4a9c59ab60a /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/control.h diff --git a/workspace/build/detect_targets/CMakeFiles/Makefile.cmake b/workspace/build/detect_targets/CMakeFiles/Makefile.cmake index c53890e..5e88548 100644 --- a/workspace/build/detect_targets/CMakeFiles/Makefile.cmake +++ b/workspace/build/detect_targets/CMakeFiles/Makefile.cmake @@ -59,6 +59,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -150,6 +153,7 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" @@ -175,13 +179,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS + "CTestConfiguration.ini" "catkin_generated/stamps/detect_targets/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/detect_targets/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" @@ -194,6 +211,12 @@ set(CMAKE_MAKEFILE_PRODUCTS "catkin_generated/stamps/detect_targets/pkg-genmsg.cmake.em.stamp" "setup_custom_pythonpath.sh" "setup_custom_pythonpath.sh" + "setup_custom_pythonpath.sh" + "setup_custom_pythonpath.sh" + "setup_custom_pythonpath.sh" + "setup_custom_pythonpath.sh" + "setup_custom_pythonpath.sh" + "setup_custom_pythonpath.sh" "catkin_generated/stamps/detect_targets/package.xml.stamp" "catkin_generated/pkg.develspace.context.pc.py" "catkin_generated/stamps/detect_targets/pkg.pc.em.stamp" diff --git a/workspace/build/detect_targets/CMakeFiles/Makefile2 b/workspace/build/detect_targets/CMakeFiles/Makefile2 index 1004e7e..153db52 100644 --- a/workspace/build/detect_targets/CMakeFiles/Makefile2 +++ b/workspace/build/detect_targets/CMakeFiles/Makefile2 @@ -66,7 +66,7 @@ CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/de CMakeFiles/detect_targets_gencfg.dir/all: $(MAKE) -f CMakeFiles/detect_targets_gencfg.dir/build.make CMakeFiles/detect_targets_gencfg.dir/depend $(MAKE) -f CMakeFiles/detect_targets_gencfg.dir/build.make CMakeFiles/detect_targets_gencfg.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=1,2 "Built target detect_targets_gencfg" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=1,2,3,4,5,6,7,8 "Built target detect_targets_gencfg" .PHONY : CMakeFiles/detect_targets_gencfg.dir/all # Include target in all. @@ -76,7 +76,7 @@ all: CMakeFiles/detect_targets_gencfg.dir/all # Build rule for subdir invocation for target. CMakeFiles/detect_targets_gencfg.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles 2 + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles 8 $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/detect_targets_gencfg.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles 0 .PHONY : CMakeFiles/detect_targets_gencfg.dir/rule @@ -138,7 +138,7 @@ CMakeFiles/detect_targets_generate_messages_py.dir/all: CMakeFiles/_detect_targe CMakeFiles/detect_targets_generate_messages_py.dir/all: CMakeFiles/_detect_targets_generate_messages_check_deps_component_center.dir/all $(MAKE) -f CMakeFiles/detect_targets_generate_messages_py.dir/build.make CMakeFiles/detect_targets_generate_messages_py.dir/depend $(MAKE) -f CMakeFiles/detect_targets_generate_messages_py.dir/build.make CMakeFiles/detect_targets_generate_messages_py.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=16,17,18,19 "Built target detect_targets_generate_messages_py" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=22,23,24,25 "Built target detect_targets_generate_messages_py" .PHONY : CMakeFiles/detect_targets_generate_messages_py.dir/all # Build rule for subdir invocation for target. @@ -237,7 +237,7 @@ CMakeFiles/detect_targets_generate_messages_eus.dir/all: CMakeFiles/_detect_targ CMakeFiles/detect_targets_generate_messages_eus.dir/all: CMakeFiles/_detect_targets_generate_messages_check_deps_component_center.dir/all $(MAKE) -f CMakeFiles/detect_targets_generate_messages_eus.dir/build.make CMakeFiles/detect_targets_generate_messages_eus.dir/depend $(MAKE) -f CMakeFiles/detect_targets_generate_messages_eus.dir/build.make CMakeFiles/detect_targets_generate_messages_eus.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=6,7,8,9 "Built target detect_targets_generate_messages_eus" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=12,13,14,15 "Built target detect_targets_generate_messages_eus" .PHONY : CMakeFiles/detect_targets_generate_messages_eus.dir/all # Build rule for subdir invocation for target. @@ -304,7 +304,7 @@ CMakeFiles/detect_targets_generate_messages_nodejs.dir/all: CMakeFiles/_detect_t CMakeFiles/detect_targets_generate_messages_nodejs.dir/all: CMakeFiles/_detect_targets_generate_messages_check_deps_component_center.dir/all $(MAKE) -f CMakeFiles/detect_targets_generate_messages_nodejs.dir/build.make CMakeFiles/detect_targets_generate_messages_nodejs.dir/depend $(MAKE) -f CMakeFiles/detect_targets_generate_messages_nodejs.dir/build.make CMakeFiles/detect_targets_generate_messages_nodejs.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=13,14,15 "Built target detect_targets_generate_messages_nodejs" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=19,20,21 "Built target detect_targets_generate_messages_nodejs" .PHONY : CMakeFiles/detect_targets_generate_messages_nodejs.dir/all # Build rule for subdir invocation for target. @@ -1436,7 +1436,7 @@ CMakeFiles/detect_targets_generate_messages_lisp.dir/all: CMakeFiles/_detect_tar CMakeFiles/detect_targets_generate_messages_lisp.dir/all: CMakeFiles/_detect_targets_generate_messages_check_deps_component_center.dir/all $(MAKE) -f CMakeFiles/detect_targets_generate_messages_lisp.dir/build.make CMakeFiles/detect_targets_generate_messages_lisp.dir/depend $(MAKE) -f CMakeFiles/detect_targets_generate_messages_lisp.dir/build.make CMakeFiles/detect_targets_generate_messages_lisp.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=10,11,12 "Built target detect_targets_generate_messages_lisp" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=16,17,18 "Built target detect_targets_generate_messages_lisp" .PHONY : CMakeFiles/detect_targets_generate_messages_lisp.dir/all # Build rule for subdir invocation for target. @@ -1535,7 +1535,7 @@ CMakeFiles/detect_targets_generate_messages_cpp.dir/all: CMakeFiles/_detect_targ CMakeFiles/detect_targets_generate_messages_cpp.dir/all: CMakeFiles/_detect_targets_generate_messages_check_deps_component_center.dir/all $(MAKE) -f CMakeFiles/detect_targets_generate_messages_cpp.dir/build.make CMakeFiles/detect_targets_generate_messages_cpp.dir/depend $(MAKE) -f CMakeFiles/detect_targets_generate_messages_cpp.dir/build.make CMakeFiles/detect_targets_generate_messages_cpp.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=3,4,5 "Built target detect_targets_generate_messages_cpp" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=9,10,11 "Built target detect_targets_generate_messages_cpp" .PHONY : CMakeFiles/detect_targets_generate_messages_cpp.dir/all # Build rule for subdir invocation for target. @@ -1605,7 +1605,7 @@ gtest/googlemock/preinstall: gtest/googlemock/gtest/preinstall gtest/googlemock/CMakeFiles/gmock_main.dir/all: $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/depend $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=23,24,25,26 "Built target gmock_main" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=29,30,31,32 "Built target gmock_main" .PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/all # Build rule for subdir invocation for target. @@ -1637,7 +1637,7 @@ clean: gtest/googlemock/CMakeFiles/gmock_main.dir/clean gtest/googlemock/CMakeFiles/gmock.dir/all: $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/depend $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=20,21,22 "Built target gmock" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=26,27,28 "Built target gmock" .PHONY : gtest/googlemock/CMakeFiles/gmock.dir/all # Build rule for subdir invocation for target. @@ -1688,7 +1688,7 @@ gtest/googlemock/gtest/preinstall: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/all: gtest/googlemock/gtest/CMakeFiles/gtest.dir/all $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=29,30 "Built target gtest_main" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=35,36 "Built target gtest_main" .PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/all # Build rule for subdir invocation for target. @@ -1720,7 +1720,7 @@ clean: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean gtest/googlemock/gtest/CMakeFiles/gtest.dir/all: $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=27,28 "Built target gtest" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=33,34 "Built target gtest" .PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/all # Build rule for subdir invocation for target. diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/DependInfo.cmake b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/DependInfo.cmake index ad69227..d9bbe7f 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/DependInfo.cmake +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/DependInfo.cmake @@ -5,11 +5,35 @@ set(CMAKE_DEPENDS_LANGUAGES # Pairs of files generated by the same build rule. set(CMAKE_MULTIPLE_OUTPUT_PAIRS + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DetectTargetsConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/triangle_controlConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/triangle_controlConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DetectTargetsConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DetectTargetsConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DetectTargetsConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/triangle_controlConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/triangle_controlConfig.h" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig.wikidoc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/triangle_controlConfig.h" diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/build.make b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/build.make index 5b47b94..2292453 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/build.make +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/build.make @@ -57,6 +57,18 @@ CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/wor CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DetectTargetsConfig.py CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/triangle_controlConfig.h CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/triangle_controlConfig.py +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h +CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/DetectTargets.cfg @@ -95,6 +107,114 @@ CMakeFiles/detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/wor /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig.wikidoc: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/triangle_controlConfig.h @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig.wikidoc +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/PIDNode.cfg +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generating dynamic reconfigure files from cfg/PIDNode.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py" + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/PIDNode.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/ProportionalNode.cfg +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generating dynamic reconfigure files from cfg/ProportionalNode.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py" + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/ProportionalNode.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/IntegralNode.cfg +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Generating dynamic reconfigure files from cfg/IntegralNode.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py" + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/IntegralNode.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/DerivativeNode.cfg +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Generating dynamic reconfigure files from cfg/DerivativeNode.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py" + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/DerivativeNode.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/SaturateNode.cfg +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Generating dynamic reconfigure files from cfg/SaturateNode.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py" + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/SaturateNode.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/InputNode.cfg +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Generating dynamic reconfigure files from cfg/InputNode.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py" + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/InputNode.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py + +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h + @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc + detect_targets_gencfg: CMakeFiles/detect_targets_gencfg detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DetectTargetsConfig.h detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DetectTargetsConfig.dox @@ -106,6 +226,36 @@ detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/deve detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig-usage.dox detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/triangle_controlConfig.py detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig.wikidoc +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py +detect_targets_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc detect_targets_gencfg: CMakeFiles/detect_targets_gencfg.dir/build.make .PHONY : detect_targets_gencfg diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/cmake_clean.cmake b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/cmake_clean.cmake index 2d8802f..57f0f79 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/cmake_clean.cmake +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/cmake_clean.cmake @@ -10,6 +10,36 @@ file(REMOVE_RECURSE "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig-usage.dox" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/triangle_controlConfig.py" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/triangle_controlConfig.wikidoc" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/PIDNodeConfig.py" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/ProportionalNodeConfig.py" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/IntegralNodeConfig.py" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/DerivativeNodeConfig.py" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/SaturateNodeConfig.py" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/cfg/InputNodeConfig.py" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc" ) # Per-language clean rules from dependency scanning. diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/progress.make b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/progress.make index abadeb0..5b29368 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/progress.make +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_gencfg.dir/progress.make @@ -1,3 +1,9 @@ CMAKE_PROGRESS_1 = 1 CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 +CMAKE_PROGRESS_6 = 6 +CMAKE_PROGRESS_7 = 7 +CMAKE_PROGRESS_8 = 8 diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_cpp.dir/progress.make b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_cpp.dir/progress.make index f326497..eaef64c 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_cpp.dir/progress.make +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_cpp.dir/progress.make @@ -1,4 +1,4 @@ -CMAKE_PROGRESS_1 = 3 -CMAKE_PROGRESS_2 = 4 -CMAKE_PROGRESS_3 = 5 +CMAKE_PROGRESS_1 = 9 +CMAKE_PROGRESS_2 = 10 +CMAKE_PROGRESS_3 = 11 diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_eus.dir/progress.make b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_eus.dir/progress.make index fdb0a7b..3938ebe 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_eus.dir/progress.make +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_eus.dir/progress.make @@ -1,5 +1,5 @@ -CMAKE_PROGRESS_1 = 6 -CMAKE_PROGRESS_2 = 7 -CMAKE_PROGRESS_3 = 8 -CMAKE_PROGRESS_4 = 9 +CMAKE_PROGRESS_1 = 12 +CMAKE_PROGRESS_2 = 13 +CMAKE_PROGRESS_3 = 14 +CMAKE_PROGRESS_4 = 15 diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_lisp.dir/progress.make b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_lisp.dir/progress.make index 4aba123..9997fcc 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_lisp.dir/progress.make +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_lisp.dir/progress.make @@ -1,4 +1,4 @@ -CMAKE_PROGRESS_1 = 10 -CMAKE_PROGRESS_2 = 11 -CMAKE_PROGRESS_3 = 12 +CMAKE_PROGRESS_1 = 16 +CMAKE_PROGRESS_2 = 17 +CMAKE_PROGRESS_3 = 18 diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_nodejs.dir/progress.make b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_nodejs.dir/progress.make index d47d864..8be5de4 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_nodejs.dir/progress.make +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_nodejs.dir/progress.make @@ -1,4 +1,4 @@ -CMAKE_PROGRESS_1 = 13 -CMAKE_PROGRESS_2 = 14 -CMAKE_PROGRESS_3 = 15 +CMAKE_PROGRESS_1 = 19 +CMAKE_PROGRESS_2 = 20 +CMAKE_PROGRESS_3 = 21 diff --git a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_py.dir/progress.make b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_py.dir/progress.make index c029100..0823b85 100644 --- a/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_py.dir/progress.make +++ b/workspace/build/detect_targets/CMakeFiles/detect_targets_generate_messages_py.dir/progress.make @@ -1,5 +1,5 @@ -CMAKE_PROGRESS_1 = 16 -CMAKE_PROGRESS_2 = 17 -CMAKE_PROGRESS_3 = 18 -CMAKE_PROGRESS_4 = 19 +CMAKE_PROGRESS_1 = 22 +CMAKE_PROGRESS_2 = 23 +CMAKE_PROGRESS_3 = 24 +CMAKE_PROGRESS_4 = 25 diff --git a/workspace/build/detect_targets/CMakeFiles/progress.marks b/workspace/build/detect_targets/CMakeFiles/progress.marks index d6b2404..7273c0f 100644 --- a/workspace/build/detect_targets/CMakeFiles/progress.marks +++ b/workspace/build/detect_targets/CMakeFiles/progress.marks @@ -1 +1 @@ -19 +25 diff --git a/workspace/build/detect_targets/CTestConfiguration.ini b/workspace/build/detect_targets/CTestConfiguration.ini new file mode 100644 index 0000000..f322737 --- /dev/null +++ b/workspace/build/detect_targets/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/detect_targets/CTestCustom.cmake b/workspace/build/detect_targets/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/detect_targets/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/detect_targets/atomic_configure/.rosinstall b/workspace/build/detect_targets/atomic_configure/.rosinstall new file mode 100644 index 0000000..6db7cf8 --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/setup.sh diff --git a/workspace/build/detect_targets/atomic_configure/_setup_util.py b/workspace/build/detect_targets/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/detect_targets/atomic_configure/env.sh b/workspace/build/detect_targets/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/detect_targets/atomic_configure/local_setup.bash b/workspace/build/detect_targets/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/detect_targets/atomic_configure/local_setup.sh b/workspace/build/detect_targets/atomic_configure/local_setup.sh new file mode 100644 index 0000000..e2a840f --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/detect_targets/atomic_configure/local_setup.zsh b/workspace/build/detect_targets/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/detect_targets/atomic_configure/setup.bash b/workspace/build/detect_targets/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/detect_targets/atomic_configure/setup.sh b/workspace/build/detect_targets/atomic_configure/setup.sh new file mode 100644 index 0000000..420a66b --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/detect_targets/atomic_configure/setup.zsh b/workspace/build/detect_targets/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/detect_targets/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/detect_targets/catkin/catkin_generated/version/package.cmake b/workspace/build/detect_targets/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/detect_targets/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/detect_targets/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/detect_targets/catkin_generated/installspace/_setup_util.py b/workspace/build/detect_targets/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/detect_targets/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/detect_targets/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/detect_targets/catkin_generated/installspace/detect_targetsConfig.cmake b/workspace/build/detect_targets/catkin_generated/installspace/detect_targetsConfig.cmake index f2fa22f..b241d3d 100644 --- a/workspace/build/detect_targets/catkin_generated/installspace/detect_targetsConfig.cmake +++ b/workspace/build/detect_targets/catkin_generated/installspace/detect_targetsConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND detect_targets_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND detect_targets_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND detect_targets_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/detect_targets/catkin_generated/installspace/local_setup.bash b/workspace/build/detect_targets/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/detect_targets/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/detect_targets/catkin_generated/installspace/local_setup.sh b/workspace/build/detect_targets/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/detect_targets/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/detect_targets/catkin_generated/installspace/local_setup.zsh b/workspace/build/detect_targets/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/detect_targets/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/detect_targets/catkin_generated/installspace/setup.sh b/workspace/build/detect_targets/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/detect_targets/catkin_generated/installspace/setup.sh +++ b/workspace/build/detect_targets/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/detect_targets/catkin_generated/stamps/detect_targets/_setup_util.py.stamp b/workspace/build/detect_targets/catkin_generated/stamps/detect_targets/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/detect_targets/catkin_generated/stamps/detect_targets/_setup_util.py.stamp +++ b/workspace/build/detect_targets/catkin_generated/stamps/detect_targets/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/detect_targets/cmake_install.cmake b/workspace/build/detect_targets/cmake_install.cmake index af05020..8cb31a2 100644 --- a/workspace/build/detect_targets/cmake_install.cmake +++ b/workspace/build/detect_targets/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) @@ -163,6 +172,30 @@ if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/triangle_controlConfig.h") endif() +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h") +endif() + if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/python2.7/dist-packages/detect_targets" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/lib/python2.7/dist-packages/detect_targets/__init__.py") endif() diff --git a/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock.dir/progress.make b/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock.dir/progress.make index e6d9ab3..fcffe56 100644 --- a/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock.dir/progress.make +++ b/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock.dir/progress.make @@ -1,4 +1,4 @@ -CMAKE_PROGRESS_1 = 20 -CMAKE_PROGRESS_2 = 21 -CMAKE_PROGRESS_3 = 22 +CMAKE_PROGRESS_1 = 26 +CMAKE_PROGRESS_2 = 27 +CMAKE_PROGRESS_3 = 28 diff --git a/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make b/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make index 945ce62..5a7c9ce 100644 --- a/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make +++ b/workspace/build/detect_targets/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make @@ -1,5 +1,5 @@ -CMAKE_PROGRESS_1 = 23 -CMAKE_PROGRESS_2 = 24 -CMAKE_PROGRESS_3 = 25 -CMAKE_PROGRESS_4 = 26 +CMAKE_PROGRESS_1 = 29 +CMAKE_PROGRESS_2 = 30 +CMAKE_PROGRESS_3 = 31 +CMAKE_PROGRESS_4 = 32 diff --git a/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make b/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make index 8791cb6..c354d5c 100644 --- a/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make +++ b/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make @@ -1,3 +1,3 @@ -CMAKE_PROGRESS_1 = 27 -CMAKE_PROGRESS_2 = 28 +CMAKE_PROGRESS_1 = 33 +CMAKE_PROGRESS_2 = 34 diff --git a/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make b/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make index df87bc2..5419900 100644 --- a/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make +++ b/workspace/build/detect_targets/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make @@ -1,3 +1,3 @@ -CMAKE_PROGRESS_1 = 29 -CMAKE_PROGRESS_2 = 30 +CMAKE_PROGRESS_1 = 35 +CMAKE_PROGRESS_2 = 36 diff --git a/workspace/build/drone_demo/CMakeCache.txt b/workspace/build/drone_demo/CMakeCache.txt index 7db3f6a..2642fbe 100644 --- a/workspace/build/drone_demo/CMakeCache.txt +++ b/workspace/build/drone_demo/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/drone_demo/CMakeFiles/Makefile.cmake b/workspace/build/drone_demo/CMakeFiles/Makefile.cmake index 8cbdcb0..47d6b92 100644 --- a/workspace/build/drone_demo/CMakeFiles/Makefile.cmake +++ b/workspace/build/drone_demo/CMakeFiles/Makefile.cmake @@ -65,6 +65,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -176,6 +179,7 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" @@ -201,13 +205,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS + "CTestConfiguration.ini" "catkin_generated/stamps/drone_demo/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/drone_demo/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" diff --git a/workspace/build/drone_demo/CTestConfiguration.ini b/workspace/build/drone_demo/CTestConfiguration.ini new file mode 100644 index 0000000..8383bfd --- /dev/null +++ b/workspace/build/drone_demo/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/drone_demo +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/drone_demo" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/drone_demo/CTestCustom.cmake b/workspace/build/drone_demo/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/drone_demo/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/drone_demo/atomic_configure/.rosinstall b/workspace/build/drone_demo/atomic_configure/.rosinstall new file mode 100644 index 0000000..b43ca6b --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo/setup.sh diff --git a/workspace/build/drone_demo/atomic_configure/_setup_util.py b/workspace/build/drone_demo/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/drone_demo/atomic_configure/env.sh b/workspace/build/drone_demo/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/drone_demo/atomic_configure/local_setup.bash b/workspace/build/drone_demo/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/drone_demo/atomic_configure/local_setup.sh b/workspace/build/drone_demo/atomic_configure/local_setup.sh new file mode 100644 index 0000000..0b39952 --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/drone_demo/atomic_configure/local_setup.zsh b/workspace/build/drone_demo/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/drone_demo/atomic_configure/setup.bash b/workspace/build/drone_demo/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/drone_demo/atomic_configure/setup.sh b/workspace/build/drone_demo/atomic_configure/setup.sh new file mode 100644 index 0000000..beec9a1 --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/drone_demo/atomic_configure/setup.zsh b/workspace/build/drone_demo/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/drone_demo/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/drone_demo/catkin/catkin_generated/version/package.cmake b/workspace/build/drone_demo/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/drone_demo/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/drone_demo/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/drone_demo/catkin_generated/installspace/_setup_util.py b/workspace/build/drone_demo/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/drone_demo/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/drone_demo/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/drone_demo/catkin_generated/installspace/drone_demoConfig.cmake b/workspace/build/drone_demo/catkin_generated/installspace/drone_demoConfig.cmake index e4ac0ca..45ebd9e 100644 --- a/workspace/build/drone_demo/catkin_generated/installspace/drone_demoConfig.cmake +++ b/workspace/build/drone_demo/catkin_generated/installspace/drone_demoConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND drone_demo_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND drone_demo_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND drone_demo_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/drone_demo/catkin_generated/installspace/local_setup.bash b/workspace/build/drone_demo/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/drone_demo/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/drone_demo/catkin_generated/installspace/local_setup.sh b/workspace/build/drone_demo/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/drone_demo/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/drone_demo/catkin_generated/installspace/local_setup.zsh b/workspace/build/drone_demo/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/drone_demo/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/drone_demo/catkin_generated/installspace/setup.sh b/workspace/build/drone_demo/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/drone_demo/catkin_generated/installspace/setup.sh +++ b/workspace/build/drone_demo/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/drone_demo/catkin_generated/stamps/drone_demo/_setup_util.py.stamp b/workspace/build/drone_demo/catkin_generated/stamps/drone_demo/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/drone_demo/catkin_generated/stamps/drone_demo/_setup_util.py.stamp +++ b/workspace/build/drone_demo/catkin_generated/stamps/drone_demo/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/drone_demo/cmake_install.cmake b/workspace/build/drone_demo/cmake_install.cmake index d2aabd5..a997682 100644 --- a/workspace/build/drone_demo/cmake_install.cmake +++ b/workspace/build/drone_demo/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/drone_demo/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/joy_teleop/CMakeCache.txt b/workspace/build/joy_teleop/CMakeCache.txt index ce0f18a..b8ef8db 100644 --- a/workspace/build/joy_teleop/CMakeCache.txt +++ b/workspace/build/joy_teleop/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/joy_teleop/CMakeFiles/Makefile.cmake b/workspace/build/joy_teleop/CMakeFiles/Makefile.cmake index 686285e..e714974 100644 --- a/workspace/build/joy_teleop/CMakeFiles/Makefile.cmake +++ b/workspace/build/joy_teleop/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/installspace/_setup_util.py" "catkin_generated/package.cmake" @@ -56,6 +54,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -70,95 +71,28 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/tools/doxygen.cmake" "/opt/ros/melodic/share/catkin/cmake/tools/libraries.cmake" "/opt/ros/melodic/share/catkin/cmake/tools/rt.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -178,18 +112,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/joy_teleop/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/joy_teleop/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" diff --git a/workspace/build/joy_teleop/CTestConfiguration.ini b/workspace/build/joy_teleop/CTestConfiguration.ini new file mode 100644 index 0000000..4a181f6 --- /dev/null +++ b/workspace/build/joy_teleop/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/joy_teleop +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/joy_teleop" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/joy_teleop/CTestCustom.cmake b/workspace/build/joy_teleop/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/joy_teleop/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/joy_teleop/atomic_configure/.rosinstall b/workspace/build/joy_teleop/atomic_configure/.rosinstall new file mode 100644 index 0000000..3880b8a --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/setup.sh diff --git a/workspace/build/joy_teleop/atomic_configure/_setup_util.py b/workspace/build/joy_teleop/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/joy_teleop/atomic_configure/env.sh b/workspace/build/joy_teleop/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/joy_teleop/atomic_configure/local_setup.bash b/workspace/build/joy_teleop/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/joy_teleop/atomic_configure/local_setup.sh b/workspace/build/joy_teleop/atomic_configure/local_setup.sh new file mode 100644 index 0000000..6329423 --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/joy_teleop/atomic_configure/local_setup.zsh b/workspace/build/joy_teleop/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/joy_teleop/atomic_configure/setup.bash b/workspace/build/joy_teleop/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/joy_teleop/atomic_configure/setup.sh b/workspace/build/joy_teleop/atomic_configure/setup.sh new file mode 100644 index 0000000..b8068ca --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/joy_teleop/atomic_configure/setup.zsh b/workspace/build/joy_teleop/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/joy_teleop/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/joy_teleop/catkin/catkin_generated/version/package.cmake b/workspace/build/joy_teleop/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/joy_teleop/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/joy_teleop/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/joy_teleop/catkin_generated/installspace/_setup_util.py b/workspace/build/joy_teleop/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/joy_teleop/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/joy_teleop/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/joy_teleop/catkin_generated/installspace/joy_teleopConfig.cmake b/workspace/build/joy_teleop/catkin_generated/installspace/joy_teleopConfig.cmake index f1725f0..9c79b86 100644 --- a/workspace/build/joy_teleop/catkin_generated/installspace/joy_teleopConfig.cmake +++ b/workspace/build/joy_teleop/catkin_generated/installspace/joy_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND joy_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND joy_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND joy_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.bash b/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.sh b/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.zsh b/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/joy_teleop/catkin_generated/installspace/setup.sh b/workspace/build/joy_teleop/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/joy_teleop/catkin_generated/installspace/setup.sh +++ b/workspace/build/joy_teleop/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/joy_teleop/catkin_generated/setup_cached.sh b/workspace/build/joy_teleop/catkin_generated/setup_cached.sh index 1e3670c..acce51f 100755 --- a/workspace/build/joy_teleop/catkin_generated/setup_cached.sh +++ b/workspace/build/joy_teleop/catkin_generated/setup_cached.sh @@ -8,6 +8,8 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/joy_teleop:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/joy_teleop/catkin_generated/stamps/joy_teleop/_setup_util.py.stamp b/workspace/build/joy_teleop/catkin_generated/stamps/joy_teleop/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/joy_teleop/catkin_generated/stamps/joy_teleop/_setup_util.py.stamp +++ b/workspace/build/joy_teleop/catkin_generated/stamps/joy_teleop/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/joy_teleop/cmake_install.cmake b/workspace/build/joy_teleop/cmake_install.cmake index e3e40b9..69caccc 100644 --- a/workspace/build/joy_teleop/cmake_install.cmake +++ b/workspace/build/joy_teleop/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/joy_teleop/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/key_teleop/CMakeCache.txt b/workspace/build/key_teleop/CMakeCache.txt index 1299e8c..cb7dd74 100644 --- a/workspace/build/key_teleop/CMakeCache.txt +++ b/workspace/build/key_teleop/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/key_teleop/CMakeFiles/Makefile.cmake b/workspace/build/key_teleop/CMakeFiles/Makefile.cmake index 4db9bd3..7033cee 100644 --- a/workspace/build/key_teleop/CMakeFiles/Makefile.cmake +++ b/workspace/build/key_teleop/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/installspace/_setup_util.py" "catkin_generated/package.cmake" @@ -56,6 +54,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -70,95 +71,28 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/tools/doxygen.cmake" "/opt/ros/melodic/share/catkin/cmake/tools/libraries.cmake" "/opt/ros/melodic/share/catkin/cmake/tools/rt.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -178,18 +112,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/key_teleop/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/key_teleop/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" diff --git a/workspace/build/key_teleop/CTestConfiguration.ini b/workspace/build/key_teleop/CTestConfiguration.ini new file mode 100644 index 0000000..22d9997 --- /dev/null +++ b/workspace/build/key_teleop/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/key_teleop +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/key_teleop" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/key_teleop/CTestCustom.cmake b/workspace/build/key_teleop/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/key_teleop/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/key_teleop/atomic_configure/.rosinstall b/workspace/build/key_teleop/atomic_configure/.rosinstall new file mode 100644 index 0000000..559039d --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/setup.sh diff --git a/workspace/build/key_teleop/atomic_configure/_setup_util.py b/workspace/build/key_teleop/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/key_teleop/atomic_configure/env.sh b/workspace/build/key_teleop/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/key_teleop/atomic_configure/local_setup.bash b/workspace/build/key_teleop/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/key_teleop/atomic_configure/local_setup.sh b/workspace/build/key_teleop/atomic_configure/local_setup.sh new file mode 100644 index 0000000..2ccc677 --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/key_teleop/atomic_configure/local_setup.zsh b/workspace/build/key_teleop/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/key_teleop/atomic_configure/setup.bash b/workspace/build/key_teleop/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/key_teleop/atomic_configure/setup.sh b/workspace/build/key_teleop/atomic_configure/setup.sh new file mode 100644 index 0000000..a348c60 --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/key_teleop/atomic_configure/setup.zsh b/workspace/build/key_teleop/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/key_teleop/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/key_teleop/catkin/catkin_generated/version/package.cmake b/workspace/build/key_teleop/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/key_teleop/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/key_teleop/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/key_teleop/catkin_generated/installspace/_setup_util.py b/workspace/build/key_teleop/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/key_teleop/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/key_teleop/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/key_teleop/catkin_generated/installspace/key_teleopConfig.cmake b/workspace/build/key_teleop/catkin_generated/installspace/key_teleopConfig.cmake index 9ce5771..9413323 100644 --- a/workspace/build/key_teleop/catkin_generated/installspace/key_teleopConfig.cmake +++ b/workspace/build/key_teleop/catkin_generated/installspace/key_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND key_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND key_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND key_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/key_teleop/catkin_generated/installspace/local_setup.bash b/workspace/build/key_teleop/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/key_teleop/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/key_teleop/catkin_generated/installspace/local_setup.sh b/workspace/build/key_teleop/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/key_teleop/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/key_teleop/catkin_generated/installspace/local_setup.zsh b/workspace/build/key_teleop/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/key_teleop/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/key_teleop/catkin_generated/installspace/setup.sh b/workspace/build/key_teleop/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/key_teleop/catkin_generated/installspace/setup.sh +++ b/workspace/build/key_teleop/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/key_teleop/catkin_generated/setup_cached.sh b/workspace/build/key_teleop/catkin_generated/setup_cached.sh index 6ce6c5a..b47b5d6 100755 --- a/workspace/build/key_teleop/catkin_generated/setup_cached.sh +++ b/workspace/build/key_teleop/catkin_generated/setup_cached.sh @@ -8,6 +8,8 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/key_teleop:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/key_teleop/catkin_generated/stamps/key_teleop/_setup_util.py.stamp b/workspace/build/key_teleop/catkin_generated/stamps/key_teleop/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/key_teleop/catkin_generated/stamps/key_teleop/_setup_util.py.stamp +++ b/workspace/build/key_teleop/catkin_generated/stamps/key_teleop/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/key_teleop/cmake_install.cmake b/workspace/build/key_teleop/cmake_install.cmake index a5de60d..a3aa8b2 100644 --- a/workspace/build/key_teleop/cmake_install.cmake +++ b/workspace/build/key_teleop/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/key_teleop/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/mouse_teleop/CMakeCache.txt b/workspace/build/mouse_teleop/CMakeCache.txt index b46a828..07c65f1 100644 --- a/workspace/build/mouse_teleop/CMakeCache.txt +++ b/workspace/build/mouse_teleop/CMakeCache.txt @@ -254,6 +254,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/mouse_teleop/CMakeFiles/Makefile.cmake b/workspace/build/mouse_teleop/CMakeFiles/Makefile.cmake index bc26fa8..f6c9128 100644 --- a/workspace/build/mouse_teleop/CMakeFiles/Makefile.cmake +++ b/workspace/build/mouse_teleop/CMakeFiles/Makefile.cmake @@ -10,8 +10,6 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.10.2/CMakeCCompiler.cmake" "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/feature_tests.c" - "CMakeFiles/feature_tests.cxx" "catkin/catkin_generated/version/package.cmake" "catkin_generated/installspace/_setup_util.py" "catkin_generated/package.cmake" @@ -56,6 +54,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -70,95 +71,28 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/tools/doxygen.cmake" "/opt/ros/melodic/share/catkin/cmake/tools/libraries.cmake" "/opt/ros/melodic/share/catkin/cmake/tools/rt.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" - "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" "/usr/share/cmake-3.10/Modules/FindThreads.cmake" "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" @@ -178,18 +112,26 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.10.2/CMakeSystem.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCCompiler.cmake" - "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" "catkin_generated/stamps/mouse_teleop/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/mouse_teleop/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" diff --git a/workspace/build/mouse_teleop/CTestConfiguration.ini b/workspace/build/mouse_teleop/CTestConfiguration.ini new file mode 100644 index 0000000..28a9537 --- /dev/null +++ b/workspace/build/mouse_teleop/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/mouse_teleop +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/mouse_teleop" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/mouse_teleop/CTestCustom.cmake b/workspace/build/mouse_teleop/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/mouse_teleop/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/mouse_teleop/atomic_configure/.rosinstall b/workspace/build/mouse_teleop/atomic_configure/.rosinstall new file mode 100644 index 0000000..f66466e --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/setup.sh diff --git a/workspace/build/mouse_teleop/atomic_configure/_setup_util.py b/workspace/build/mouse_teleop/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/mouse_teleop/atomic_configure/env.sh b/workspace/build/mouse_teleop/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/mouse_teleop/atomic_configure/local_setup.bash b/workspace/build/mouse_teleop/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/mouse_teleop/atomic_configure/local_setup.sh b/workspace/build/mouse_teleop/atomic_configure/local_setup.sh new file mode 100644 index 0000000..edcd112 --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/mouse_teleop/atomic_configure/local_setup.zsh b/workspace/build/mouse_teleop/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/mouse_teleop/atomic_configure/setup.bash b/workspace/build/mouse_teleop/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/mouse_teleop/atomic_configure/setup.sh b/workspace/build/mouse_teleop/atomic_configure/setup.sh new file mode 100644 index 0000000..f0d9f93 --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/mouse_teleop/atomic_configure/setup.zsh b/workspace/build/mouse_teleop/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/mouse_teleop/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/mouse_teleop/catkin/catkin_generated/version/package.cmake b/workspace/build/mouse_teleop/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/mouse_teleop/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/mouse_teleop/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/mouse_teleop/catkin_generated/installspace/_setup_util.py b/workspace/build/mouse_teleop/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/mouse_teleop/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/mouse_teleop/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.bash b/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.sh b/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.zsh b/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/mouse_teleop/catkin_generated/installspace/mouse_teleopConfig.cmake b/workspace/build/mouse_teleop/catkin_generated/installspace/mouse_teleopConfig.cmake index 8916cb6..d9ea142 100644 --- a/workspace/build/mouse_teleop/catkin_generated/installspace/mouse_teleopConfig.cmake +++ b/workspace/build/mouse_teleop/catkin_generated/installspace/mouse_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND mouse_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND mouse_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND mouse_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/mouse_teleop/catkin_generated/installspace/setup.sh b/workspace/build/mouse_teleop/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/mouse_teleop/catkin_generated/installspace/setup.sh +++ b/workspace/build/mouse_teleop/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/mouse_teleop/catkin_generated/setup_cached.sh b/workspace/build/mouse_teleop/catkin_generated/setup_cached.sh index 9ab4860..0adf988 100755 --- a/workspace/build/mouse_teleop/catkin_generated/setup_cached.sh +++ b/workspace/build/mouse_teleop/catkin_generated/setup_cached.sh @@ -8,6 +8,8 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/mouse_teleop:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/mouse_teleop/catkin_generated/stamps/mouse_teleop/_setup_util.py.stamp b/workspace/build/mouse_teleop/catkin_generated/stamps/mouse_teleop/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/mouse_teleop/catkin_generated/stamps/mouse_teleop/_setup_util.py.stamp +++ b/workspace/build/mouse_teleop/catkin_generated/stamps/mouse_teleop/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/mouse_teleop/cmake_install.cmake b/workspace/build/mouse_teleop/cmake_install.cmake index 0bde432..5a3135a 100644 --- a/workspace/build/mouse_teleop/cmake_install.cmake +++ b/workspace/build/mouse_teleop/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/mouse_teleop/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/rcontrol/CATKIN_IGNORE b/workspace/build/rcontrol/CATKIN_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/workspace/build/rcontrol/CMakeCache.txt b/workspace/build/rcontrol/CMakeCache.txt new file mode 100644 index 0000000..1d9efc8 --- /dev/null +++ b/workspace/build/rcontrol/CMakeCache.txt @@ -0,0 +1,517 @@ +# This is the CMakeCache file. +# For build in directory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Builds the googlemock subproject +BUILD_GMOCK:BOOL=ON + +//Builds the googletest subproject +BUILD_GTEST:BOOL=OFF + +//Build shared libraries (DLLs). +BUILD_SHARED_LIBS:BOOL=ON + +//catkin devel space +CATKIN_DEVEL_PREFIX:PATH=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol + +//Catkin enable testing +CATKIN_ENABLE_TESTING:BOOL=ON + +//Prefix to apply to package generated via gendebian +CATKIN_PACKAGE_PREFIX:STRING= + +//Catkin skip testing +CATKIN_SKIP_TESTING:BOOL=OFF + +//Replace the CMake install command with a custom implementation +// using symlinks instead of copying resources +CATKIN_SYMLINK_INSTALL:BOOL=OFF + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or +// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-7 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-7 + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release builds for minimum +// size. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during release builds with debug info. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-7 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-7 + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release builds for minimum +// size. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during release builds with debug info. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/home/klafyvel/Documents/supelec/2A/projet/workspace/install + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=rcontrol + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Path to a program. +DOXYGEN_EXECUTABLE:FILEPATH=DOXYGEN_EXECUTABLE-NOTFOUND + +//Path to a program. +EMPY_EXECUTABLE:FILEPATH=/usr/bin/empy + +//Empy script +EMPY_SCRIPT:STRING=/usr/bin/empy + +//The directory containing a CMake configuration file for GMock. +GMock_DIR:PATH=GMock_DIR-NOTFOUND + +//Path to a file. +GTEST_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +GTEST_LIBRARY:FILEPATH=GTEST_LIBRARY-NOTFOUND + +//Path to a library. +GTEST_LIBRARY_DEBUG:FILEPATH=GTEST_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +GTEST_MAIN_LIBRARY:FILEPATH=GTEST_MAIN_LIBRARY-NOTFOUND + +//Path to a library. +GTEST_MAIN_LIBRARY_DEBUG:FILEPATH=GTEST_MAIN_LIBRARY_DEBUG-NOTFOUND + +//lsb_release executable was found +LSB_FOUND:BOOL=TRUE + +//Path to a program. +LSB_RELEASE_EXECUTABLE:FILEPATH=/usr/bin/lsb_release + +//Path to a program. +NOSETESTS:FILEPATH=/usr/bin/nosetests-2.7 + +//Path to a program. +PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python2 + +//Specify specific Python version to use ('major.minor' or 'major') +PYTHON_VERSION:STRING=2 + +//Path to a library. +RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so + +//Enable debian style python package layout +SETUPTOOLS_DEB_LAYOUT:BOOL=ON + +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + +//LSB Distrib tag +UBUNTU:BOOL=TRUE + +//LSB Distrib - codename tag +UBUNTU_BIONIC:BOOL=TRUE + +//Path to a file. +_gmock_INCLUDES:FILEPATH=/usr/include/gmock/gmock.h + +//Path to a file. +_gmock_SOURCES:FILEPATH=/usr/src/gmock/src/gmock.cc + +//Path to a file. +_gtest_INCLUDES:FILEPATH=/usr/include/gtest/gtest.h + +//Path to a file. +_gtest_SOURCES:FILEPATH=/usr/src/gtest/src/gtest.cc + +//The directory containing a CMake configuration file for catkin. +catkin_DIR:PATH=/opt/ros/melodic/share/catkin/cmake + +//Value Computed by CMake +gmock_BINARY_DIR:STATIC=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock + +//Dependencies for the target +gmock_LIB_DEPENDS:STATIC=general;-lpthread; + +//Value Computed by CMake +gmock_SOURCE_DIR:STATIC=/usr/src/googletest/googlemock + +//Build all of Google Mock's own tests. +gmock_build_tests:BOOL=OFF + +//Dependencies for the target +gmock_main_LIB_DEPENDS:STATIC=general;-lpthread; + +//Value Computed by CMake +googletest-distribution_BINARY_DIR:STATIC=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest + +//Value Computed by CMake +googletest-distribution_SOURCE_DIR:STATIC=/usr/src/googletest + +//Value Computed by CMake +gtest_BINARY_DIR:STATIC=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest + +//Dependencies for the target +gtest_LIB_DEPENDS:STATIC=general;-lpthread; + +//Value Computed by CMake +gtest_SOURCE_DIR:STATIC=/usr/src/googletest/googletest + +//Build gtest's sample programs. +gtest_build_samples:BOOL=OFF + +//Build all of gtest's own tests. +gtest_build_tests:BOOL=OFF + +//Disable uses of pthreads in gtest. +gtest_disable_pthreads:BOOL=OFF + +//Use shared (DLL) run-time lib even when Google Test is built +// as static lib. +gtest_force_shared_crt:BOOL=OFF + +//Build gtest with internal symbols hidden in shared libraries. +gtest_hide_internal_symbols:BOOL=OFF + +//Dependencies for the target +gtest_main_LIB_DEPENDS:STATIC=general;-lpthread;general;gtest; + +//Value Computed by CMake +rcontrol_BINARY_DIR:STATIC=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +//Value Computed by CMake +rcontrol_SOURCE_DIR:STATIC=/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + + +######################## +# INTERNAL cache entries +######################## + +//catkin environment +CATKIN_ENV:INTERNAL=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/env_cached.sh +CATKIN_TEST_RESULTS_DIR:INTERNAL=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/test_results +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=10 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Have symbol pthread_create +CMAKE_HAVE_LIBC_CREATE:INTERNAL= +//Have library pthreads +CMAKE_HAVE_PTHREADS_CREATE:INTERNAL= +//Have library pthread +CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1 +//Have include pthread.h +CMAKE_HAVE_PTHREAD_H:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=4 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.10 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding PythonInterp +FIND_PACKAGE_MESSAGE_DETAILS_PythonInterp:INTERNAL=[/usr/bin/python2][v2.7.15()] +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +GMOCK_FROM_SOURCE_FOUND:INTERNAL=TRUE +GMOCK_FROM_SOURCE_INCLUDE_DIRS:INTERNAL=/usr/include +GMOCK_FROM_SOURCE_LIBRARIES:INTERNAL=gmock +GMOCK_FROM_SOURCE_LIBRARY_DIRS:INTERNAL=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gmock +GMOCK_FROM_SOURCE_MAIN_LIBRARIES:INTERNAL=gmock_main +GTEST_FROM_SOURCE_FOUND:INTERNAL=TRUE +GTEST_FROM_SOURCE_INCLUDE_DIRS:INTERNAL=/usr/include +GTEST_FROM_SOURCE_LIBRARIES:INTERNAL=gtest +GTEST_FROM_SOURCE_LIBRARY_DIRS:INTERNAL=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest +GTEST_FROM_SOURCE_MAIN_LIBRARIES:INTERNAL=gtest_main +//ADVANCED property for variable: GTEST_INCLUDE_DIR +GTEST_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: GTEST_LIBRARY +GTEST_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: GTEST_LIBRARY_DEBUG +GTEST_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: GTEST_MAIN_LIBRARY +GTEST_MAIN_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: GTEST_MAIN_LIBRARY_DEBUG +GTEST_MAIN_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PYTHON_EXECUTABLE +PYTHON_EXECUTABLE-ADVANCED:INTERNAL=1 +//This needs to be in PYTHONPATH when 'setup.py install' is called. +// And it needs to match. But setuptools won't tell us where +// it will install things. +PYTHON_INSTALL_DIR:INTERNAL=lib/python2.7/dist-packages + diff --git a/workspace/build/rcontrol/CMakeFiles/CMakeDirectoryInformation.cmake b/workspace/build/rcontrol/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..8f5691c --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/workspace/build/rcontrol/CMakeFiles/CMakeRuleHashes.txt b/workspace/build/rcontrol/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..6cb4bf7 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,2 @@ +# Hashes of file build rules. +39596ca2d1aa0051933c1dd6b649c3bb CMakeFiles/clean_test_results diff --git a/workspace/build/rcontrol/CMakeFiles/Makefile.cmake b/workspace/build/rcontrol/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..4a79471 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/Makefile.cmake @@ -0,0 +1,241 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "CMakeFiles/3.10.2/CMakeCCompiler.cmake" + "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CMakeFiles/3.10.2/CMakeSystem.cmake" + "CMakeFiles/feature_tests.c" + "CMakeFiles/feature_tests.cxx" + "catkin/catkin_generated/version/package.cmake" + "catkin_generated/installspace/_setup_util.py" + "catkin_generated/package.cmake" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol/CMakeLists.txt" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol/package.xml" + "/opt/ros/melodic/share/catkin/cmake/../package.xml" + "/opt/ros/melodic/share/catkin/cmake/all.cmake" + "/opt/ros/melodic/share/catkin/cmake/assert.cmake" + "/opt/ros/melodic/share/catkin/cmake/atomic_configure_file.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkinConfig-version.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_add_env_hooks.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_destinations.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_download.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_generate_environment.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_install_python.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_libraries.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_metapackage.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_package.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_package_xml.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_python_setup.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_symlink_install.cmake" + "/opt/ros/melodic/share/catkin/cmake/catkin_workspace.cmake" + "/opt/ros/melodic/share/catkin/cmake/custom_install.cmake" + "/opt/ros/melodic/share/catkin/cmake/debug_message.cmake" + "/opt/ros/melodic/share/catkin/cmake/em/pkg.pc.em" + "/opt/ros/melodic/share/catkin/cmake/em_expand.cmake" + "/opt/ros/melodic/share/catkin/cmake/empy.cmake" + "/opt/ros/melodic/share/catkin/cmake/find_program_required.cmake" + "/opt/ros/melodic/share/catkin/cmake/interrogate_setup_dot_py.py" + "/opt/ros/melodic/share/catkin/cmake/legacy.cmake" + "/opt/ros/melodic/share/catkin/cmake/list_append_deduplicate.cmake" + "/opt/ros/melodic/share/catkin/cmake/list_append_unique.cmake" + "/opt/ros/melodic/share/catkin/cmake/list_insert_in_workspace_order.cmake" + "/opt/ros/melodic/share/catkin/cmake/platform/lsb.cmake" + "/opt/ros/melodic/share/catkin/cmake/platform/ubuntu.cmake" + "/opt/ros/melodic/share/catkin/cmake/platform/windows.cmake" + "/opt/ros/melodic/share/catkin/cmake/python.cmake" + "/opt/ros/melodic/share/catkin/cmake/safe_execute_process.cmake" + "/opt/ros/melodic/share/catkin/cmake/stamp.cmake" + "/opt/ros/melodic/share/catkin/cmake/string_starts_with.cmake" + "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" + "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" + "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" + "/opt/ros/melodic/share/catkin/cmake/templates/rosinstall.in" + "/opt/ros/melodic/share/catkin/cmake/templates/setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/setup.zsh.in" + "/opt/ros/melodic/share/catkin/cmake/test/catkin_download_test_data.cmake" + "/opt/ros/melodic/share/catkin/cmake/test/gtest.cmake" + "/opt/ros/melodic/share/catkin/cmake/test/nosetests.cmake" + "/opt/ros/melodic/share/catkin/cmake/test/tests.cmake" + "/opt/ros/melodic/share/catkin/cmake/tools/doxygen.cmake" + "/opt/ros/melodic/share/catkin/cmake/tools/libraries.cmake" + "/opt/ros/melodic/share/catkin/cmake/tools/rt.cmake" + "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" + "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" + "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" + "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" + "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" + "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" + "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" + "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" + "/usr/share/cmake-3.10/Modules/FindGTest.cmake" + "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" + "/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake" + "/usr/share/cmake-3.10/Modules/FindThreads.cmake" + "/usr/share/cmake-3.10/Modules/GoogleTest.cmake" + "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.10/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.10/Modules/Platform/UnixPaths.cmake" + "/usr/src/googletest/CMakeLists.txt" + "/usr/src/googletest/googlemock/CMakeLists.txt" + "/usr/src/googletest/googletest/CMakeLists.txt" + "/usr/src/googletest/googletest/cmake/internal_utils.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.10.2/CMakeSystem.cmake" + "CMakeFiles/3.10.2/CMakeCCompiler.cmake" + "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CMakeFiles/3.10.2/CMakeCCompiler.cmake" + "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake" + "CTestConfiguration.ini" + "catkin_generated/stamps/rcontrol/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" + "catkin_generated/installspace/_setup_util.py" + "catkin_generated/stamps/rcontrol/_setup_util.py.stamp" + "catkin_generated/installspace/env.sh" + "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" + "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" + "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" + "catkin_generated/installspace/.rosinstall" + "catkin_generated/generate_cached_setup.py" + "catkin_generated/env_cached.sh" + "catkin_generated/stamps/rcontrol/interrogate_setup_dot_py.py.stamp" + "catkin_generated/stamps/rcontrol/package.xml.stamp" + "catkin_generated/pkg.develspace.context.pc.py" + "catkin_generated/stamps/rcontrol/pkg.pc.em.stamp" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig.cmake" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig-version.cmake" + "catkin_generated/pkg.installspace.context.pc.py" + "catkin_generated/stamps/rcontrol/pkg.pc.em.stamp" + "catkin_generated/installspace/rcontrolConfig.cmake" + "catkin_generated/installspace/rcontrolConfig-version.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + "gtest/CMakeFiles/CMakeDirectoryInformation.cmake" + "gtest/googlemock/CMakeFiles/CMakeDirectoryInformation.cmake" + "gtest/googlemock/gtest/CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/tests.dir/DependInfo.cmake" + "CMakeFiles/run_tests.dir/DependInfo.cmake" + "CMakeFiles/download_extra_data.dir/DependInfo.cmake" + "CMakeFiles/_catkin_empty_exported_target.dir/DependInfo.cmake" + "CMakeFiles/clean_test_results.dir/DependInfo.cmake" + "CMakeFiles/doxygen.dir/DependInfo.cmake" + "gtest/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake" + "gtest/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake" + "gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/DependInfo.cmake" + "gtest/googlemock/gtest/CMakeFiles/gtest.dir/DependInfo.cmake" + ) diff --git a/workspace/build/rcontrol/CMakeFiles/Makefile2 b/workspace/build/rcontrol/CMakeFiles/Makefile2 new file mode 100644 index 0000000..5881e3f --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/Makefile2 @@ -0,0 +1,448 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# The main recursive all target +all: + +.PHONY : all + +# The main recursive preinstall target +preinstall: + +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +#============================================================================= +# Target rules for target CMakeFiles/tests.dir + +# All Build rule for target. +CMakeFiles/tests.dir/all: + $(MAKE) -f CMakeFiles/tests.dir/build.make CMakeFiles/tests.dir/depend + $(MAKE) -f CMakeFiles/tests.dir/build.make CMakeFiles/tests.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num= "Built target tests" +.PHONY : CMakeFiles/tests.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/tests.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/tests.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : CMakeFiles/tests.dir/rule + +# Convenience name for target. +tests: CMakeFiles/tests.dir/rule + +.PHONY : tests + +# clean rule for target. +CMakeFiles/tests.dir/clean: + $(MAKE) -f CMakeFiles/tests.dir/build.make CMakeFiles/tests.dir/clean +.PHONY : CMakeFiles/tests.dir/clean + +# clean rule for target. +clean: CMakeFiles/tests.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/run_tests.dir + +# All Build rule for target. +CMakeFiles/run_tests.dir/all: + $(MAKE) -f CMakeFiles/run_tests.dir/build.make CMakeFiles/run_tests.dir/depend + $(MAKE) -f CMakeFiles/run_tests.dir/build.make CMakeFiles/run_tests.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num= "Built target run_tests" +.PHONY : CMakeFiles/run_tests.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/run_tests.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/run_tests.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : CMakeFiles/run_tests.dir/rule + +# Convenience name for target. +run_tests: CMakeFiles/run_tests.dir/rule + +.PHONY : run_tests + +# clean rule for target. +CMakeFiles/run_tests.dir/clean: + $(MAKE) -f CMakeFiles/run_tests.dir/build.make CMakeFiles/run_tests.dir/clean +.PHONY : CMakeFiles/run_tests.dir/clean + +# clean rule for target. +clean: CMakeFiles/run_tests.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/download_extra_data.dir + +# All Build rule for target. +CMakeFiles/download_extra_data.dir/all: + $(MAKE) -f CMakeFiles/download_extra_data.dir/build.make CMakeFiles/download_extra_data.dir/depend + $(MAKE) -f CMakeFiles/download_extra_data.dir/build.make CMakeFiles/download_extra_data.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num= "Built target download_extra_data" +.PHONY : CMakeFiles/download_extra_data.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/download_extra_data.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/download_extra_data.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : CMakeFiles/download_extra_data.dir/rule + +# Convenience name for target. +download_extra_data: CMakeFiles/download_extra_data.dir/rule + +.PHONY : download_extra_data + +# clean rule for target. +CMakeFiles/download_extra_data.dir/clean: + $(MAKE) -f CMakeFiles/download_extra_data.dir/build.make CMakeFiles/download_extra_data.dir/clean +.PHONY : CMakeFiles/download_extra_data.dir/clean + +# clean rule for target. +clean: CMakeFiles/download_extra_data.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/_catkin_empty_exported_target.dir + +# All Build rule for target. +CMakeFiles/_catkin_empty_exported_target.dir/all: + $(MAKE) -f CMakeFiles/_catkin_empty_exported_target.dir/build.make CMakeFiles/_catkin_empty_exported_target.dir/depend + $(MAKE) -f CMakeFiles/_catkin_empty_exported_target.dir/build.make CMakeFiles/_catkin_empty_exported_target.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num= "Built target _catkin_empty_exported_target" +.PHONY : CMakeFiles/_catkin_empty_exported_target.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/_catkin_empty_exported_target.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/_catkin_empty_exported_target.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : CMakeFiles/_catkin_empty_exported_target.dir/rule + +# Convenience name for target. +_catkin_empty_exported_target: CMakeFiles/_catkin_empty_exported_target.dir/rule + +.PHONY : _catkin_empty_exported_target + +# clean rule for target. +CMakeFiles/_catkin_empty_exported_target.dir/clean: + $(MAKE) -f CMakeFiles/_catkin_empty_exported_target.dir/build.make CMakeFiles/_catkin_empty_exported_target.dir/clean +.PHONY : CMakeFiles/_catkin_empty_exported_target.dir/clean + +# clean rule for target. +clean: CMakeFiles/_catkin_empty_exported_target.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/clean_test_results.dir + +# All Build rule for target. +CMakeFiles/clean_test_results.dir/all: + $(MAKE) -f CMakeFiles/clean_test_results.dir/build.make CMakeFiles/clean_test_results.dir/depend + $(MAKE) -f CMakeFiles/clean_test_results.dir/build.make CMakeFiles/clean_test_results.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num= "Built target clean_test_results" +.PHONY : CMakeFiles/clean_test_results.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/clean_test_results.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/clean_test_results.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : CMakeFiles/clean_test_results.dir/rule + +# Convenience name for target. +clean_test_results: CMakeFiles/clean_test_results.dir/rule + +.PHONY : clean_test_results + +# clean rule for target. +CMakeFiles/clean_test_results.dir/clean: + $(MAKE) -f CMakeFiles/clean_test_results.dir/build.make CMakeFiles/clean_test_results.dir/clean +.PHONY : CMakeFiles/clean_test_results.dir/clean + +# clean rule for target. +clean: CMakeFiles/clean_test_results.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/doxygen.dir + +# All Build rule for target. +CMakeFiles/doxygen.dir/all: + $(MAKE) -f CMakeFiles/doxygen.dir/build.make CMakeFiles/doxygen.dir/depend + $(MAKE) -f CMakeFiles/doxygen.dir/build.make CMakeFiles/doxygen.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num= "Built target doxygen" +.PHONY : CMakeFiles/doxygen.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/doxygen.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/doxygen.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : CMakeFiles/doxygen.dir/rule + +# Convenience name for target. +doxygen: CMakeFiles/doxygen.dir/rule + +.PHONY : doxygen + +# clean rule for target. +CMakeFiles/doxygen.dir/clean: + $(MAKE) -f CMakeFiles/doxygen.dir/build.make CMakeFiles/doxygen.dir/clean +.PHONY : CMakeFiles/doxygen.dir/clean + +# clean rule for target. +clean: CMakeFiles/doxygen.dir/clean + +.PHONY : clean + +#============================================================================= +# Directory level rules for directory gtest + +# Convenience name for "all" pass in the directory. +gtest/all: gtest/googlemock/all + +.PHONY : gtest/all + +# Convenience name for "clean" pass in the directory. +gtest/clean: gtest/googlemock/clean + +.PHONY : gtest/clean + +# Convenience name for "preinstall" pass in the directory. +gtest/preinstall: gtest/googlemock/preinstall + +.PHONY : gtest/preinstall + +#============================================================================= +# Directory level rules for directory gtest/googlemock + +# Convenience name for "all" pass in the directory. +gtest/googlemock/all: gtest/googlemock/gtest/all + +.PHONY : gtest/googlemock/all + +# Convenience name for "clean" pass in the directory. +gtest/googlemock/clean: gtest/googlemock/CMakeFiles/gmock_main.dir/clean +gtest/googlemock/clean: gtest/googlemock/CMakeFiles/gmock.dir/clean +gtest/googlemock/clean: gtest/googlemock/gtest/clean + +.PHONY : gtest/googlemock/clean + +# Convenience name for "preinstall" pass in the directory. +gtest/googlemock/preinstall: gtest/googlemock/gtest/preinstall + +.PHONY : gtest/googlemock/preinstall + +#============================================================================= +# Target rules for target gtest/googlemock/CMakeFiles/gmock_main.dir + +# All Build rule for target. +gtest/googlemock/CMakeFiles/gmock_main.dir/all: + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/depend + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=4,5,6,7 "Built target gmock_main" +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/all + +# Build rule for subdir invocation for target. +gtest/googlemock/CMakeFiles/gmock_main.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 4 + $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/CMakeFiles/gmock_main.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/rule + +# Convenience name for target. +gmock_main: gtest/googlemock/CMakeFiles/gmock_main.dir/rule + +.PHONY : gmock_main + +# clean rule for target. +gtest/googlemock/CMakeFiles/gmock_main.dir/clean: + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/clean +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/clean + +# clean rule for target. +clean: gtest/googlemock/CMakeFiles/gmock_main.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target gtest/googlemock/CMakeFiles/gmock.dir + +# All Build rule for target. +gtest/googlemock/CMakeFiles/gmock.dir/all: + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/depend + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=1,2,3 "Built target gmock" +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/all + +# Build rule for subdir invocation for target. +gtest/googlemock/CMakeFiles/gmock.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 3 + $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/CMakeFiles/gmock.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/rule + +# Convenience name for target. +gmock: gtest/googlemock/CMakeFiles/gmock.dir/rule + +.PHONY : gmock + +# clean rule for target. +gtest/googlemock/CMakeFiles/gmock.dir/clean: + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/clean +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/clean + +# clean rule for target. +clean: gtest/googlemock/CMakeFiles/gmock.dir/clean + +.PHONY : clean + +#============================================================================= +# Directory level rules for directory gtest/googlemock/gtest + +# Convenience name for "all" pass in the directory. +gtest/googlemock/gtest/all: + +.PHONY : gtest/googlemock/gtest/all + +# Convenience name for "clean" pass in the directory. +gtest/googlemock/gtest/clean: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean +gtest/googlemock/gtest/clean: gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean + +.PHONY : gtest/googlemock/gtest/clean + +# Convenience name for "preinstall" pass in the directory. +gtest/googlemock/gtest/preinstall: + +.PHONY : gtest/googlemock/gtest/preinstall + +#============================================================================= +# Target rules for target gtest/googlemock/gtest/CMakeFiles/gtest_main.dir + +# All Build rule for target. +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/all: gtest/googlemock/gtest/CMakeFiles/gtest.dir/all + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=10,11 "Built target gtest_main" +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/all + +# Build rule for subdir invocation for target. +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 4 + $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/rule + +# Convenience name for target. +gtest_main: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/rule + +.PHONY : gtest_main + +# clean rule for target. +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean: + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean + +# clean rule for target. +clean: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target gtest/googlemock/gtest/CMakeFiles/gtest.dir + +# All Build rule for target. +gtest/googlemock/gtest/CMakeFiles/gtest.dir/all: + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=8,9 "Built target gtest" +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/all + +# Build rule for subdir invocation for target. +gtest/googlemock/gtest/CMakeFiles/gtest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/CMakeFiles/gtest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/rule + +# Convenience name for target. +gtest: gtest/googlemock/gtest/CMakeFiles/gtest.dir/rule + +.PHONY : gtest + +# clean rule for target. +gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean: + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean + +# clean rule for target. +clean: gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean + +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/workspace/build/rcontrol/CMakeFiles/TargetDirectories.txt b/workspace/build/rcontrol/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..00a6c64 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,38 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/install/strip.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/install.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/list_install_components.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/install/local.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/test.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/tests.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/edit_cache.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/run_tests.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/rebuild_cache.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/doxygen.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/install/strip.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/edit_cache.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/list_install_components.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/test.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/install/local.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/rebuild_cache.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/install.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/install/strip.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/install.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/install/local.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/test.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/list_install_components.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/rebuild_cache.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/edit_cache.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/install/strip.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/install.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/edit_cache.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/install/local.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/test.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/list_install_components.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/rebuild_cache.dir diff --git a/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/DependInfo.cmake b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/build.make b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/build.make new file mode 100644 index 0000000..cbc9c27 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/build.make @@ -0,0 +1,72 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Utility rule file for _catkin_empty_exported_target. + +# Include the progress variables for this target. +include CMakeFiles/_catkin_empty_exported_target.dir/progress.make + +_catkin_empty_exported_target: CMakeFiles/_catkin_empty_exported_target.dir/build.make + +.PHONY : _catkin_empty_exported_target + +# Rule to build all files generated by this target. +CMakeFiles/_catkin_empty_exported_target.dir/build: _catkin_empty_exported_target + +.PHONY : CMakeFiles/_catkin_empty_exported_target.dir/build + +CMakeFiles/_catkin_empty_exported_target.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/_catkin_empty_exported_target.dir/cmake_clean.cmake +.PHONY : CMakeFiles/_catkin_empty_exported_target.dir/clean + +CMakeFiles/_catkin_empty_exported_target.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/_catkin_empty_exported_target.dir/depend + diff --git a/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/cmake_clean.cmake b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/cmake_clean.cmake new file mode 100644 index 0000000..56a88ba --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/cmake_clean.cmake @@ -0,0 +1,5 @@ + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/_catkin_empty_exported_target.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/progress.make b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/_catkin_empty_exported_target.dir/progress.make @@ -0,0 +1 @@ + diff --git a/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/DependInfo.cmake b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/build.make b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/build.make new file mode 100644 index 0000000..e597652 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Utility rule file for clean_test_results. + +# Include the progress variables for this target. +include CMakeFiles/clean_test_results.dir/progress.make + +CMakeFiles/clean_test_results: + /usr/bin/python2 /opt/ros/melodic/share/catkin/cmake/test/remove_test_results.py /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/test_results + +clean_test_results: CMakeFiles/clean_test_results +clean_test_results: CMakeFiles/clean_test_results.dir/build.make + +.PHONY : clean_test_results + +# Rule to build all files generated by this target. +CMakeFiles/clean_test_results.dir/build: clean_test_results + +.PHONY : CMakeFiles/clean_test_results.dir/build + +CMakeFiles/clean_test_results.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/clean_test_results.dir/cmake_clean.cmake +.PHONY : CMakeFiles/clean_test_results.dir/clean + +CMakeFiles/clean_test_results.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/clean_test_results.dir/depend + diff --git a/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/cmake_clean.cmake b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/cmake_clean.cmake new file mode 100644 index 0000000..63bf0e0 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/clean_test_results" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/clean_test_results.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/progress.make b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/clean_test_results.dir/progress.make @@ -0,0 +1 @@ + diff --git a/workspace/build/rcontrol/CMakeFiles/cmake.check_cache b/workspace/build/rcontrol/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/DependInfo.cmake b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/build.make b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/build.make new file mode 100644 index 0000000..a8f9f94 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/build.make @@ -0,0 +1,72 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Utility rule file for download_extra_data. + +# Include the progress variables for this target. +include CMakeFiles/download_extra_data.dir/progress.make + +download_extra_data: CMakeFiles/download_extra_data.dir/build.make + +.PHONY : download_extra_data + +# Rule to build all files generated by this target. +CMakeFiles/download_extra_data.dir/build: download_extra_data + +.PHONY : CMakeFiles/download_extra_data.dir/build + +CMakeFiles/download_extra_data.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/download_extra_data.dir/cmake_clean.cmake +.PHONY : CMakeFiles/download_extra_data.dir/clean + +CMakeFiles/download_extra_data.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/download_extra_data.dir/depend + diff --git a/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/cmake_clean.cmake b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/cmake_clean.cmake new file mode 100644 index 0000000..bf7d7e2 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/cmake_clean.cmake @@ -0,0 +1,5 @@ + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/download_extra_data.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/progress.make b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/download_extra_data.dir/progress.make @@ -0,0 +1 @@ + diff --git a/workspace/build/rcontrol/CMakeFiles/doxygen.dir/DependInfo.cmake b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/CMakeFiles/doxygen.dir/build.make b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/build.make new file mode 100644 index 0000000..3052731 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/build.make @@ -0,0 +1,72 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Utility rule file for doxygen. + +# Include the progress variables for this target. +include CMakeFiles/doxygen.dir/progress.make + +doxygen: CMakeFiles/doxygen.dir/build.make + +.PHONY : doxygen + +# Rule to build all files generated by this target. +CMakeFiles/doxygen.dir/build: doxygen + +.PHONY : CMakeFiles/doxygen.dir/build + +CMakeFiles/doxygen.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/doxygen.dir/cmake_clean.cmake +.PHONY : CMakeFiles/doxygen.dir/clean + +CMakeFiles/doxygen.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/doxygen.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/doxygen.dir/depend + diff --git a/workspace/build/rcontrol/CMakeFiles/doxygen.dir/cmake_clean.cmake b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/cmake_clean.cmake new file mode 100644 index 0000000..ef20a75 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/cmake_clean.cmake @@ -0,0 +1,5 @@ + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/doxygen.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/CMakeFiles/doxygen.dir/progress.make b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/doxygen.dir/progress.make @@ -0,0 +1 @@ + diff --git a/workspace/build/rcontrol/CMakeFiles/feature_tests.bin b/workspace/build/rcontrol/CMakeFiles/feature_tests.bin new file mode 100755 index 0000000000000000000000000000000000000000..86a1c55b6e230a7f83aff36cad7e52b77c678cc3 GIT binary patch literal 12312 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 304 +"1" +#else +"0" +#endif +"c_function_prototypes\n" +"C_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +"1" +#else +"0" +#endif +"c_restrict\n" +"C_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L +"1" +#else +"0" +#endif +"c_static_assert\n" +"C_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +"1" +#else +"0" +#endif +"c_variadic_macros\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/workspace/build/rcontrol/CMakeFiles/feature_tests.cxx b/workspace/build/rcontrol/CMakeFiles/feature_tests.cxx new file mode 100644 index 0000000..b93418c --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/feature_tests.cxx @@ -0,0 +1,405 @@ + + const char features[] = {"\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_aggregate_default_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alias_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alignas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alignof\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_attributes\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_attribute_deprecated\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_auto_type\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_binary_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_constexpr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_contextual_conversions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_decltype\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_decltype_auto\n" +"CXX_FEATURE:" +#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_decltype_incomplete_return_types\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_default_function_template_args\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_defaulted_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_defaulted_move_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_delegating_constructors\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_deleted_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_digit_separators\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_enum_forward_declarations\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_explicit_conversions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_extended_friend_declarations\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_extern_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_final\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_func_identifier\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_generalized_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_generic_lambdas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_inheriting_constructors\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_inline_namespaces\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_lambdas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_lambda_init_captures\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_local_type_template_args\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_long_long_type\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_noexcept\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_nonstatic_member_init\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_nullptr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_override\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_range_for\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_raw_string_literals\n" +"CXX_FEATURE:" +#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_reference_qualified_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_relaxed_constexpr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_return_type_deduction\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_right_angle_brackets\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_rvalue_references\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_sizeof_member\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_static_assert\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_strong_enums\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus +"1" +#else +"0" +#endif +"cxx_template_template_parameters\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_thread_local\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_trailing_return_types\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_unicode_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_uniform_initialization\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_unrestricted_unions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_user_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_variable_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_variadic_macros\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_variadic_templates\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/workspace/build/rcontrol/CMakeFiles/progress.marks b/workspace/build/rcontrol/CMakeFiles/progress.marks new file mode 100644 index 0000000..573541a --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/workspace/build/rcontrol/CMakeFiles/run_tests.dir/DependInfo.cmake b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/CMakeFiles/run_tests.dir/build.make b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/build.make new file mode 100644 index 0000000..c39cf6b --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/build.make @@ -0,0 +1,72 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Utility rule file for run_tests. + +# Include the progress variables for this target. +include CMakeFiles/run_tests.dir/progress.make + +run_tests: CMakeFiles/run_tests.dir/build.make + +.PHONY : run_tests + +# Rule to build all files generated by this target. +CMakeFiles/run_tests.dir/build: run_tests + +.PHONY : CMakeFiles/run_tests.dir/build + +CMakeFiles/run_tests.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/run_tests.dir/cmake_clean.cmake +.PHONY : CMakeFiles/run_tests.dir/clean + +CMakeFiles/run_tests.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/run_tests.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/run_tests.dir/depend + diff --git a/workspace/build/rcontrol/CMakeFiles/run_tests.dir/cmake_clean.cmake b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/cmake_clean.cmake new file mode 100644 index 0000000..e67d34f --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/cmake_clean.cmake @@ -0,0 +1,5 @@ + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/run_tests.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/CMakeFiles/run_tests.dir/progress.make b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/run_tests.dir/progress.make @@ -0,0 +1 @@ + diff --git a/workspace/build/rcontrol/CMakeFiles/tests.dir/DependInfo.cmake b/workspace/build/rcontrol/CMakeFiles/tests.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/tests.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/CMakeFiles/tests.dir/build.make b/workspace/build/rcontrol/CMakeFiles/tests.dir/build.make new file mode 100644 index 0000000..bf86907 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/tests.dir/build.make @@ -0,0 +1,72 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Utility rule file for tests. + +# Include the progress variables for this target. +include CMakeFiles/tests.dir/progress.make + +tests: CMakeFiles/tests.dir/build.make + +.PHONY : tests + +# Rule to build all files generated by this target. +CMakeFiles/tests.dir/build: tests + +.PHONY : CMakeFiles/tests.dir/build + +CMakeFiles/tests.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/tests.dir/cmake_clean.cmake +.PHONY : CMakeFiles/tests.dir/clean + +CMakeFiles/tests.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/tests.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/tests.dir/depend + diff --git a/workspace/build/rcontrol/CMakeFiles/tests.dir/cmake_clean.cmake b/workspace/build/rcontrol/CMakeFiles/tests.dir/cmake_clean.cmake new file mode 100644 index 0000000..910f04d --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/tests.dir/cmake_clean.cmake @@ -0,0 +1,5 @@ + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/tests.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/CMakeFiles/tests.dir/progress.make b/workspace/build/rcontrol/CMakeFiles/tests.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/build/rcontrol/CMakeFiles/tests.dir/progress.make @@ -0,0 +1 @@ + diff --git a/workspace/build/rcontrol/CTestConfiguration.ini b/workspace/build/rcontrol/CTestConfiguration.ini new file mode 100644 index 0000000..c4cd7f6 --- /dev/null +++ b/workspace/build/rcontrol/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/rcontrol/CTestCustom.cmake b/workspace/build/rcontrol/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/rcontrol/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/rcontrol/CTestTestfile.cmake b/workspace/build/rcontrol/CTestTestfile.cmake new file mode 100644 index 0000000..68fe475 --- /dev/null +++ b/workspace/build/rcontrol/CTestTestfile.cmake @@ -0,0 +1,7 @@ +# CMake generated Testfile for +# Source directory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol +# Build directory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +subdirs("gtest") diff --git a/workspace/build/rcontrol/Makefile b/workspace/build/rcontrol/Makefile new file mode 100644 index 0000000..1bb16f0 --- /dev/null +++ b/workspace/build/rcontrol/Makefile @@ -0,0 +1,336 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named tests + +# Build rule for target. +tests: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 tests +.PHONY : tests + +# fast build rule for target. +tests/fast: + $(MAKE) -f CMakeFiles/tests.dir/build.make CMakeFiles/tests.dir/build +.PHONY : tests/fast + +#============================================================================= +# Target rules for targets named run_tests + +# Build rule for target. +run_tests: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 run_tests +.PHONY : run_tests + +# fast build rule for target. +run_tests/fast: + $(MAKE) -f CMakeFiles/run_tests.dir/build.make CMakeFiles/run_tests.dir/build +.PHONY : run_tests/fast + +#============================================================================= +# Target rules for targets named download_extra_data + +# Build rule for target. +download_extra_data: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 download_extra_data +.PHONY : download_extra_data + +# fast build rule for target. +download_extra_data/fast: + $(MAKE) -f CMakeFiles/download_extra_data.dir/build.make CMakeFiles/download_extra_data.dir/build +.PHONY : download_extra_data/fast + +#============================================================================= +# Target rules for targets named _catkin_empty_exported_target + +# Build rule for target. +_catkin_empty_exported_target: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 _catkin_empty_exported_target +.PHONY : _catkin_empty_exported_target + +# fast build rule for target. +_catkin_empty_exported_target/fast: + $(MAKE) -f CMakeFiles/_catkin_empty_exported_target.dir/build.make CMakeFiles/_catkin_empty_exported_target.dir/build +.PHONY : _catkin_empty_exported_target/fast + +#============================================================================= +# Target rules for targets named clean_test_results + +# Build rule for target. +clean_test_results: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clean_test_results +.PHONY : clean_test_results + +# fast build rule for target. +clean_test_results/fast: + $(MAKE) -f CMakeFiles/clean_test_results.dir/build.make CMakeFiles/clean_test_results.dir/build +.PHONY : clean_test_results/fast + +#============================================================================= +# Target rules for targets named doxygen + +# Build rule for target. +doxygen: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 doxygen +.PHONY : doxygen + +# fast build rule for target. +doxygen/fast: + $(MAKE) -f CMakeFiles/doxygen.dir/build.make CMakeFiles/doxygen.dir/build +.PHONY : doxygen/fast + +#============================================================================= +# Target rules for targets named gmock_main + +# Build rule for target. +gmock_main: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gmock_main +.PHONY : gmock_main + +# fast build rule for target. +gmock_main/fast: + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/build +.PHONY : gmock_main/fast + +#============================================================================= +# Target rules for targets named gmock + +# Build rule for target. +gmock: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gmock +.PHONY : gmock + +# fast build rule for target. +gmock/fast: + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/build +.PHONY : gmock/fast + +#============================================================================= +# Target rules for targets named gtest_main + +# Build rule for target. +gtest_main: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gtest_main +.PHONY : gtest_main + +# fast build rule for target. +gtest_main/fast: + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build +.PHONY : gtest_main/fast + +#============================================================================= +# Target rules for targets named gtest + +# Build rule for target. +gtest: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gtest +.PHONY : gtest + +# fast build rule for target. +gtest/fast: + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/build +.PHONY : gtest/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install" + @echo "... list_install_components" + @echo "... install/local" + @echo "... test" + @echo "... tests" + @echo "... edit_cache" + @echo "... run_tests" + @echo "... rebuild_cache" + @echo "... download_extra_data" + @echo "... _catkin_empty_exported_target" + @echo "... clean_test_results" + @echo "... doxygen" + @echo "... gmock_main" + @echo "... gmock" + @echo "... gtest_main" + @echo "... gtest" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/workspace/build/rcontrol/atomic_configure/.rosinstall b/workspace/build/rcontrol/atomic_configure/.rosinstall new file mode 100644 index 0000000..705c453 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/setup.sh diff --git a/workspace/build/rcontrol/atomic_configure/_setup_util.py b/workspace/build/rcontrol/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/rcontrol/atomic_configure/env.sh b/workspace/build/rcontrol/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/rcontrol/atomic_configure/local_setup.bash b/workspace/build/rcontrol/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/rcontrol/atomic_configure/local_setup.sh b/workspace/build/rcontrol/atomic_configure/local_setup.sh new file mode 100644 index 0000000..5fe93e4 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/rcontrol/atomic_configure/local_setup.zsh b/workspace/build/rcontrol/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/rcontrol/atomic_configure/setup.bash b/workspace/build/rcontrol/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/rcontrol/atomic_configure/setup.sh b/workspace/build/rcontrol/atomic_configure/setup.sh new file mode 100644 index 0000000..919dcb4 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/rcontrol/atomic_configure/setup.zsh b/workspace/build/rcontrol/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/rcontrol/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/rcontrol/catkin/catkin_generated/version/package.cmake b/workspace/build/rcontrol/catkin/catkin_generated/version/package.cmake new file mode 100644 index 0000000..25847eb --- /dev/null +++ b/workspace/build/rcontrol/catkin/catkin_generated/version/package.cmake @@ -0,0 +1,20 @@ +set(_CATKIN_CURRENT_PACKAGE "catkin") +set(catkin_VERSION "0.7.17") +set(catkin_MAINTAINER "Dirk Thomas ") +set(catkin_PACKAGE_FORMAT "2") +set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") +set(catkin_BUILD_DEPENDS_python-catkin-pkg_VERSION_GT "0.4.3") +set(catkin_BUILD_EXPORT_DEPENDS "google-mock" "gtest" "python-empy" "python-nose" "python-argparse" "python-catkin-pkg") +set(catkin_BUILD_EXPORT_DEPENDS_python-catkin-pkg_VERSION_GT "0.4.3") +set(catkin_BUILDTOOL_DEPENDS "cmake") +set(catkin_BUILDTOOL_EXPORT_DEPENDS "cmake") +set(catkin_EXEC_DEPENDS "python-argparse" "python-catkin-pkg") +set(catkin_EXEC_DEPENDS_python-catkin-pkg_VERSION_GT "0.4.3") +set(catkin_RUN_DEPENDS "python-argparse" "python-catkin-pkg" "google-mock" "gtest" "python-empy" "python-nose") +set(catkin_RUN_DEPENDS_python-catkin-pkg_VERSION_GT "0.4.3") +set(catkin_TEST_DEPENDS "python-mock" "python-nose") +set(catkin_DOC_DEPENDS ) +set(catkin_URL_WEBSITE "http://www.ros.org/wiki/catkin") +set(catkin_URL_BUGTRACKER "https://github.com/ros/catkin/issues") +set(catkin_URL_REPOSITORY "https://github.com/ros/catkin") +set(catkin_DEPRECATED "") \ No newline at end of file diff --git a/workspace/build/rcontrol/catkin_generated/env_cached.sh b/workspace/build/rcontrol/catkin_generated/env_cached.sh new file mode 100755 index 0000000..d6be91d --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/env_cached.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup_cached.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup_cached.sh" +exec "$@" diff --git a/workspace/build/rcontrol/catkin_generated/generate_cached_setup.py b/workspace/build/rcontrol/catkin_generated/generate_cached_setup.py new file mode 100644 index 0000000..32ec6fb --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/generate_cached_setup.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +from __future__ import print_function +import argparse +import os +import stat +import sys + +# find the import for catkin's python package - either from source space or from an installed underlay +if os.path.exists(os.path.join('/opt/ros/melodic/share/catkin/cmake', 'catkinConfig.cmake.in')): + sys.path.insert(0, os.path.join('/opt/ros/melodic/share/catkin/cmake', '..', 'python')) +try: + from catkin.environment_cache import generate_environment_script +except ImportError: + # search for catkin package in all workspaces and prepend to path + for workspace in "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic".split(';'): + python_path = os.path.join(workspace, 'lib/python2.7/dist-packages') + if os.path.isdir(os.path.join(python_path, 'catkin')): + sys.path.insert(0, python_path) + break + from catkin.environment_cache import generate_environment_script + +code = generate_environment_script('/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/env.sh') + +output_filename = '/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/setup_cached.sh' +with open(output_filename, 'w') as f: + #print('Generate script for cached setup "%s"' % output_filename) + f.write('\n'.join(code)) + +mode = os.stat(output_filename).st_mode +os.chmod(output_filename, mode | stat.S_IXUSR) diff --git a/workspace/build/rcontrol/catkin_generated/installspace/.rosinstall b/workspace/build/rcontrol/catkin_generated/installspace/.rosinstall new file mode 100644 index 0000000..39d2ba6 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh diff --git a/workspace/build/rcontrol/catkin_generated/installspace/_setup_util.py b/workspace/build/rcontrol/catkin_generated/installspace/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/rcontrol/catkin_generated/installspace/env.sh b/workspace/build/rcontrol/catkin_generated/installspace/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/rcontrol/catkin_generated/installspace/local_setup.bash b/workspace/build/rcontrol/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/rcontrol/catkin_generated/installspace/local_setup.sh b/workspace/build/rcontrol/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/rcontrol/catkin_generated/installspace/local_setup.zsh b/workspace/build/rcontrol/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/rcontrol/catkin_generated/installspace/rcontrol.pc b/workspace/build/rcontrol/catkin_generated/installspace/rcontrol.pc new file mode 100644 index 0000000..900b5f4 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/rcontrol.pc @@ -0,0 +1,8 @@ +prefix=/home/klafyvel/Documents/supelec/2A/projet/workspace/install + +Name: rcontrol +Description: Description of rcontrol +Version: 0.0.0 +Cflags: +Libs: -L/home/klafyvel/Documents/supelec/2A/projet/workspace/install/lib +Requires: diff --git a/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig-version.cmake b/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig-version.cmake new file mode 100644 index 0000000..7fd9f99 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig-version.cmake @@ -0,0 +1,14 @@ +# generated from catkin/cmake/template/pkgConfig-version.cmake.in +set(PACKAGE_VERSION "0.0.0") + +set(PACKAGE_VERSION_EXACT False) +set(PACKAGE_VERSION_COMPATIBLE False) + +if("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_EXACT True) + set(PACKAGE_VERSION_COMPATIBLE True) +endif() + +if("${PACKAGE_FIND_VERSION}" VERSION_LESS "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE True) +endif() diff --git a/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig.cmake b/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig.cmake new file mode 100644 index 0000000..ad2990f --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig.cmake @@ -0,0 +1,200 @@ +# generated from catkin/cmake/template/pkgConfig.cmake.in + +# append elements to a list and remove existing duplicates from the list +# copied from catkin/cmake/list_append_deduplicate.cmake to keep pkgConfig +# self contained +macro(_list_append_deduplicate listname) + if(NOT "${ARGN}" STREQUAL "") + if(${listname}) + list(REMOVE_ITEM ${listname} ${ARGN}) + endif() + list(APPEND ${listname} ${ARGN}) + endif() +endmacro() + +# append elements to a list if they are not already in the list +# copied from catkin/cmake/list_append_unique.cmake to keep pkgConfig +# self contained +macro(_list_append_unique listname) + foreach(_item ${ARGN}) + list(FIND ${listname} ${_item} _index) + if(_index EQUAL -1) + list(APPEND ${listname} ${_item}) + endif() + endforeach() +endmacro() + +# pack a list of libraries with optional build configuration keywords +# copied from catkin/cmake/catkin_libraries.cmake to keep pkgConfig +# self contained +macro(_pack_libraries_with_build_configuration VAR) + set(${VAR} "") + set(_argn ${ARGN}) + list(LENGTH _argn _count) + set(_index 0) + while(${_index} LESS ${_count}) + list(GET _argn ${_index} lib) + if("${lib}" MATCHES "^(debug|optimized|general)$") + math(EXPR _index "${_index} + 1") + if(${_index} EQUAL ${_count}) + message(FATAL_ERROR "_pack_libraries_with_build_configuration() the list of libraries '${ARGN}' ends with '${lib}' which is a build configuration keyword and must be followed by a library") + endif() + list(GET _argn ${_index} library) + list(APPEND ${VAR} "${lib}${CATKIN_BUILD_CONFIGURATION_KEYWORD_SEPARATOR}${library}") + else() + list(APPEND ${VAR} "${lib}") + endif() + math(EXPR _index "${_index} + 1") + endwhile() +endmacro() + +# unpack a list of libraries with optional build configuration keyword prefixes +# copied from catkin/cmake/catkin_libraries.cmake to keep pkgConfig +# self contained +macro(_unpack_libraries_with_build_configuration VAR) + set(${VAR} "") + foreach(lib ${ARGN}) + string(REGEX REPLACE "^(debug|optimized|general)${CATKIN_BUILD_CONFIGURATION_KEYWORD_SEPARATOR}(.+)$" "\\1;\\2" lib "${lib}") + list(APPEND ${VAR} "${lib}") + endforeach() +endmacro() + + +if(rcontrol_CONFIG_INCLUDED) + return() +endif() +set(rcontrol_CONFIG_INCLUDED TRUE) + +# set variables for source/devel/install prefixes +if("FALSE" STREQUAL "TRUE") + set(rcontrol_SOURCE_PREFIX /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol) + set(rcontrol_DEVEL_PREFIX /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol) + set(rcontrol_INSTALL_PREFIX "") + set(rcontrol_PREFIX ${rcontrol_DEVEL_PREFIX}) +else() + set(rcontrol_SOURCE_PREFIX "") + set(rcontrol_DEVEL_PREFIX "") + set(rcontrol_INSTALL_PREFIX /home/klafyvel/Documents/supelec/2A/projet/workspace/install) + set(rcontrol_PREFIX ${rcontrol_INSTALL_PREFIX}) +endif() + +# warn when using a deprecated package +if(NOT "" STREQUAL "") + set(_msg "WARNING: package 'rcontrol' is deprecated") + # append custom deprecation text if available + if(NOT "" STREQUAL "TRUE") + set(_msg "${_msg} ()") + endif() + message("${_msg}") +endif() + +# flag project as catkin-based to distinguish if a find_package()-ed project is a catkin project +set(rcontrol_FOUND_CATKIN_PROJECT TRUE) + +if(NOT " " STREQUAL " ") + set(rcontrol_INCLUDE_DIRS "") + set(_include_dirs "") + if(NOT " " STREQUAL " ") + set(_report "Check the issue tracker '' and consider creating a ticket if the problem has not been reported yet.") + elseif(NOT " " STREQUAL " ") + set(_report "Check the website '' for information and consider reporting the problem.") + else() + set(_report "Report the problem to the maintainer 'klafyvel ' and request to fix the problem.") + endif() + foreach(idir ${_include_dirs}) + if(IS_ABSOLUTE ${idir} AND IS_DIRECTORY ${idir}) + set(include ${idir}) + elseif("${idir} " STREQUAL "include ") + get_filename_component(include "${rcontrol_DIR}/../../../include" ABSOLUTE) + if(NOT IS_DIRECTORY ${include}) + message(FATAL_ERROR "Project 'rcontrol' specifies '${idir}' as an include dir, which is not found. It does not exist in '${include}'. ${_report}") + endif() + else() + message(FATAL_ERROR "Project 'rcontrol' specifies '${idir}' as an include dir, which is not found. It does neither exist as an absolute directory nor in '/home/klafyvel/Documents/supelec/2A/projet/workspace/install/${idir}'. ${_report}") + endif() + _list_append_unique(rcontrol_INCLUDE_DIRS ${include}) + endforeach() +endif() + +set(libraries "") +foreach(library ${libraries}) + # keep build configuration keywords, target names and absolute libraries as-is + if("${library}" MATCHES "^(debug|optimized|general)$") + list(APPEND rcontrol_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND rcontrol_LIBRARIES ${library}) + elseif(TARGET ${library}) + list(APPEND rcontrol_LIBRARIES ${library}) + elseif(IS_ABSOLUTE ${library}) + list(APPEND rcontrol_LIBRARIES ${library}) + else() + set(lib_path "") + set(lib "${library}-NOTFOUND") + # since the path where the library is found is returned we have to iterate over the paths manually + foreach(path /home/klafyvel/Documents/supelec/2A/projet/workspace/install/lib;/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib;/home/klafyvel/catkin_ws/devel/lib;/home/klafyvel/ros-ws/devel/lib;/opt/ros/melodic/lib) + find_library(lib ${library} + PATHS ${path} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) + if(lib) + set(lib_path ${path}) + break() + endif() + endforeach() + if(lib) + _list_append_unique(rcontrol_LIBRARY_DIRS ${lib_path}) + list(APPEND rcontrol_LIBRARIES ${lib}) + else() + # as a fall back for non-catkin libraries try to search globally + find_library(lib ${library}) + if(NOT lib) + message(FATAL_ERROR "Project '${PROJECT_NAME}' tried to find library '${library}'. The library is neither a target nor built/installed properly. Did you compile project 'rcontrol'? Did you find_package() it before the subdirectory containing its code is included?") + endif() + list(APPEND rcontrol_LIBRARIES ${lib}) + endif() + endif() +endforeach() + +set(rcontrol_EXPORTED_TARGETS "") +# create dummy targets for exported code generation targets to make life of users easier +foreach(t ${rcontrol_EXPORTED_TARGETS}) + if(NOT TARGET ${t}) + add_custom_target(${t}) + endif() +endforeach() + +set(depends "") +foreach(depend ${depends}) + string(REPLACE " " ";" depend_list ${depend}) + # the package name of the dependency must be kept in a unique variable so that it is not overwritten in recursive calls + list(GET depend_list 0 rcontrol_dep) + list(LENGTH depend_list count) + if(${count} EQUAL 1) + # simple dependencies must only be find_package()-ed once + if(NOT ${rcontrol_dep}_FOUND) + find_package(${rcontrol_dep} REQUIRED NO_MODULE) + endif() + else() + # dependencies with components must be find_package()-ed again + list(REMOVE_AT depend_list 0) + find_package(${rcontrol_dep} REQUIRED NO_MODULE ${depend_list}) + endif() + _list_append_unique(rcontrol_INCLUDE_DIRS ${${rcontrol_dep}_INCLUDE_DIRS}) + + # merge build configuration keywords with library names to correctly deduplicate + _pack_libraries_with_build_configuration(rcontrol_LIBRARIES ${rcontrol_LIBRARIES}) + _pack_libraries_with_build_configuration(_libraries ${${rcontrol_dep}_LIBRARIES}) + _list_append_deduplicate(rcontrol_LIBRARIES ${_libraries}) + # undo build configuration keyword merging after deduplication + _unpack_libraries_with_build_configuration(rcontrol_LIBRARIES ${rcontrol_LIBRARIES}) + + _list_append_unique(rcontrol_LIBRARY_DIRS ${${rcontrol_dep}_LIBRARY_DIRS}) + list(APPEND rcontrol_EXPORTED_TARGETS ${${rcontrol_dep}_EXPORTED_TARGETS}) +endforeach() + +set(pkg_cfg_extras "") +foreach(extra ${pkg_cfg_extras}) + if(NOT IS_ABSOLUTE ${extra}) + set(extra ${rcontrol_DIR}/${extra}) + endif() + include(${extra}) +endforeach() diff --git a/workspace/build/rcontrol/catkin_generated/installspace/setup.bash b/workspace/build/rcontrol/catkin_generated/installspace/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/rcontrol/catkin_generated/installspace/setup.sh b/workspace/build/rcontrol/catkin_generated/installspace/setup.sh new file mode 100644 index 0000000..c6aafc8 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/rcontrol/catkin_generated/installspace/setup.zsh b/workspace/build/rcontrol/catkin_generated/installspace/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/installspace/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/rcontrol/catkin_generated/package.cmake b/workspace/build/rcontrol/catkin_generated/package.cmake new file mode 100644 index 0000000..07c7702 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/package.cmake @@ -0,0 +1,16 @@ +set(_CATKIN_CURRENT_PACKAGE "rcontrol") +set(rcontrol_VERSION "0.0.0") +set(rcontrol_MAINTAINER "klafyvel ") +set(rcontrol_PACKAGE_FORMAT "2") +set(rcontrol_BUILD_DEPENDS "rospy" "std_msgs") +set(rcontrol_BUILD_EXPORT_DEPENDS "rospy" "std_msgs") +set(rcontrol_BUILDTOOL_DEPENDS "catkin") +set(rcontrol_BUILDTOOL_EXPORT_DEPENDS ) +set(rcontrol_EXEC_DEPENDS "rospy" "std_msgs") +set(rcontrol_RUN_DEPENDS "rospy" "std_msgs") +set(rcontrol_TEST_DEPENDS ) +set(rcontrol_DOC_DEPENDS ) +set(rcontrol_URL_WEBSITE "") +set(rcontrol_URL_BUGTRACKER "") +set(rcontrol_URL_REPOSITORY "") +set(rcontrol_DEPRECATED "") \ No newline at end of file diff --git a/workspace/build/rcontrol/catkin_generated/pkg.develspace.context.pc.py b/workspace/build/rcontrol/catkin_generated/pkg.develspace.context.pc.py new file mode 100644 index 0000000..3e65f12 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/pkg.develspace.context.pc.py @@ -0,0 +1,8 @@ +# generated from catkin/cmake/template/pkg.context.pc.in +CATKIN_PACKAGE_PREFIX = "" +PROJECT_PKG_CONFIG_INCLUDE_DIRS = "".split(';') if "" != "" else [] +PROJECT_CATKIN_DEPENDS = "".replace(';', ' ') +PKG_CONFIG_LIBRARIES_WITH_PREFIX = "".split(';') if "" != "" else [] +PROJECT_NAME = "rcontrol" +PROJECT_SPACE_DIR = "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol" +PROJECT_VERSION = "0.0.0" diff --git a/workspace/build/rcontrol/catkin_generated/pkg.installspace.context.pc.py b/workspace/build/rcontrol/catkin_generated/pkg.installspace.context.pc.py new file mode 100644 index 0000000..10f427d --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/pkg.installspace.context.pc.py @@ -0,0 +1,8 @@ +# generated from catkin/cmake/template/pkg.context.pc.in +CATKIN_PACKAGE_PREFIX = "" +PROJECT_PKG_CONFIG_INCLUDE_DIRS = "".split(';') if "" != "" else [] +PROJECT_CATKIN_DEPENDS = "".replace(';', ' ') +PKG_CONFIG_LIBRARIES_WITH_PREFIX = "".split(';') if "" != "" else [] +PROJECT_NAME = "rcontrol" +PROJECT_SPACE_DIR = "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" +PROJECT_VERSION = "0.0.0" diff --git a/workspace/build/rcontrol/catkin_generated/setup_cached.sh b/workspace/build/rcontrol/catkin_generated/setup_cached.sh new file mode 100755 index 0000000..f30d9cf --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/setup_cached.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env sh +# generated from catkin/python/catkin/environment_cache.py + +# based on a snapshot of the environment before and after calling the setup script +# it emulates the modifications of the setup script without recurring computations + +# new environment variables + +# modified environment variables +export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol:$CMAKE_PREFIX_PATH" +export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol" +export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" +export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/_setup_util.py.stamp b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/_setup_util.py.stamp new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/_setup_util.py.stamp @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/interrogate_setup_dot_py.py.stamp b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/interrogate_setup_dot_py.py.stamp new file mode 100644 index 0000000..02954de --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/interrogate_setup_dot_py.py.stamp @@ -0,0 +1,253 @@ +#!/usr/bin/env python + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +from __future__ import print_function +import os +import runpy +import sys + +import distutils.core +try: + import setuptools +except ImportError: + pass + +from argparse import ArgumentParser + + +def _get_locations(pkgs, package_dir): + """ + based on setuptools logic and the package_dir dict, builds a dict + of location roots for each pkg in pkgs. + See http://docs.python.org/distutils/setupscript.html + + :returns: a dict {pkgname: root} for each pkgname in pkgs (and each of their parents) + """ + # package_dir contains a dict {package_name: relativepath} + # Example {'': 'src', 'foo': 'lib', 'bar': 'lib2'} + # + # '' means where to look for any package unless a parent package + # is listed so package bar.pot is expected at lib2/bar/pot, + # whereas package sup.dee is expected at src/sup/dee + # + # if package_dir does not state anything about a package, + # setuptool expects the package folder to be in the root of the + # project + locations = {} + allprefix = package_dir.get('', '') + for pkg in pkgs: + parent_location = None + splits = pkg.split('.') + # we iterate over compound name from parent to child + # so once we found parent, children just append to their parent + for key_len in range(len(splits)): + key = '.'.join(splits[:key_len + 1]) + if key not in locations: + if key in package_dir: + locations[key] = package_dir[key] + elif parent_location is not None: + locations[key] = os.path.join(parent_location, splits[key_len]) + else: + locations[key] = os.path.join(allprefix, key) + parent_location = locations[key] + return locations + + +def generate_cmake_file(package_name, version, scripts, package_dir, pkgs, modules): + """ + Generates lines to add to a cmake file which will set variables + + :param version: str, format 'int.int.int' + :param scripts: [list of str]: relative paths to scripts + :param package_dir: {modulename: path} + :pkgs: [list of str] python_packages declared in catkin package + :modules: [list of str] python modules + """ + prefix = '%s_SETUP_PY' % package_name + result = [] + result.append(r'set(%s_VERSION "%s")' % (prefix, version)) + result.append(r'set(%s_SCRIPTS "%s")' % (prefix, ';'.join(scripts))) + + # Remove packages with '.' separators. + # + # setuptools allows specifying submodules in other folders than + # their parent + # + # The symlink approach of catkin does not work with such submodules. + # In the common case, this does not matter as the submodule is + # within the containing module. We verify this assumption, and if + # it passes, we remove submodule packages. + locations = _get_locations(pkgs, package_dir) + for pkgname, location in locations.items(): + if not '.' in pkgname: + continue + splits = pkgname.split('.') + # hack: ignore write-combining setup.py files for msg and srv files + if splits[1] in ['msg', 'srv']: + continue + # check every child has the same root folder as its parent + root_name = splits[0] + root_location = location + for _ in range(len(splits) - 1): + root_location = os.path.dirname(root_location) + if root_location != locations[root_name]: + raise RuntimeError( + "catkin_export_python does not support setup.py files that combine across multiple directories: %s in %s, %s in %s" % (pkgname, location, root_name, locations[root_name])) + + # If checks pass, remove all submodules + pkgs = [p for p in pkgs if '.' not in p] + + resolved_pkgs = [] + for pkg in pkgs: + resolved_pkgs += [locations[pkg]] + + result.append(r'set(%s_PACKAGES "%s")' % (prefix, ';'.join(pkgs))) + result.append(r'set(%s_PACKAGE_DIRS "%s")' % (prefix, ';'.join(resolved_pkgs).replace("\\", "/"))) + + # skip modules which collide with package names + filtered_modules = [] + for modname in modules: + splits = modname.split('.') + # check all parents too + equals_package = [('.'.join(splits[:-i]) in locations) for i in range(len(splits))] + if any(equals_package): + continue + filtered_modules.append(modname) + module_locations = _get_locations(filtered_modules, package_dir) + + result.append(r'set(%s_MODULES "%s")' % (prefix, ';'.join(['%s.py' % m.replace('.', '/') for m in filtered_modules]))) + result.append(r'set(%s_MODULE_DIRS "%s")' % (prefix, ';'.join([module_locations[m] for m in filtered_modules]).replace("\\", "/"))) + + return result + + +def _create_mock_setup_function(package_name, outfile): + """ + Creates a function to call instead of distutils.core.setup or + setuptools.setup, which just captures some args and writes them + into a file that can be used from cmake + + :param package_name: name of the package + :param outfile: filename that cmake will use afterwards + :returns: a function to replace disutils.core.setup and setuptools.setup + """ + + def setup(*args, **kwargs): + ''' + Checks kwargs and writes a scriptfile + ''' + if 'version' not in kwargs: + sys.stderr.write("\n*** Unable to find 'version' in setup.py of %s\n" % package_name) + raise RuntimeError("version not found in setup.py") + version = kwargs['version'] + package_dir = kwargs.get('package_dir', {}) + + pkgs = kwargs.get('packages', []) + scripts = kwargs.get('scripts', []) + modules = kwargs.get('py_modules', []) + + unsupported_args = [ + 'entry_points', + 'exclude_package_data', + 'ext_modules ', + 'ext_package', + 'include_package_data', + 'namespace_packages', + 'setup_requires', + 'use_2to3', + 'zip_safe'] + used_unsupported_args = [arg for arg in unsupported_args if arg in kwargs] + if used_unsupported_args: + sys.stderr.write("*** Arguments %s to setup() not supported in catkin devel space in setup.py of %s\n" % (used_unsupported_args, package_name)) + + result = generate_cmake_file(package_name=package_name, + version=version, + scripts=scripts, + package_dir=package_dir, + pkgs=pkgs, + modules=modules) + with open(outfile, 'w') as out: + out.write('\n'.join(result)) + + return setup + + +def main(): + """ + Script main, parses arguments and invokes Dummy.setup indirectly. + """ + parser = ArgumentParser(description='Utility to read setup.py values from cmake macros. Creates a file with CMake set commands setting variables.') + parser.add_argument('package_name', help='Name of catkin package') + parser.add_argument('setupfile_path', help='Full path to setup.py') + parser.add_argument('outfile', help='Where to write result to') + + args = parser.parse_args() + + # print("%s" % sys.argv) + # PACKAGE_NAME = sys.argv[1] + # OUTFILE = sys.argv[3] + # print("Interrogating setup.py for package %s into %s " % (PACKAGE_NAME, OUTFILE), + # file=sys.stderr) + + # print("executing %s" % args.setupfile_path) + + # be sure you're in the directory containing + # setup.py so the sys.path manipulation works, + # so the import of __version__ works + os.chdir(os.path.dirname(os.path.abspath(args.setupfile_path))) + + # patch setup() function of distutils and setuptools for the + # context of evaluating setup.py + try: + fake_setup = _create_mock_setup_function(package_name=args.package_name, + outfile=args.outfile) + + distutils_backup = distutils.core.setup + distutils.core.setup = fake_setup + try: + setuptools_backup = setuptools.setup + setuptools.setup = fake_setup + except NameError: + pass + + runpy.run_path(args.setupfile_path) + finally: + distutils.core.setup = distutils_backup + try: + setuptools.setup = setuptools_backup + except NameError: + pass + +if __name__ == '__main__': + main() diff --git a/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/package.xml.stamp b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/package.xml.stamp new file mode 100644 index 0000000..1a44bb9 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/package.xml.stamp @@ -0,0 +1,63 @@ + + + rcontrol + 0.0.0 + The rcontrol package + + + + + klafyvel + + + + + + GPLv3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + rospy + std_msgs + rospy + std_msgs + rospy + std_msgs + + + + + + diff --git a/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/pkg.pc.em.stamp b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/pkg.pc.em.stamp new file mode 100644 index 0000000..a4f7257 --- /dev/null +++ b/workspace/build/rcontrol/catkin_generated/stamps/rcontrol/pkg.pc.em.stamp @@ -0,0 +1,8 @@ +prefix=@PROJECT_SPACE_DIR + +Name: @(CATKIN_PACKAGE_PREFIX + PROJECT_NAME) +Description: Description of @PROJECT_NAME +Version: @PROJECT_VERSION +Cflags: @(' '.join(['-I%s' % include for include in PROJECT_PKG_CONFIG_INCLUDE_DIRS])) +Libs: -L@PROJECT_SPACE_DIR/lib @(' '.join(PKG_CONFIG_LIBRARIES_WITH_PREFIX)) +Requires: @(PROJECT_CATKIN_DEPENDS) diff --git a/workspace/build/rcontrol/cmake_install.cmake b/workspace/build/rcontrol/cmake_install.cmake new file mode 100644 index 0000000..db7e119 --- /dev/null +++ b/workspace/build/rcontrol/cmake_install.cmake @@ -0,0 +1,161 @@ +# Install script for directory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/home/klafyvel/Documents/supelec/2A/projet/workspace/install") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + + if (NOT EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}") + file(MAKE_DIRECTORY "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}") + endif() + if (NOT EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/.catkin") + file(WRITE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/.catkin" "") + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/_setup_util.py") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE PROGRAM FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/_setup_util.py") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/env.sh") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE PROGRAM FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/env.sh") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/local_setup.bash" + ) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/local_setup.sh" + ) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/local_setup.zsh" + ) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/.rosinstall") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/.rosinstall") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/rcontrol.pc") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/rcontrol/cmake" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig.cmake" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/catkin_generated/installspace/rcontrolConfig-version.cmake" + ) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/rcontrol" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol/package.xml") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/cmake_install.cmake") + +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/workspace/build/rcontrol/gtest/CMakeFiles/CMakeDirectoryInformation.cmake b/workspace/build/rcontrol/gtest/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..ddc1332 --- /dev/null +++ b/workspace/build/rcontrol/gtest/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/src/googletest") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/workspace/build/rcontrol/gtest/CMakeFiles/progress.marks b/workspace/build/rcontrol/gtest/CMakeFiles/progress.marks new file mode 100644 index 0000000..573541a --- /dev/null +++ b/workspace/build/rcontrol/gtest/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/workspace/build/rcontrol/gtest/CTestTestfile.cmake b/workspace/build/rcontrol/gtest/CTestTestfile.cmake new file mode 100644 index 0000000..ba157cf --- /dev/null +++ b/workspace/build/rcontrol/gtest/CTestTestfile.cmake @@ -0,0 +1,7 @@ +# CMake generated Testfile for +# Source directory: /usr/src/googletest +# Build directory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +subdirs("googlemock") diff --git a/workspace/build/rcontrol/gtest/Makefile b/workspace/build/rcontrol/gtest/Makefile new file mode 100644 index 0000000..c9f5122 --- /dev/null +++ b/workspace/build/rcontrol/gtest/Makefile @@ -0,0 +1,196 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# The main all target +all: cmake_check_build_system + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/CMakeFiles/progress.marks + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... edit_cache" + @echo "... list_install_components" + @echo "... test" + @echo "... install/local" + @echo "... rebuild_cache" + @echo "... install" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/workspace/build/rcontrol/gtest/cmake_install.cmake b/workspace/build/rcontrol/gtest/cmake_install.cmake new file mode 100644 index 0000000..6ece4aa --- /dev/null +++ b/workspace/build/rcontrol/gtest/cmake_install.cmake @@ -0,0 +1,45 @@ +# Install script for directory: /usr/src/googletest + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/home/klafyvel/Documents/supelec/2A/projet/workspace/install") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/cmake_install.cmake") + +endif() + diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/CMakeDirectoryInformation.cmake b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..ddc1332 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/src/googletest") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake new file mode 100644 index 0000000..ed299b5 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake @@ -0,0 +1,30 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/usr/src/googletest/googletest/src/gtest-all.cc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o" + "/usr/src/googletest/googlemock/src/gmock-all.cc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_CXX + "GTEST_CREATE_SHARED_LIBRARY=1" + ) + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "/usr/src/googletest/googlemock/include" + "/usr/src/googletest/googlemock" + "/usr/src/googletest/googletest/include" + "/usr/src/googletest/googletest" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/build.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/build.make new file mode 100644 index 0000000..d9f2cb1 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/build.make @@ -0,0 +1,140 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Include any dependencies generated for this target. +include gtest/googlemock/CMakeFiles/gmock.dir/depend.make + +# Include the progress variables for this target. +include gtest/googlemock/CMakeFiles/gmock.dir/progress.make + +# Include the compile flags for this target's objects. +include gtest/googlemock/CMakeFiles/gmock.dir/flags.make + +gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o: gtest/googlemock/CMakeFiles/gmock.dir/flags.make +gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o: /usr/src/googletest/googletest/src/gtest-all.cc + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o -c /usr/src/googletest/googletest/src/gtest-all.cc + +gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.i" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/src/googletest/googletest/src/gtest-all.cc > CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.i + +gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.s" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/src/googletest/googletest/src/gtest-all.cc -o CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.s + +gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.requires: + +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.requires + +gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.provides: gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.requires + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.provides.build +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.provides + +gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.provides.build: gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o + + +gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o: gtest/googlemock/CMakeFiles/gmock.dir/flags.make +gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o: /usr/src/googletest/googlemock/src/gmock-all.cc + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/gmock.dir/src/gmock-all.cc.o -c /usr/src/googletest/googlemock/src/gmock-all.cc + +gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/gmock.dir/src/gmock-all.cc.i" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/src/googletest/googlemock/src/gmock-all.cc > CMakeFiles/gmock.dir/src/gmock-all.cc.i + +gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/gmock.dir/src/gmock-all.cc.s" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/src/googletest/googlemock/src/gmock-all.cc -o CMakeFiles/gmock.dir/src/gmock-all.cc.s + +gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.requires: + +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.requires + +gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.provides: gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.requires + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.provides.build +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.provides + +gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.provides.build: gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o + + +# Object files for target gmock +gmock_OBJECTS = \ +"CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o" \ +"CMakeFiles/gmock.dir/src/gmock-all.cc.o" + +# External object files for target gmock +gmock_EXTERNAL_OBJECTS = + +gtest/googlemock/libgmock.so: gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o +gtest/googlemock/libgmock.so: gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o +gtest/googlemock/libgmock.so: gtest/googlemock/CMakeFiles/gmock.dir/build.make +gtest/googlemock/libgmock.so: gtest/googlemock/CMakeFiles/gmock.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX shared library libgmock.so" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/gmock.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +gtest/googlemock/CMakeFiles/gmock.dir/build: gtest/googlemock/libgmock.so + +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/build + +gtest/googlemock/CMakeFiles/gmock.dir/requires: gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o.requires +gtest/googlemock/CMakeFiles/gmock.dir/requires: gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.requires + +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/requires + +gtest/googlemock/CMakeFiles/gmock.dir/clean: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && $(CMAKE_COMMAND) -P CMakeFiles/gmock.dir/cmake_clean.cmake +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/clean + +gtest/googlemock/CMakeFiles/gmock.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /usr/src/googletest/googlemock /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/depend + diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/cmake_clean.cmake b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/cmake_clean.cmake new file mode 100644 index 0000000..80ceb93 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o" + "CMakeFiles/gmock.dir/src/gmock-all.cc.o" + "libgmock.pdb" + "libgmock.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/gmock.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/depend.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/depend.make new file mode 100644 index 0000000..7a05e2f --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for gmock. +# This may be replaced when dependencies are built. diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/flags.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/flags.make new file mode 100644 index 0000000..b568ee8 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -fPIC -Wall -Wshadow -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + +CXX_DEFINES = -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgmock_EXPORTS + +CXX_INCLUDES = -I/usr/src/googletest/googlemock/include -I/usr/src/googletest/googlemock -I/usr/src/googletest/googletest/include -I/usr/src/googletest/googletest + diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/link.txt b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/link.txt new file mode 100644 index 0000000..b11c630 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -shared -Wl,-soname,libgmock.so -o libgmock.so CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o CMakeFiles/gmock.dir/src/gmock-all.cc.o -lpthread diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/progress.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/progress.make new file mode 100644 index 0000000..6a9dc74 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock.dir/progress.make @@ -0,0 +1,4 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 + diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake new file mode 100644 index 0000000..8652ae1 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake @@ -0,0 +1,31 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/usr/src/googletest/googletest/src/gtest-all.cc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o" + "/usr/src/googletest/googlemock/src/gmock-all.cc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o" + "/usr/src/googletest/googlemock/src/gmock_main.cc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_CXX + "GTEST_CREATE_SHARED_LIBRARY=1" + ) + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "/usr/src/googletest/googlemock/include" + "/usr/src/googletest/googlemock" + "/usr/src/googletest/googletest/include" + "/usr/src/googletest/googletest" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/build.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/build.make new file mode 100644 index 0000000..6744d36 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/build.make @@ -0,0 +1,167 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Include any dependencies generated for this target. +include gtest/googlemock/CMakeFiles/gmock_main.dir/depend.make + +# Include the progress variables for this target. +include gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make + +# Include the compile flags for this target's objects. +include gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make + +gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o: gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make +gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o: /usr/src/googletest/googletest/src/gtest-all.cc + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o -c /usr/src/googletest/googletest/src/gtest-all.cc + +gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.i" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/src/googletest/googletest/src/gtest-all.cc > CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.i + +gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.s" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/src/googletest/googletest/src/gtest-all.cc -o CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.s + +gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.requires: + +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.requires + +gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.provides: gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.requires + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.provides.build +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.provides + +gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.provides.build: gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o + + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o: gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o: /usr/src/googletest/googlemock/src/gmock-all.cc + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/gmock_main.dir/src/gmock-all.cc.o -c /usr/src/googletest/googlemock/src/gmock-all.cc + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/gmock_main.dir/src/gmock-all.cc.i" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/src/googletest/googlemock/src/gmock-all.cc > CMakeFiles/gmock_main.dir/src/gmock-all.cc.i + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/gmock_main.dir/src/gmock-all.cc.s" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/src/googletest/googlemock/src/gmock-all.cc -o CMakeFiles/gmock_main.dir/src/gmock-all.cc.s + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.requires: + +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.requires + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.provides: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.requires + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.provides.build +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.provides + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.provides.build: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o + + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o: gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o: /usr/src/googletest/googlemock/src/gmock_main.cc + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/gmock_main.dir/src/gmock_main.cc.o -c /usr/src/googletest/googlemock/src/gmock_main.cc + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/gmock_main.dir/src/gmock_main.cc.i" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/src/googletest/googlemock/src/gmock_main.cc > CMakeFiles/gmock_main.dir/src/gmock_main.cc.i + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/gmock_main.dir/src/gmock_main.cc.s" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/src/googletest/googlemock/src/gmock_main.cc -o CMakeFiles/gmock_main.dir/src/gmock_main.cc.s + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.requires: + +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.requires + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.provides: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.requires + $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.provides.build +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.provides + +gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.provides.build: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o + + +# Object files for target gmock_main +gmock_main_OBJECTS = \ +"CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o" \ +"CMakeFiles/gmock_main.dir/src/gmock-all.cc.o" \ +"CMakeFiles/gmock_main.dir/src/gmock_main.cc.o" + +# External object files for target gmock_main +gmock_main_EXTERNAL_OBJECTS = + +gtest/googlemock/libgmock_main.so: gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o +gtest/googlemock/libgmock_main.so: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o +gtest/googlemock/libgmock_main.so: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o +gtest/googlemock/libgmock_main.so: gtest/googlemock/CMakeFiles/gmock_main.dir/build.make +gtest/googlemock/libgmock_main.so: gtest/googlemock/CMakeFiles/gmock_main.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking CXX shared library libgmock_main.so" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/gmock_main.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +gtest/googlemock/CMakeFiles/gmock_main.dir/build: gtest/googlemock/libgmock_main.so + +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/build + +gtest/googlemock/CMakeFiles/gmock_main.dir/requires: gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o.requires +gtest/googlemock/CMakeFiles/gmock_main.dir/requires: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o.requires +gtest/googlemock/CMakeFiles/gmock_main.dir/requires: gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.requires + +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/requires + +gtest/googlemock/CMakeFiles/gmock_main.dir/clean: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock && $(CMAKE_COMMAND) -P CMakeFiles/gmock_main.dir/cmake_clean.cmake +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/clean + +gtest/googlemock/CMakeFiles/gmock_main.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /usr/src/googletest/googlemock /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/depend + diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/cmake_clean.cmake b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/cmake_clean.cmake new file mode 100644 index 0000000..b05bbca --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/cmake_clean.cmake @@ -0,0 +1,12 @@ +file(REMOVE_RECURSE + "CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o" + "CMakeFiles/gmock_main.dir/src/gmock-all.cc.o" + "CMakeFiles/gmock_main.dir/src/gmock_main.cc.o" + "libgmock_main.pdb" + "libgmock_main.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/gmock_main.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/depend.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/depend.make new file mode 100644 index 0000000..4a18b61 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for gmock_main. +# This may be replaced when dependencies are built. diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make new file mode 100644 index 0000000..564c3c2 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -fPIC -Wall -Wshadow -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + +CXX_DEFINES = -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgmock_main_EXPORTS + +CXX_INCLUDES = -I/usr/src/googletest/googlemock/include -I/usr/src/googletest/googlemock -I/usr/src/googletest/googletest/include -I/usr/src/googletest/googletest + diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/link.txt b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/link.txt new file mode 100644 index 0000000..7c2714f --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -shared -Wl,-soname,libgmock_main.so -o libgmock_main.so CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o CMakeFiles/gmock_main.dir/src/gmock-all.cc.o CMakeFiles/gmock_main.dir/src/gmock_main.cc.o -lpthread diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make new file mode 100644 index 0000000..b78c197 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/gmock_main.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 4 +CMAKE_PROGRESS_2 = 5 +CMAKE_PROGRESS_3 = 6 +CMAKE_PROGRESS_4 = 7 + diff --git a/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/progress.marks b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/progress.marks new file mode 100644 index 0000000..573541a --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/workspace/build/rcontrol/gtest/googlemock/CTestTestfile.cmake b/workspace/build/rcontrol/gtest/googlemock/CTestTestfile.cmake new file mode 100644 index 0000000..ea6665a --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/CTestTestfile.cmake @@ -0,0 +1,7 @@ +# CMake generated Testfile for +# Source directory: /usr/src/googletest/googlemock +# Build directory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +subdirs("gtest") diff --git a/workspace/build/rcontrol/gtest/googlemock/Makefile b/workspace/build/rcontrol/gtest/googlemock/Makefile new file mode 100644 index 0000000..ab3d647 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/Makefile @@ -0,0 +1,324 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# The main all target +all: cmake_check_build_system + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/CMakeFiles/progress.marks + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +gtest/googlemock/CMakeFiles/gmock_main.dir/rule: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/CMakeFiles/gmock_main.dir/rule +.PHONY : gtest/googlemock/CMakeFiles/gmock_main.dir/rule + +# Convenience name for target. +gmock_main: gtest/googlemock/CMakeFiles/gmock_main.dir/rule + +.PHONY : gmock_main + +# fast build rule for target. +gmock_main/fast: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/build +.PHONY : gmock_main/fast + +# Convenience name for target. +gtest/googlemock/CMakeFiles/gmock.dir/rule: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/CMakeFiles/gmock.dir/rule +.PHONY : gtest/googlemock/CMakeFiles/gmock.dir/rule + +# Convenience name for target. +gmock: gtest/googlemock/CMakeFiles/gmock.dir/rule + +.PHONY : gmock + +# fast build rule for target. +gmock/fast: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/build +.PHONY : gmock/fast + +__/googletest/src/gtest-all.o: __/googletest/src/gtest-all.cc.o + +.PHONY : __/googletest/src/gtest-all.o + +# target to build an object file +__/googletest/src/gtest-all.cc.o: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.o + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o +.PHONY : __/googletest/src/gtest-all.cc.o + +__/googletest/src/gtest-all.i: __/googletest/src/gtest-all.cc.i + +.PHONY : __/googletest/src/gtest-all.i + +# target to preprocess a source file +__/googletest/src/gtest-all.cc.i: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.i + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.i +.PHONY : __/googletest/src/gtest-all.cc.i + +__/googletest/src/gtest-all.s: __/googletest/src/gtest-all.cc.s + +.PHONY : __/googletest/src/gtest-all.s + +# target to generate assembly for a file +__/googletest/src/gtest-all.cc.s: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/__/googletest/src/gtest-all.cc.s + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.s +.PHONY : __/googletest/src/gtest-all.cc.s + +src/gmock-all.o: src/gmock-all.cc.o + +.PHONY : src/gmock-all.o + +# target to build an object file +src/gmock-all.cc.o: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.o + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o +.PHONY : src/gmock-all.cc.o + +src/gmock-all.i: src/gmock-all.cc.i + +.PHONY : src/gmock-all.i + +# target to preprocess a source file +src/gmock-all.cc.i: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.i + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.i +.PHONY : src/gmock-all.cc.i + +src/gmock-all.s: src/gmock-all.cc.s + +.PHONY : src/gmock-all.s + +# target to generate assembly for a file +src/gmock-all.cc.s: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.s + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock.dir/build.make gtest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.s +.PHONY : src/gmock-all.cc.s + +src/gmock_main.o: src/gmock_main.cc.o + +.PHONY : src/gmock_main.o + +# target to build an object file +src/gmock_main.cc.o: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o +.PHONY : src/gmock_main.cc.o + +src/gmock_main.i: src/gmock_main.cc.i + +.PHONY : src/gmock_main.i + +# target to preprocess a source file +src/gmock_main.cc.i: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.i +.PHONY : src/gmock_main.cc.i + +src/gmock_main.s: src/gmock_main.cc.s + +.PHONY : src/gmock_main.s + +# target to generate assembly for a file +src/gmock_main.cc.s: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/CMakeFiles/gmock_main.dir/build.make gtest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.s +.PHONY : src/gmock_main.cc.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install" + @echo "... install/local" + @echo "... gmock_main" + @echo "... test" + @echo "... list_install_components" + @echo "... gmock" + @echo "... rebuild_cache" + @echo "... edit_cache" + @echo "... __/googletest/src/gtest-all.o" + @echo "... __/googletest/src/gtest-all.i" + @echo "... __/googletest/src/gtest-all.s" + @echo "... src/gmock-all.o" + @echo "... src/gmock-all.i" + @echo "... src/gmock-all.s" + @echo "... src/gmock_main.o" + @echo "... src/gmock_main.i" + @echo "... src/gmock_main.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/workspace/build/rcontrol/gtest/googlemock/cmake_install.cmake b/workspace/build/rcontrol/gtest/googlemock/cmake_install.cmake new file mode 100644 index 0000000..9016e2b --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/cmake_install.cmake @@ -0,0 +1,45 @@ +# Install script for directory: /usr/src/googletest/googlemock + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/home/klafyvel/Documents/supelec/2A/projet/workspace/install") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/cmake_install.cmake") + +endif() + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/CMakeDirectoryInformation.cmake b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..ddc1332 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/src/googletest") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/DependInfo.cmake b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/DependInfo.cmake new file mode 100644 index 0000000..b838d3c --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/DependInfo.cmake @@ -0,0 +1,27 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/usr/src/googletest/googletest/src/gtest-all.cc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_CXX + "GTEST_CREATE_SHARED_LIBRARY=1" + ) + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "/usr/src/googletest/googletest/include" + "/usr/src/googletest/googletest" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make new file mode 100644 index 0000000..5ae3270 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make @@ -0,0 +1,113 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Include any dependencies generated for this target. +include gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend.make + +# Include the progress variables for this target. +include gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make + +# Include the compile flags for this target's objects. +include gtest/googlemock/gtest/CMakeFiles/gtest.dir/flags.make + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o: gtest/googlemock/gtest/CMakeFiles/gtest.dir/flags.make +gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o: /usr/src/googletest/googletest/src/gtest-all.cc + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/gtest.dir/src/gtest-all.cc.o -c /usr/src/googletest/googletest/src/gtest-all.cc + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/gtest.dir/src/gtest-all.cc.i" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/src/googletest/googletest/src/gtest-all.cc > CMakeFiles/gtest.dir/src/gtest-all.cc.i + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/gtest.dir/src/gtest-all.cc.s" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/src/googletest/googletest/src/gtest-all.cc -o CMakeFiles/gtest.dir/src/gtest-all.cc.s + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.requires: + +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.requires + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.provides: gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.requires + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.provides.build +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.provides + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.provides.build: gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o + + +# Object files for target gtest +gtest_OBJECTS = \ +"CMakeFiles/gtest.dir/src/gtest-all.cc.o" + +# External object files for target gtest +gtest_EXTERNAL_OBJECTS = + +gtest/googlemock/gtest/libgtest.so: gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o +gtest/googlemock/gtest/libgtest.so: gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make +gtest/googlemock/gtest/libgtest.so: gtest/googlemock/gtest/CMakeFiles/gtest.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libgtest.so" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/gtest.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +gtest/googlemock/gtest/CMakeFiles/gtest.dir/build: gtest/googlemock/gtest/libgtest.so + +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/build + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/requires: gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.requires + +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/requires + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && $(CMAKE_COMMAND) -P CMakeFiles/gtest.dir/cmake_clean.cmake +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean + +gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /usr/src/googletest/googletest /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/cmake_clean.cmake b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/cmake_clean.cmake new file mode 100644 index 0000000..3fcee23 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/gtest.dir/src/gtest-all.cc.o" + "libgtest.pdb" + "libgtest.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/gtest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend.make new file mode 100644 index 0000000..37ac348 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for gtest. +# This may be replaced when dependencies are built. diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/flags.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/flags.make new file mode 100644 index 0000000..65dc7ca --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -fPIC -Wall -Wshadow -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + +CXX_DEFINES = -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgtest_EXPORTS + +CXX_INCLUDES = -I/usr/src/googletest/googletest/include -I/usr/src/googletest/googletest + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/link.txt b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/link.txt new file mode 100644 index 0000000..f768488 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -shared -Wl,-soname,libgtest.so -o libgtest.so CMakeFiles/gtest.dir/src/gtest-all.cc.o -L/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/src -Wl,-rpath,/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/src -lpthread diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make new file mode 100644 index 0000000..895faac --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 8 +CMAKE_PROGRESS_2 = 9 + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/DependInfo.cmake b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/DependInfo.cmake new file mode 100644 index 0000000..9f27871 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/DependInfo.cmake @@ -0,0 +1,28 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/usr/src/googletest/googletest/src/gtest_main.cc" "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_CXX + "GTEST_CREATE_SHARED_LIBRARY=1" + ) + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "/usr/src/googletest/googletest/include" + "/usr/src/googletest/googletest" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest.dir/DependInfo.cmake" + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make new file mode 100644 index 0000000..6b17d5b --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make @@ -0,0 +1,114 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +# Include any dependencies generated for this target. +include gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend.make + +# Include the progress variables for this target. +include gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make + +# Include the compile flags for this target's objects. +include gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/flags.make + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/flags.make +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o: /usr/src/googletest/googletest/src/gtest_main.cc + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/gtest_main.dir/src/gtest_main.cc.o -c /usr/src/googletest/googletest/src/gtest_main.cc + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/gtest_main.dir/src/gtest_main.cc.i" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/src/googletest/googletest/src/gtest_main.cc > CMakeFiles/gtest_main.dir/src/gtest_main.cc.i + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/gtest_main.dir/src/gtest_main.cc.s" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/src/googletest/googletest/src/gtest_main.cc -o CMakeFiles/gtest_main.dir/src/gtest_main.cc.s + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.requires: + +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.requires + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.provides: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.requires + $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.provides.build +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.provides + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.provides.build: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o + + +# Object files for target gtest_main +gtest_main_OBJECTS = \ +"CMakeFiles/gtest_main.dir/src/gtest_main.cc.o" + +# External object files for target gtest_main +gtest_main_EXTERNAL_OBJECTS = + +gtest/googlemock/gtest/libgtest_main.so: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o +gtest/googlemock/gtest/libgtest_main.so: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make +gtest/googlemock/gtest/libgtest_main.so: gtest/googlemock/gtest/libgtest.so +gtest/googlemock/gtest/libgtest_main.so: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libgtest_main.so" + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/gtest_main.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build: gtest/googlemock/gtest/libgtest_main.so + +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/requires: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.requires + +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/requires + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest && $(CMAKE_COMMAND) -P CMakeFiles/gtest_main.dir/cmake_clean.cmake +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/clean + +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol /usr/src/googletest/googletest /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/cmake_clean.cmake b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/cmake_clean.cmake new file mode 100644 index 0000000..24048f3 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/gtest_main.dir/src/gtest_main.cc.o" + "libgtest_main.pdb" + "libgtest_main.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/gtest_main.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend.make new file mode 100644 index 0000000..1d67c1a --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for gtest_main. +# This may be replaced when dependencies are built. diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/flags.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/flags.make new file mode 100644 index 0000000..da6a521 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -fPIC -Wall -Wshadow -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + +CXX_DEFINES = -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgtest_main_EXPORTS + +CXX_INCLUDES = -I/usr/src/googletest/googletest/include -I/usr/src/googletest/googletest + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/link.txt b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/link.txt new file mode 100644 index 0000000..42fec4f --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -shared -Wl,-soname,libgtest_main.so -o libgtest_main.so CMakeFiles/gtest_main.dir/src/gtest_main.cc.o -L/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/src -Wl,-rpath,/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/src:/home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest -lpthread libgtest.so -lpthread diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make new file mode 100644 index 0000000..17875e3 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 10 +CMAKE_PROGRESS_2 = 11 + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/progress.marks b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/progress.marks new file mode 100644 index 0000000..573541a --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/CTestTestfile.cmake b/workspace/build/rcontrol/gtest/googlemock/gtest/CTestTestfile.cmake new file mode 100644 index 0000000..cbc5883 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /usr/src/googletest/googletest +# Build directory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/Makefile b/workspace/build/rcontrol/gtest/googlemock/gtest/Makefile new file mode 100644 index 0000000..ff72e82 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/Makefile @@ -0,0 +1,288 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/gtest/googlemock/gtest/CMakeFiles/progress.marks + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/rule: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/rule +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/rule + +# Convenience name for target. +gtest_main: gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/rule + +.PHONY : gtest_main + +# fast build rule for target. +gtest_main/fast: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build +.PHONY : gtest_main/fast + +# Convenience name for target. +gtest/googlemock/gtest/CMakeFiles/gtest.dir/rule: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f CMakeFiles/Makefile2 gtest/googlemock/gtest/CMakeFiles/gtest.dir/rule +.PHONY : gtest/googlemock/gtest/CMakeFiles/gtest.dir/rule + +# Convenience name for target. +gtest: gtest/googlemock/gtest/CMakeFiles/gtest.dir/rule + +.PHONY : gtest + +# fast build rule for target. +gtest/fast: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/build +.PHONY : gtest/fast + +src/gtest-all.o: src/gtest-all.cc.o + +.PHONY : src/gtest-all.o + +# target to build an object file +src/gtest-all.cc.o: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o +.PHONY : src/gtest-all.cc.o + +src/gtest-all.i: src/gtest-all.cc.i + +.PHONY : src/gtest-all.i + +# target to preprocess a source file +src/gtest-all.cc.i: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.i +.PHONY : src/gtest-all.cc.i + +src/gtest-all.s: src/gtest-all.cc.s + +.PHONY : src/gtest-all.s + +# target to generate assembly for a file +src/gtest-all.cc.s: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.s +.PHONY : src/gtest-all.cc.s + +src/gtest_main.o: src/gtest_main.cc.o + +.PHONY : src/gtest_main.o + +# target to build an object file +src/gtest_main.cc.o: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o +.PHONY : src/gtest_main.cc.o + +src/gtest_main.i: src/gtest_main.cc.i + +.PHONY : src/gtest_main.i + +# target to preprocess a source file +src/gtest_main.cc.i: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.i +.PHONY : src/gtest_main.cc.i + +src/gtest_main.s: src/gtest_main.cc.s + +.PHONY : src/gtest_main.s + +# target to generate assembly for a file +src/gtest_main.cc.s: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(MAKE) -f gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/build.make gtest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.s +.PHONY : src/gtest_main.cc.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install" + @echo "... edit_cache" + @echo "... install/local" + @echo "... test" + @echo "... gtest_main" + @echo "... list_install_components" + @echo "... gtest" + @echo "... rebuild_cache" + @echo "... src/gtest-all.o" + @echo "... src/gtest-all.i" + @echo "... src/gtest-all.s" + @echo "... src/gtest_main.o" + @echo "... src/gtest_main.i" + @echo "... src/gtest_main.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/klafyvel/Documents/supelec/2A/projet/workspace/build/rcontrol && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/workspace/build/rcontrol/gtest/googlemock/gtest/cmake_install.cmake b/workspace/build/rcontrol/gtest/googlemock/gtest/cmake_install.cmake new file mode 100644 index 0000000..5a619c0 --- /dev/null +++ b/workspace/build/rcontrol/gtest/googlemock/gtest/cmake_install.cmake @@ -0,0 +1,39 @@ +# Install script for directory: /usr/src/googletest/googletest + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/home/klafyvel/Documents/supelec/2A/projet/workspace/install") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/workspace/build/vqimg/CMakeCache.txt b/workspace/build/vqimg/CMakeCache.txt index cd5765e..ce45175 100644 --- a/workspace/build/vqimg/CMakeCache.txt +++ b/workspace/build/vqimg/CMakeCache.txt @@ -257,6 +257,9 @@ RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so //Enable debian style python package layout SETUPTOOLS_DEB_LAYOUT:BOOL=ON +//Name of the computer/site where compile is being run +SITE:STRING=ewilan + //LSB Distrib tag UBUNTU:BOOL=TRUE diff --git a/workspace/build/vqimg/CMakeFiles/CMakeRuleHashes.txt b/workspace/build/vqimg/CMakeFiles/CMakeRuleHashes.txt index fbd2570..c02e4c9 100644 --- a/workspace/build/vqimg/CMakeFiles/CMakeRuleHashes.txt +++ b/workspace/build/vqimg/CMakeFiles/CMakeRuleHashes.txt @@ -1,8 +1,8 @@ # Hashes of file build rules. 83dd9be00fe366c52c89bb7d3016a49b /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/component_center.h 88b910ae13b9a967f8b6b35899adbbe8 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/component_centers.h -76c109f7f65d22cf4dc252aae073736a /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/gngtConfig.h -0cced68022de1fabfd6c1cfb86b42ea8 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/hueConfig.h +93bfd9a912c3182dca88c4b56fe02d5c /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/gngtConfig.h +468bd9b55ea1343d449401f3eba04978 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/hueConfig.h 3f4b9df6d459e85d3dcde7776fa32f64 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg/msg/__init__.py 65f2b81b65bf57830edba7935b008b85 /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg/msg/_component_center.py e5d0b3b553ae667e00541c5a5323ea6d /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg/msg/_component_centers.py diff --git a/workspace/build/vqimg/CMakeFiles/Makefile.cmake b/workspace/build/vqimg/CMakeFiles/Makefile.cmake index 9477775..8a5479d 100644 --- a/workspace/build/vqimg/CMakeFiles/Makefile.cmake +++ b/workspace/build/vqimg/CMakeFiles/Makefile.cmake @@ -59,6 +59,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/catkin/cmake/templates/_setup_util.py.in" "/opt/ros/melodic/share/catkin/cmake/templates/env.sh.in" "/opt/ros/melodic/share/catkin/cmake/templates/generate_cached_setup.py.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.bash.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.sh.in" + "/opt/ros/melodic/share/catkin/cmake/templates/local_setup.zsh.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkg.context.pc.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig-version.cmake.in" "/opt/ros/melodic/share/catkin/cmake/templates/pkgConfig.cmake.in" @@ -81,6 +84,7 @@ set(CMAKE_MAKEFILE_DEPENDS "/opt/ros/melodic/share/cv_bridge/cmake/cv_bridge-extras.cmake" "/opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig-version.cmake" "/opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake" + "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../cmake/setup_custom_pythonpath.sh.in" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-extras.cmake" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-macros.cmake" "/opt/ros/melodic/share/dynamic_reconfigure/cmake/dynamic_reconfigure-msg-extras.cmake" @@ -157,14 +161,11 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in" "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeParseArguments.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c" - "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in" "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake" @@ -172,6 +173,7 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake" "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.10/Modules/DartConfiguration.tcl.in" "/usr/share/cmake-3.10/Modules/FindGTest.cmake" "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake" @@ -198,17 +200,32 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS + "CTestConfiguration.ini" "catkin_generated/stamps/vqimg/package.xml.stamp" + "atomic_configure/_setup_util.py" + "atomic_configure/env.sh" + "atomic_configure/setup.bash" + "atomic_configure/local_setup.bash" + "atomic_configure/setup.sh" + "atomic_configure/local_setup.sh" + "atomic_configure/setup.zsh" + "atomic_configure/local_setup.zsh" + "atomic_configure/.rosinstall" "catkin_generated/installspace/_setup_util.py" "catkin_generated/stamps/vqimg/_setup_util.py.stamp" "catkin_generated/installspace/env.sh" "catkin_generated/installspace/setup.bash" + "catkin_generated/installspace/local_setup.bash" "catkin_generated/installspace/setup.sh" + "catkin_generated/installspace/local_setup.sh" "catkin_generated/installspace/setup.zsh" + "catkin_generated/installspace/local_setup.zsh" "catkin_generated/installspace/.rosinstall" "catkin_generated/generate_cached_setup.py" "catkin_generated/env_cached.sh" "catkin_generated/stamps/vqimg/interrogate_setup_dot_py.py.stamp" + "setup_custom_pythonpath.sh" + "setup_custom_pythonpath.sh" "/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg/cmake/vqimg-msg-paths.cmake" "catkin_generated/installspace/vqimg-msg-paths.cmake" "catkin_generated/vqimg-msg-extras.cmake.develspace.in" diff --git a/workspace/build/vqimg/CMakeFiles/gngt_node.dir/DependInfo.cmake b/workspace/build/vqimg/CMakeFiles/gngt_node.dir/DependInfo.cmake index d8b4faf..fe01a40 100644 --- a/workspace/build/vqimg/CMakeFiles/gngt_node.dir/DependInfo.cmake +++ b/workspace/build/vqimg/CMakeFiles/gngt_node.dir/DependInfo.cmake @@ -11,6 +11,7 @@ set(CMAKE_CXX_COMPILER_ID "GNU") # Preprocessor definitions for this target. set(CMAKE_TARGET_DEFINITIONS_CXX "ROSCONSOLE_BACKEND_LOG4CXX" + "ROS_BUILD_SHARED_LIBS=1" "ROS_PACKAGE_NAME=\"vqimg\"" ) diff --git a/workspace/build/vqimg/CMakeFiles/gngt_node.dir/flags.make b/workspace/build/vqimg/CMakeFiles/gngt_node.dir/flags.make index 128ad78..f6825b5 100644 --- a/workspace/build/vqimg/CMakeFiles/gngt_node.dir/flags.make +++ b/workspace/build/vqimg/CMakeFiles/gngt_node.dir/flags.make @@ -4,7 +4,7 @@ # compile CXX with /usr/bin/c++ CXX_FLAGS = -O3 -std=c++11 -CXX_DEFINES = -DROSCONSOLE_BACKEND_LOG4CXX -DROS_PACKAGE_NAME=\"vqimg\" +CXX_DEFINES = -DROSCONSOLE_BACKEND_LOG4CXX -DROS_BUILD_SHARED_LIBS=1 -DROS_PACKAGE_NAME=\"vqimg\" CXX_INCLUDES = -I/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include -I/home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg/include -I/opt/ros/melodic/include -I/opt/ros/melodic/share/xmlrpcpp/cmake/../../../include/xmlrpcpp -I/usr/include/opencv -I/usr/include/vq2 diff --git a/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/DependInfo.cmake b/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/DependInfo.cmake index 37ae192..fe2ae56 100644 --- a/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/DependInfo.cmake +++ b/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/DependInfo.cmake @@ -11,6 +11,7 @@ set(CMAKE_CXX_COMPILER_ID "GNU") # Preprocessor definitions for this target. set(CMAKE_TARGET_DEFINITIONS_CXX "ROSCONSOLE_BACKEND_LOG4CXX" + "ROS_BUILD_SHARED_LIBS=1" "ROS_PACKAGE_NAME=\"vqimg\"" ) diff --git a/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/flags.make b/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/flags.make index 88f17f8..fa304a3 100644 --- a/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/flags.make +++ b/workspace/build/vqimg/CMakeFiles/hue_filter_node.dir/flags.make @@ -4,7 +4,7 @@ # compile CXX with /usr/bin/c++ CXX_FLAGS = -O3 -std=c++11 -CXX_DEFINES = -DROSCONSOLE_BACKEND_LOG4CXX -DROS_PACKAGE_NAME=\"vqimg\" +CXX_DEFINES = -DROSCONSOLE_BACKEND_LOG4CXX -DROS_BUILD_SHARED_LIBS=1 -DROS_PACKAGE_NAME=\"vqimg\" CXX_INCLUDES = -I/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include -I/home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg/include -I/opt/ros/melodic/include -I/opt/ros/melodic/share/xmlrpcpp/cmake/../../../include/xmlrpcpp -I/usr/include/opencv diff --git a/workspace/build/vqimg/CMakeFiles/vqimg_gencfg.dir/build.make b/workspace/build/vqimg/CMakeFiles/vqimg_gencfg.dir/build.make index 93689bf..7d4abf6 100644 --- a/workspace/build/vqimg/CMakeFiles/vqimg_gencfg.dir/build.make +++ b/workspace/build/vqimg/CMakeFiles/vqimg_gencfg.dir/build.make @@ -63,7 +63,7 @@ CMakeFiles/vqimg_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/de /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/gngtConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/gngtConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating dynamic reconfigure files from cfg/gngt.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/gngtConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg/cfg/gngtConfig.py" - catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg/cfg/gngt.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg/cfg/gngt.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg/docs/gngtConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/gngtConfig.h @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg/docs/gngtConfig.dox @@ -81,7 +81,7 @@ CMakeFiles/vqimg_gencfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/de /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/hueConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.py.template /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/hueConfig.h: /opt/ros/melodic/share/dynamic_reconfigure/templates/ConfigType.h.template @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating dynamic reconfigure files from cfg/hue.cfg: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/hueConfig.h /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg/cfg/hueConfig.py" - catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg/cfg/hue.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg + catkin_generated/env_cached.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/setup_custom_pythonpath.sh /home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg/cfg/hue.cfg /opt/ros/melodic/share/dynamic_reconfigure/cmake/.. /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages/vqimg /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg/docs/hueConfig.dox: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/include/vqimg/hueConfig.h @$(CMAKE_COMMAND) -E touch_nocreate /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/vqimg/docs/hueConfig.dox diff --git a/workspace/build/vqimg/CTestConfiguration.ini b/workspace/build/vqimg/CTestConfiguration.ini new file mode 100644 index 0000000..ac3344f --- /dev/null +++ b/workspace/build/vqimg/CTestConfiguration.ini @@ -0,0 +1,115 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg +BuildDirectory: /home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ewilan + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: + +# Subprojects +LabelsForSubprojects: + +# Submission information +IsCDash: +CDashVersion: +QueryCDashVersion: +DropSite: +DropLocation: +DropSiteUser: +DropSitePassword: +DropSiteMode: +DropMethod: +TriggerSite: +ScpCommand: + +# Dashboard start time +NightlyStartTime: + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg" +MakeCommand: +DefaultCTestConfigurationType: + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: /usr/bin/c++ +CompilerVersion: 7.3.0 + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: +CoverageExtraFlags: + +# Cluster commands +SlurmBatchCommand: +SlurmRunCommand: + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: +CTestSubmitRetryCount: diff --git a/workspace/build/vqimg/CTestCustom.cmake b/workspace/build/vqimg/CTestCustom.cmake new file mode 100644 index 0000000..14956f3 --- /dev/null +++ b/workspace/build/vqimg/CTestCustom.cmake @@ -0,0 +1,2 @@ +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) +set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) diff --git a/workspace/build/vqimg/atomic_configure/.rosinstall b/workspace/build/vqimg/atomic_configure/.rosinstall new file mode 100644 index 0000000..1942bf1 --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/setup.sh diff --git a/workspace/build/vqimg/atomic_configure/_setup_util.py b/workspace/build/vqimg/atomic_configure/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/build/vqimg/atomic_configure/env.sh b/workspace/build/vqimg/atomic_configure/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/build/vqimg/atomic_configure/local_setup.bash b/workspace/build/vqimg/atomic_configure/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/vqimg/atomic_configure/local_setup.sh b/workspace/build/vqimg/atomic_configure/local_setup.sh new file mode 100644 index 0000000..3cc0f5c --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/vqimg/atomic_configure/local_setup.zsh b/workspace/build/vqimg/atomic_configure/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/vqimg/atomic_configure/setup.bash b/workspace/build/vqimg/atomic_configure/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/build/vqimg/atomic_configure/setup.sh b/workspace/build/vqimg/atomic_configure/setup.sh new file mode 100644 index 0000000..43f7086 --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/build/vqimg/atomic_configure/setup.zsh b/workspace/build/vqimg/atomic_configure/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/build/vqimg/atomic_configure/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/build/vqimg/catkin/catkin_generated/version/package.cmake b/workspace/build/vqimg/catkin/catkin_generated/version/package.cmake index df028bf..25847eb 100644 --- a/workspace/build/vqimg/catkin/catkin_generated/version/package.cmake +++ b/workspace/build/vqimg/catkin/catkin_generated/version/package.cmake @@ -1,5 +1,5 @@ set(_CATKIN_CURRENT_PACKAGE "catkin") -set(catkin_VERSION "0.7.14") +set(catkin_VERSION "0.7.17") set(catkin_MAINTAINER "Dirk Thomas ") set(catkin_PACKAGE_FORMAT "2") set(catkin_BUILD_DEPENDS "python-empy" "python-argparse" "python-catkin-pkg") diff --git a/workspace/build/vqimg/catkin_generated/installspace/_setup_util.py b/workspace/build/vqimg/catkin_generated/installspace/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/build/vqimg/catkin_generated/installspace/_setup_util.py +++ b/workspace/build/vqimg/catkin_generated/installspace/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/vqimg/catkin_generated/installspace/local_setup.bash b/workspace/build/vqimg/catkin_generated/installspace/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/build/vqimg/catkin_generated/installspace/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/build/vqimg/catkin_generated/installspace/local_setup.sh b/workspace/build/vqimg/catkin_generated/installspace/local_setup.sh new file mode 100644 index 0000000..bbc9974 --- /dev/null +++ b/workspace/build/vqimg/catkin_generated/installspace/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/install} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/build/vqimg/catkin_generated/installspace/local_setup.zsh b/workspace/build/vqimg/catkin_generated/installspace/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/build/vqimg/catkin_generated/installspace/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/build/vqimg/catkin_generated/installspace/setup.sh b/workspace/build/vqimg/catkin_generated/installspace/setup.sh index 58f11e7..c6aafc8 100644 --- a/workspace/build/vqimg/catkin_generated/installspace/setup.sh +++ b/workspace/build/vqimg/catkin_generated/installspace/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/build/vqimg/catkin_generated/installspace/vqimgConfig.cmake b/workspace/build/vqimg/catkin_generated/installspace/vqimgConfig.cmake index 64a9bb6..b0658c4 100644 --- a/workspace/build/vqimg/catkin_generated/installspace/vqimgConfig.cmake +++ b/workspace/build/vqimg/catkin_generated/installspace/vqimgConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND vqimg_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND vqimg_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND vqimg_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/build/vqimg/catkin_generated/setup_cached.sh b/workspace/build/vqimg/catkin_generated/setup_cached.sh index e8c0451..0ede646 100755 --- a/workspace/build/vqimg/catkin_generated/setup_cached.sh +++ b/workspace/build/vqimg/catkin_generated/setup_cached.sh @@ -8,6 +8,9 @@ # modified environment variables export CMAKE_PREFIX_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg:$CMAKE_PREFIX_PATH" +export LD_LIBRARY_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/pkgconfig:$PKG_CONFIG_PATH" export PWD="/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg" +export PYTHONPATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages:$PYTHONPATH" export ROSLISP_PACKAGE_DIRECTORIES="/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/share/common-lisp:$ROSLISP_PACKAGE_DIRECTORIES" export ROS_PACKAGE_PATH="/home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg:$ROS_PACKAGE_PATH" \ No newline at end of file diff --git a/workspace/build/vqimg/catkin_generated/stamps/vqimg/_setup_util.py.stamp b/workspace/build/vqimg/catkin_generated/stamps/vqimg/_setup_util.py.stamp index 31a0883..2ee1bf2 100755 --- a/workspace/build/vqimg/catkin_generated/stamps/vqimg/_setup_util.py.stamp +++ b/workspace/build/vqimg/catkin_generated/stamps/vqimg/_setup_util.py.stamp @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/build/vqimg/cmake_install.cmake b/workspace/build/vqimg/cmake_install.cmake index b72c25e..3550214 100644 --- a/workspace/build/vqimg/cmake_install.cmake +++ b/workspace/build/vqimg/cmake_install.cmake @@ -73,38 +73,47 @@ endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.bash;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.bash") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/setup.bash") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/setup.bash" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/local_setup.bash" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.sh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.sh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/setup.sh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/setup.sh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/local_setup.sh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh") + "/home/klafyvel/Documents/supelec/2A/projet/workspace/install/setup.zsh;/home/klafyvel/Documents/supelec/2A/projet/workspace/install/local_setup.zsh") if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") endif() -file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/setup.zsh") +file(INSTALL DESTINATION "/home/klafyvel/Documents/supelec/2A/projet/workspace/install" TYPE FILE FILES + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/setup.zsh" + "/home/klafyvel/Documents/supelec/2A/projet/workspace/build/vqimg/catkin_generated/installspace/local_setup.zsh" + ) endif() if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) diff --git a/workspace/build/vqimg/setup_custom_pythonpath.sh b/workspace/build/vqimg/setup_custom_pythonpath.sh new file mode 100755 index 0000000..8d75b55 --- /dev/null +++ b/workspace/build/vqimg/setup_custom_pythonpath.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +# generated from dynamic_reconfigure/cmake/setup_custom_pythonpath.sh.in + +PYTHONPATH=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg/lib/python2.7/dist-packages:$PYTHONPATH +exec "$@" diff --git a/workspace/devel/.catkin b/workspace/devel/.catkin index 0c64adf..7df3cba 100644 --- a/workspace/devel/.catkin +++ b/workspace/devel/.catkin @@ -1 +1 @@ -/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_autonomy;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_description;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_msgs;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_tools;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/demo-teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/joy_teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/key_teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/mouse_teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/teleop_tools;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/teleop_tools_msgs;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/drone_demo \ No newline at end of file +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_autonomy;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_description;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_msgs;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_tools;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/demo-teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/joy_teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/key_teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/mouse_teleop;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/teleop_tools;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/teleop_tools/teleop_tools_msgs;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/vqimg;/home/klafyvel/Documents/supelec/2A/projet/workspace/src/drone_demo \ No newline at end of file diff --git a/workspace/devel/.private/bebop_description/_setup_util.py b/workspace/devel/.private/bebop_description/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/bebop_description/_setup_util.py +++ b/workspace/devel/.private/bebop_description/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/bebop_description/cmake.lock b/workspace/devel/.private/bebop_description/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/bebop_description/local_setup.bash b/workspace/devel/.private/bebop_description/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/bebop_description/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/bebop_description/local_setup.sh b/workspace/devel/.private/bebop_description/local_setup.sh new file mode 100644 index 0000000..eb003ca --- /dev/null +++ b/workspace/devel/.private/bebop_description/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/bebop_description/local_setup.zsh b/workspace/devel/.private/bebop_description/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/bebop_description/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/bebop_description/setup.sh b/workspace/devel/.private/bebop_description/setup.sh index 94e51ed..63fab31 100644 --- a/workspace/devel/.private/bebop_description/setup.sh +++ b/workspace/devel/.private/bebop_description/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/bebop_description/share/bebop_description/cmake/bebop_descriptionConfig.cmake b/workspace/devel/.private/bebop_description/share/bebop_description/cmake/bebop_descriptionConfig.cmake index b45be50..3a96aa5 100644 --- a/workspace/devel/.private/bebop_description/share/bebop_description/cmake/bebop_descriptionConfig.cmake +++ b/workspace/devel/.private/bebop_description/share/bebop_description/cmake/bebop_descriptionConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_description_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_description_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_description_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/bebop_driver/_setup_util.py b/workspace/devel/.private/bebop_driver/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/bebop_driver/_setup_util.py +++ b/workspace/devel/.private/bebop_driver/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/bebop_driver/cmake.lock b/workspace/devel/.private/bebop_driver/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/bebop_driver/lib/libbebop.so b/workspace/devel/.private/bebop_driver/lib/libbebop.so index 093059e4a0ea8f402f7faed26f295b64ab514701..51e4f5c216a442f4dbd7c9f9a17f9fc2228b1c85 100755 GIT binary patch delta 705832 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

NA{?ad$`q3{wHq@-3e?#s+ApU$D07*Yt>Yt$a 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%0A)iL> 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%0AM*d(Mtu+B|XDt`pZvuRqY0gNQ0H0@Gmluo& zOn?tE#&Hjt0PkWuJJ`$jIK&L|UUuJk$VFAGxcMO$1Mg=o-((ZFv7INh2w?bOACz+$ z-s0;xOWDFImaQ{MrkUa^O!Hj^ocTMafNwJLiicdH)kqZ`j4}TaBjP-!cmvaHWx%r@ z6~NaS>2{}lOh2DujN{w%vx+HR&otLD;13?x&sQ0F)&9R|y#Pf!V+=nbfODDRPnc#4 z1D@F~fUhv}nr|{s>gRgKIPNL^oWm5aWttB%;OW2D&zBi_-TuFzL%{2P+hL4jpBBK` zOz|3~nPR}dGQ&fj5zyoD%_v70WA(H8`5;q#k!cPw;3b{460ZK|1iYbvG4A)g z0G2bw%bDhC2HfWb0lbWnH@(j@%JL2R+0Hn3FvWde)X!-Q_!nk)$wvK&x4aZ8qMWfw z0M|3lL8h3M7Qm?txbI5>*uhAzzRmi%hB1D_IHP~i&x@GmN(Q{ROFy$;w*Mo4)ToGZ z2VYP(Krw|5d=B{R0@~%s>F2Vw^)vasQ75@H7Uzl^On?k*#hlAM58D#`q26jQ&kO zFJhW28SvtM{afw->`w&zMI)o!!5HU$DuAn);uB2sV+K6xGXcDSk!`*gFv`;g^m85K z>}QH!G0n+;*Utx-*=GOmRYX4UrEt3d_A|zce+b}ROz~l+*~frq4GLfjBOkiD|EZsM zF~%<#XYmgGJcns6W56T+r9Yu~KoR+?FPlRG*uWTv80QI}3*gyIb14HJ{)GVE&q&~V zz`ynL4#v2HaTe{=&$F23Eev?rfBygdUvZxz@{zy$?GnIx#yH40C;e9df50^B81T?x zAArAQtkdj#-w zrn!Ux|HcfXd-eBwKVXzcf2E%*8D|eu{ETUi&*OCsy{g0QNA(l5Yg? zI;OaSX{H(Q#8LfhWaLwCN}-X_D6eCTTN!6~pOMiNzsociGT=UmF(acH#hr|N=A32; zU@c?pW1Qo%1@I)MS0>L2h5$0*0`r=QCh=LV+uKGWQ9fBj6{tjH+dW909C zxyTW~4UDlMR{$?#iuWgdTFi$@l7~>G*JmFjVc{bBr%3!mnmr8o{jvI)WMt6AdWe25V~n3N&Vq6Jc^=bT&R{U% zMslbC2OehRpZ=&67QjZvxRY^CK1=}5WtwpY{OfrA{OWN1JKS3H_48B4IO_=gY-Ebh zGR^G_5{e5a2;eh}{L72PkpkGv7()>OJcB7-!!%P2c;Hd`S;NSX8ycgWJyAcOXPm=K z@!)Uk=L{wS#UTX(m}ca2jo%T#b&TnDPGAm*D&C|$LQxmM!xV5Vw4qy`q{xa zzhH{F$LeSF*pb9&p!ll;8D2g~z`s3=80F041n?=wIm8tAFA~7h81QjsxZm;mcbXid z9Ab=BC+O#DruY)m+<8JmfZ|st3gDr|0{-K9&nWjY#)T&dU<*^+#5BKPz@xsapW{pP z@A5LsC^L+4(aHL`jw!yxGR!#~3#=&J0sLe5wG>V!(61 zub)Rw(?9GLjZuy{RX-Oq&Nim_3e!yNRs@QBPZPi+rVIGr|Nrer07Fp$tYMswGR2pf z<}d?(?{xjVhLPQN1EZXChJJ2foV%IgA!q8}ZU2`m0tcRDhGWYFd}&mSayMhV><0pv zVv4Ub&Aklx#ti+eJ4^qFYoS~}7cj;xj5Bn$ejds6i2XlX5jgM?Gn_C}z#i}Mj52hN z0M;i5jxfgRIr{k^Q+$z$v|>mR@RIWda04S> zySU~G;Dd~DzY7GgoGD(;G*>g=K2`d886)4gx*28ph5FgfICn6`edpQ#X~nd80{9nZ zc*#WqMm-Z4<&60PxSnwiGR3TmeE?2nz(<(jm<9Sn*`Xw(9Au1hF450>nBwD?*#Buo z;6T8i#RSk5GaA_^+ppUKxScW1zDxj{nBrqh^Fsza_j3Jwl#wyn{;S#g*~A!!8RwKM z^z+h$BCS}(fTPSXwopJ;cIXR6IpazJT+cWMnc|^~^m8TyKF18l{aAl?cBqw6jxfgR ztMv0hrkHp`kyd0F@Y<^du!oU-vqKAN1n?=wIQ|*|tYV7SGtG4jc*tV?ypECmvP1q? zr=w9;F~&6G+{@H{*@@6$wE`TdV8DMc!)t#cVE^pU*Nk%Rbpp7NagH#>L$BA*nGAT? z68-FABuC#3`uQkhJm^OKtYj)DksZ2Pk#=A$1Loc&fLAe+>mS4@E9(TXlX321ir>0f zKg$^KZ_Mz@Tl6209r_=mob^-ve1>uEWGbOJaH#;E!GKRP!vk&=aA0;Q#VB_&#`((x za1B#@nrRL&-~~U^&kjcNTsv|7T*DZ@VVu$1?EjSFB1M`j8Swb!0{A2&-^vc1X_rKq zWQ-Zcd0M>>zzdmXBLjZP46AO}e~{h7C{MdXKi4tN{yXgdl;SG~(wzKr0X(Te07n@) z*fzXV0Jk&7*>?$G6H|PFY3^Xai+`b?&oeUCwbiJfDaM$+LO&<2u#%J_>Oh*a7;p(Q ze2|et+#eX_gp~q#HsidJDRwZ;FBtHMU+U*fM#g1_8W`mk#`rnooRDY|pqS4z*D&DA z%a}LwIhXG$?hT9n#pB*Y(t)B}S z-~K;fjQ|HKnC4v!_%t*8n2{s0Ly_MK-~z^YC*ypEDeh#NlbiMPVrF<3BNMVi-HdX~ zefoJ4;|awAMT*T#b1MVxvsM5nGje2hsFqQ#XN-SloMZ0S&oZXDoBm2^G~Z^xJ@L;5FX zhZZr)b&T;JM8lxO$j8oe5^HQd`l4u{E%tp zx9jITW_UXzljJeVA;u=z|0g^tz<~>y;vG!0ivho3hQ~i8;5dPdGRYX|nqznBfr{1e_$0Q8qBfEsXPXra0k6 z{hZH$Ynb87j7*ltD2q4R|1rhljRJTtQ{2KdLz@Kf3}$!@Bi|LsDEk=WxU_zr&J-6j z%{B(y&I}KENq>nvMj3y}{*Ng(IuPgInc}$30yu{O?_q{7GIFv&Mp^g={ana6?`Db{ zndS%sPVLgqD;Sv~k5Tp}6fwmCFALx)OmQL8Y+=BUnPKi00pAnIDC-#GGmP^irg*?B z`dPt%cQM1K87Y;=C=-!x0g45T^G>Gt4Ab1nfRkSpz>66W{hKA)6bKb;sU1G z%z#^&;XbeHpDK^hsrG-ZBIdw)#`$NaIHpGc%NTGuGklzp?+av<;WzYiF5|q7DXwRl zgA6$7P5nHdk!kW6oo4^16)^{PFwVo?62KWuvz`H;Vul|ua;iIFuK<=a#v2*u15EKv zrkV3c{hZ1SuVCaf*8rmlMXw^py^QnNw*_!6(_F=Xo0;K18JX@G@h1VSVvKh%&L^4T zhfFj79sQii3~yj0>OR0kR1qj*Jm6gcJcTJPWST7u_%<`#!^r7I`koKKMT~JZ<9vxJ z?qHfl@9XD0W_UXzXPD^w_J33{|nr;nPKjq1)OQ5jIxd~u49~k zWQu#4=CrN)c@;DKH6vvvx-}s{k#Qi#6aFHA7c#{=m}VCPe!&cn*e2iyM#?A~7~?aH z^CPBszz6zS!GO0g!-pA}VWJ5|RFU_g0G`G;f6NqDGtGAx@Ec}${9gr}Wu%NU$r!gV z&d-_Rgg`$RGhhQVT+K+i{r`?4s@TC8kNijgPhg6(ndT}6{5><=$jI5Y-^cp7g4Jwh zJxl&J;y*&49h%N=CON>|{*lp~nJ!8e&9whJ6qOEaVlBg;jEpvM1v}WxcUbc2i2n$^ zK!(o|$WrEhHZnS&`CQ5lrnre|h6j9bu3)G_9t&9V_YwaQ`h-BmA_tOeVD9#j(KhC@ zhaDW^CgzF9Ecus_aXPcl6Uaj54vmafFrPK-U=ug7o#D?%Mtiw}JK4;!mGZtYF-~U{lT6ep za{oOt+RS`zU|kWBJVqJLIM-akdN#9#C5f+%Ofj7UOfvfdf#293%x48VSj$apVtCZK<_f;UX6|H3 zXwPW4N*+s@WEFGw*)zJ7`D|tf(@bnq1d8yOJ);?}V8Mj~S;msAJ)?^_oefN~mATn_ zMthjgL3S{2o)5@khWFhwTFDh$!e*{w$$oqM%kJ{nH_!f0Dux}%-G9$${zU>gjU9|} z6XOi$?D22A3uG6Y+0T;PJ)_z41+tJymNWN&J)CA$(GAS!Hg+(>O^hrMc+j5FC|9tW&8%n1!6wG(>}HY!%pJSO z|Nr+T0u@E{a;~|8JK4;!SIC=aVw^rP;an?{4%9LC+qMVuxq%%FxQQ8t3!LkP0$IjpR@J=*SIK69>=$6{_`CBunhoNL7ju3|GgSW;+YoX%k;8D1ptSi6JyoX-x% zxrr%;Cpp(#!G1O~^kaF)nHZM4l#VZbA6RSmav&~SaO1i zaXOPsvXi+d+8xa22s;?LS{|be7dzEl!TPK1|7Jyt10^RJ8K-lANoLmwoNRY6pB3z2 zEjO`=;qN-vT)}tP%$+PLF|ljpv6M+xG52JdM z8X2dvj!7n&d%E4hd~Rb0Gu*_;_43YeuDOEMY-T-6&NMMjXE&2)+W!NJ+%nr^i9i;y zgO%LGT84k%Tyq6G*vxlWGQ-3;o#7h2fPy?nh^qaxD{8ib%DUvxd#QgB$n^w{Z_gIOz%(tBJKS%3;QM z&_Wk0qfGJVOtXUlr(9{5)%(eX1$>od+;ye>U#+NHpZJN)g}1fT276V88;t%`(op-VKT=Ht;jHa_kb5<7y7_W9HoDH>Dd)j&oVTKGrf(aHG*F zu4X%v?B)2I+$gw^V}IdiHYF6KBZ@k0GxtaCc_vdajoWd@4 za)6-*H=290L+7xNbu8y@)^Nt1?lWA$M4RGyMGvRlW#w#O-mkJlZ?TvotmLv^SUF$g zD)zI3$2Gdqu!=jmmEl$Xkg>vU;Wez{8rCs?rQO0sEA9UciYFY{#%&zof?rzsul=co zQFbxLA;$T=CZl6D)BKeEoP4)yX0^WyvViMY#=?8-7A|1}UtlW-?s0Cq6<7VrcHuM3 z`Hedsi#TbOi-v8i%up4kZ+Q zitCbA&W+5!*U#klx@b6=^Vz{TGfeTUHCE0g47iJ-HU6^kTPx?CEaNk*W@)pPv!1Pd zo!v|fD+Uy|+-K##b?0LdbJtoqr?Q3{*u?Dnt(@nvmrFUsy&T)@&X=-s-px7O$R&(E zVC8INC;!C0X8S**7#j%y*b(WWAO1 zN@loIp07Wvu2Stmk`dVO6`8vxNiv2NT&3S<#bj6kNj!e##mi|CE(;9^1H$ zy)68_mGfHWwOA30IibVKc@>xNNv`6D>|pF^D`y*r`R}Lg|M0_B^o$z?ALM-Q;8LFa ztd;XJZeTwH7I#`XZ(?Mf6*0=ApR;ma$9g`;7JkYuE_&X|*}?4Jd8d5d{x4J%zTg(g zM_I#NY~-mMtejV|hl3nq>5Eq0>Q>5P*0Pe1u$IrViT`Cg&)nz^$@{sJFLUf8?k|Z= zE*iyYX`^E$mvAvxarsL|$5niXPjM%=Y!>jS=QvBai*vYNmwx7R6{oU;vtHKE7KUZ=U z+t|Txy{(_$`ICN@a_kcck6lH{6VCBF0=Se*xQ45^{#^k~^BsQ3o&4fG0qq{Q@9XD8 z&f#<};SqiAc&uk9lYe&g^HC17o8iQhw$)ZwKXwC>*oQV=w}h@82wZ~XS0*F>|_0B`nmeE|KI;l+m8;EvU@-Px3Z4IOfqM? z08U^Zr*W8-|L_5xaerVbZ{!SxhDW|fEv;M80F($c;oxEqKeztI!n-hxgbGF-m1aN>= z9J5OR$NyIVi`dDT?BkOh=F7wSpZCF7%3ZADe!KNEpGi(-Cue=BpD_+Iu}l$u!6zFL zz!p|7GuX#@2Mb^g!<)Upu#{`Z>SsIa z_$HJ5_z?Zv$vz%5ZtrMfSaI~B0{-BZ$WqQ_6|V{l;8G^JhMio0m;k0Z%nupvGLiB6 z89H1)C$f%H^7XTvom|L1-g3lV|Nozg#v=s0?AFLqZk!;1y{zL7Ci%^g0ys7zfRj1Q z8As{g;thwTypdJBYodNOGs)-K$v3~PpTV~i0u*~42)|+^-x0t9R`CqhaV3-d3pen% zqxX((Zr+0Vp1iqPxMB?~ynGLA12 zz!|LP61FhKF22cr?q;aR#d*Ab&S4psvzqH!&uwgB_6hnqh5i2fd!fq|p*L(d7H|X0 zxSiD;ccK86v4yql;#&6eHHO}F|6l3=g})QZqsZiy^l zBg^qvvsn z0M2I_?_xEdVLkiV!n~6O@HF=GDu&+ng24iIv5a4^niHnzX9ZhW$1bj8qF?d0!oNux z%CLY%-xI)jtmYl8X9rstu!{$j`T(5D&^uniSin^*<7QTK2kV)Cihh=}i#MKP|Mx2% zbRhJutD6NJVHqb)6~MWyXFXfk&Mtn)e(v{u{qMQDS-@(R@g7!lBkMWH7KW$k=ZtCg zf4|~72SV?=x>>*;mT@<$dGx6QIEO8avy1E5&#esgxw=o&&k~mLGFEdX>$!m~9AFp6 zC8i5doWanaUEM5TGt2lItGSEyEQktVCA+wc{d|<6t*&ksFm$?pPG&V1u%3-$#IHjGQTev)IpD7~1CQW&z(}8NXpQPbkyR`D|eW zySCZ?&nWsG_?V#&T-`qqz-cVwRjlS}*0YN(9AXzI%+Sx741MV8W&vAR#s@+Pe0FK zH5ap<&1_-!dG>#oVwVH`oLDK~6IVA2xRhmll+}EX^$h(`0E^kh1?=Zt41MbAW&!(I z#)D?-=V`2G4O^I;oe-ed;y^#YVCXYf_m2dyf@Qpg)m+DVzQYz~*u@j(=;u6!23*}N zUu$Nuj%YII}K>v1E zHw#$LGCsv>e#m;}ROx4;RMDka$bR0#&_7(=EZ`u^IQ~KboWXi7VGC32;+yQ}ZiWV3 z-ShNw4$HWl)m+bdZez=!{hxi200*Y9pO-Q8Pgge!xPfKd&T5XEFMwriVJ*A3mi>H< zp&hPn7O>!A{hZBeE@M60*s>$xmZ|7+V9WvmoXpU_T-_{SBg^sqfk&+`* zBsv+98W}k>BeDl0b4EsvnfYaQ=E$65Mvhr?OizxPbIh0{Z)Z$Tjm(UUjF}nX$;gz* z$jBU#owYM^iinPxV|?ZJzWtO~Azy;9ix7ty7%c&<)3U zC;(?e4_pboum<{I8}!4N@39_Ef>sx2H*~{t=)ijDfybd2j+oE&?<2^bPXV|D2H+-W zo#yO@Zg>tlFy;FcfU}?%dZ7l}v$x?u%$U={Sh z2Iz%Hpzj>le+Pk|fnFGZiHj)kFJ5Gz8)icX=0OiEhF-WD`d}sW!)h3SP0;G$>VR(8 z4ISwEA?sl>^uo!|*TeOnL*Qp19|m9vwEoRm3*E2^IrZW6%eCp&!N;vL2>F ztCt%Tbi+L8zyj!jrO*pEK;H_2Y63s3g8|qEt^ei50o~B`BMQKH=z;0b3#UUL%!hth z2m`PTTIYF53GP*xE1`X?x4zz<7c09Hb4P?S{z-LL^VumyTx zH}t~6MHqmI&<|5#0Omj|BFgeWH!Ow@EQKCe1-)=rk-Yv1ni%lIHW+}t(29(*;vS&@ zOok3jhaQ**y>KD)!4l|)WiSA%q2-F=-;!oMY=I68LJxE;VLcqNg1|?R3jHt>24Ft4 zqN1!K=!T`xffdjLYoQnJhd$T_{jdWDVC;`sZ%0{f=!WUgf!WXl3!oRSc#ObDPzL?5 z5(Z!$w4$S|X6S}N=)i91f$_x@fMcK!W27rJ2ubYKqb53GP*xE1Vue=ort27Is(`e6wSz)EOc%6$O3VFPqv3-rKl z=!JuS#(J0t{V){W2?gP*btDpmGp$E1=FFXc)uowDa>`KoVbYKhgz;5V;gIBR0CPF_< zg#nlYt3IY#-Yc&Pn2!*uAt71;zHf&%D;k3kS1!4Bw$y)Xb1e@%h0 z+y|f=WF{m0J>o}bjGcq^<@-bAQ^h$WaxuA&=2!r z0G2@OI_?9|4XdC7YoQ0WKrcK7eXtk$VeD^M4^tt3r_pkt8|Fc01wjFU2bMxF+yH&B z8v0=!48S&MUC(_0x}j?=1z53GP*xE1{a0zI%Bdg0*TvK}TvKTL%Im;S*aZEs4F+H@w7$uGU>yZuGIU@%^uRpmg$tn%mOwu&g8^6# zt#s}K&<$Hw5I6)u=z*@^Q2>sBK9~yqFcSt~KC~usAAoLH3LRJhJ+Kyf;eP0YZO{)p zU;xHeuznKv0qBM+(g_@bZ0Lan&#?} z7D7KPfdNX&mb>24D`frg9&sLJD!8YiJ9WVf6H?w{k*T0*< zO^^;9m<>I!0D9qL&_P&FYwbd(B8)NUv+PkwR~GoUlSbtVozTO%z2p~ z$C*Xz{zM_TW+#PU(rXlg%V0GezKeCR;PsxqE_nN!J^a3Zl=T42h7ZF6SPDzwv#<&_ z!v^@pn=5+yf&_8(J$)`VoC%ZR8kh~MVF3)nQuq%T|LrKNeos%|WY`MxVUnL#!{^{u z*a7#$AHRh$=!fxn%-c(cU^dKyo)rYe1SPNnZh*Bg2#>&v-sT64U;!NQoha*9a54+tZf|55i)&;y3#_wgmNX7i@(` zU^_eq(+;rV`=a>sI&2sgz&UU!d<^>F2KX`D1<%7HaAqUxVIGW~!-ilg{3UeYcIcVI z^?&($w2px*UYN zR@em>A7qE-Mp>ue19|W<$q%_);Bx4PTVMbd9HN!~Lo1;h4*95uU)PVa z5}*e@3QM8)BQg3lCnaL~NHGH@1U~y)-x%w{e~E%}6;gDN*%_;xviQ~dSq zeT5XTvWCR1in#p}`;K2kM$C_m9?X#3x{m^b)mD=td+OW84L3|3868lA?c(2Gv3V=P zvSw&swwpL}kF=6tJH(Ur$W15M9^xr`q_qUwOFUl9R~B5hj{!FWuREh7mgxm4LB>|@ zY43|0Xzea-%gvaJzqPz%kC?EVHT(96*^()Ku}pH@Ua<*Yo!#(XyB6_~Dj;{Omi6Tg z?c&oP-9FN8L2PdjYxg+`BJmApsQV9_Qmj#o_k6vFRpdv!+b%9XJ9T7K z17e)`%|2(89VDFeu1KhN5~5tTWu?pE%VUzMl1|fadsobQ(@BY(xZj*zh0Jm97aQMn zk|M8`gLh_MCYs-5*KgP_S{aRS_KP0L!u_&pQpBSDs+G~H(U!H873!49L6jmM{?fTj zl-E0hBc<9rmb0mhR1M7oT+e}Q+TY%nIdC^0)hB{Hka3)-$5=e- zhOCj%X^4L#K0Qd;T*Mdq+n*YB$H?d+GwX*FvPPzqBU}gC`^F9|S#Y6b4f!Dl#L+!i zn07#%hog&_f9=5e<`R)@bJNks4u~m!F66)gvB1x|%to;aeRXYPd*6Kn*G0_w`Uv?h zvaA!0x+SXr%@jJ`C^}`Kw)e#Fwm87W zd>pb}2SvS{KcZQ*Ge5GVxn2D1+|-f6z1ML?ENK=gd!3}gF(2wG!hcCtyzr2Uv_HIX zkX*tWI^>fD><`5j3Peo&Q0$XT{!p|_e&a)7zYQZk6e*IYo5eKAK(kmN`9ZT-1xMF6 zxAzUT_^{eNwG41%+QuENRwPeL#xUw2JZ(%h}93Y-VZyLgyV87NO+r zR(Mc@^YJg+uN&u;6Xr0X|Lk@NA43syn#C3>MdYzJ?{HD2(c2aGa-s%?SXM^AuxLa! zLLQ!L-3T&$GX^#%;*PIR8i#xVljUV?dk{-Ml)I1=xspNIscU@<7E|Fn|4||L>k5AI z+nB6weF4ONRbjX~1>@*_%ZFn8ySPm{q$i1@ciETBL%LPvh{)-rF6?WK%uhcgcD~EL z&N?Ixzw3;Yw` z;8d#T4>)5Z%P;y;e00FMCUX2`I&b%~X#8a&p^?pW4j0oJSv-1#N+v|nm(e4{TABM| zq}VNUIc~jhXpkgATR1&MTZm)#Vn>Vd?=f@f7-OO6Jvy^=j9B^}bta7y&&q7eL}Q?d zB`p)haha^RNepiyIpbR<>0HXo>bJzaCXz9Ci8V6m&o>TgNg}j^DB~c&pm&})FK13F zG7g;gaWJV!OncuM7jyQJFZ(KN`u3XWe4odN!r_)R|1q<{%3)H7-As%ay-c*fPnoq| zlZ^WYe>U1H#vdd(bETMjkmULojhj-E2<>L%t-2pI499en6eBc9RT{>}nV1WwPd&7}rd) zXwWfr+=u2}W?2Yr=lV=#C)&$kTI4aYxtUX-z@?{(Kr^R^R9`l8iX_{|#5X=9f8=tV zw=-$bk;}#0582L!kz&<{Y^N!~Bx^`EC5VGES(YezWb*82VgDAiTgUS^AJZUka|pCHK)Y9k2peY++{Vmv@xQZx$=|bH0>Z z$?N6s%oeNZ)bZbmMrKBAdrF*@b>b^c(#@kne5IK33CWf}h((`}oLXhfbV3ETL8PZ;6e} zj9C7**ms0F#}Alf7s=xX#E?HrukVSBKa-sOiLq0V#D(*TvGePjw4HJWhyPh@moxJt z{;qFuU4Q26mFlZMJ7Z%KU4QTUgS@zJ6`NW)brP@U`7%aNwR33Ix)`yjl`YPS73*86 zvwxUL`bq8|CXUMF>Ua_JDak1*Iyp4m&7*tD-*tC3PttZg44%JMESED2#~VBTPw7tK zc(LzOx|5prcYUz#oum&|2TvwVx0o#^(yFFgL`EB1EW1@KXrs>A+fA~Z43?lpE^ov7`kF*y3$V&-SeoL6k@lz)budBtM=XVghrD)!3kqRnO_ z9V}V2S;QQ5#$7k=nZNga!4={fH<7;;W8MeND2x1sEApceyl%?p%ru_lDmS#4+~BK@>&>5>pf~ShaQ|pgFDIstRTJ0$ zm5meIf29}QSi7=XFFv zkeoY5JIUsG-<@Ne3^GoN7!2Gk*2;-Fd1|6)4q^pyIEaanR^qR-tjCJRzr&lw_+v~geo@;fI))9z(qq_2f9beB zQ9r#wov3!@jlAV}RoiG{HSuvKMtJ@thX0)^jc@3jGoH7yZ-{w+C%5KJu}0>`9MD#3 z$&EQ+tlWBowi00QSfe;EC(im%TXBwK1u^Y7Rfc^emK-O!?}Xk$B@H3oEpw|*igt35 zz5h5a`c81*;?lTDbc^vPSg_`wV)hAVd_?9TasCAF`h6$3lg=M>LOg$hm;c6y6XJst z&h-%`Lu5KB;@Kf0se@&`L&dZXXF^2fD7DNkVbAxD5*x|IjJx7Q-xu=LX_}aK!WnHh zOth@FF?wD%^CHHIVJE4PKTc$vq(<*VohzDvtx007%$3|EcFJ7h?K;;%ZtCqKrjz>H zvQ7P=x_cv<$oguz*>#Ktaq?pmj}*TmSkb>esz+gtZL zvvbc}FCIAITxG{+@SbS1o|rvJ-KyuGW@`;TvF0>eE2tLrr#Uifs>M+`9(+mIXBaPi zU9ZWcJKJ6tbI(wG*c+z!B3(SC^cKr%*mt7ufBxegl70g%-#^!~*m_qSVsXTz1ES}Q zGc}_AxGwBW=3aYT%=-tqDIH?fKiKG@uXL`C+_|qrE4i3i|2on4uI%6oVl7&vb#sQb zyE@dlC~~EWjp`8hb#uNgusg(xZs*3xo=bIpNbSwstA=&x1G-+EKgAumjj?6l5Ix<_ zgvcRR>WOw5eM-Ml%={;I*1E;gf07)XYLe9?r>BZWk{3UFeTP1x_nRZ?KFdLzk4{{r9$# zLq@VgMhZekN<&7fLPi=wMuH(DuBjn@LPoMfMhZekN<&7fLPi=wMuH(DuG>TWgp6c| zj1+{7l!lB{g^V4Qgp6c|j1+{7l!lB{g^VrtDrBS~ zWF#0e;^KqH|Gf7mhm2&0j1+{7l!lB{g^VMUmmk8XdXhKVB$v z@8;7{Ju=eva&$X)h)u36-kxNOMpsr+MEo>yTrS^vmlzfWOYRXFQH&?vE9Oc)Z0U?h{iby>rAO$?E&XI>{q*#cs*b`Qi)7 zMc)-M(Qy4dF+pf0 zCtb|Ei2hAxP=0P6UBHZSh_Am{h%RMh5+m3BZ}!M(RS4$xEw=ct|3iX^AAJ3>dIR}Y zGFgn%RR1W|R#+A@^nN7??7W2i?qaz*X_{v9*^#Lg z-GPv$8{q-g7YKKjT}eY;Hfhh@3!G!9E+ zj+hz8be8Y!A(s%oY<9G5jNa^1WErG~iZWaYe$ zzWWEULEbZ8iv7g7JncWA%i5WU)(7-{mnou^dg z_3`wr?kUqZH!7m-DUlM7y~gJTlpB)AL1}r;^zC}pH@on=eC+v1rTlqDPjicx^yA;atX+HoYdMUB)gq@9Gdwzsar5GmniRp8PR)2jbk3lx1LfkftTVoZXYM3fAw1pxK!%pgp(@GJa$7Nj+-Nl3*qfJ3| zb-HO{-Doi-ftGb%EfyrmyWrKjp714Ldr7h?DEv~aOBVYQ*gbFhfFeV>DY7R0q`oeH zsk;?hK;elZW0Wj7(HP8OaLFW9&n}^L>n4efqhz^h1ImfOD7Lg_nrI)zp4Q!|_tdr? z%e@jTv)HjhaLnl{ZK1PUI%J>i(1ZN16IxE5Co?1*e6I zYwtJKx)CvRb?=gC)3~{&cd4d#&I0bwiw5|#i)8gwdpu0Y!#nf1d+bVtV(AzNh6sWLa~6eo}r&bD8iZWetw>qSPU- zB-Q(Kz4uKlOzp&%jTGt zl`~<>D+7$#ex}vDB92mY@E1D<_!91`xHOOMFx_)d5p!SF-SbGX>{YSgD*P>cdqBM* z6&#c$Z=3FYrq8_UMO+09qV*~c$JPepwS&RrcXZzp>0$OeB4ae=CVV`gobZljOPL>w zRioMI#fQx`=Hpd%3F3oCXc=+mVO^(-Izv7YL$0PyZ@a0Jdo_KtzZ7$?ro`l9C)G=7 zba5e@M5w-1ApFO4-x@dsfn%m`rKWEICLBCBz?dCJCy$&H@sWb$lr_ZT@(%Erk*lH|P=#EZcU2@e)L&r0E(%mS0QLin2P@4O959rD??|)wFOrx6EJfD+#1!coOUEjIB6{Td zgS;HcC${MLAG1A#+_&g-#Oy~+%L?e<(nn3p+Dyy5%qVzbfGxX*X^Wo_2ggy>x7xHU z?mC)Og;Fg`lgj-oU039yBAj1|+1KH2{Oz)_5!~3k;|= zw1rxw0n@zSnC5jn$|v7{5eYZYyvDy6r>T!|F??b6IiF50_(CkZfr5Ew1{4(j8`##o zGh*KjTw>+_5S_Bf-hXt8p~dv=r(7xBrbZe~oYyU8rcooubxPkl%F}oinvHroE$f=d z)lsMP30KR)3WPf0S`cyeDcv&{?Mbsw>7J#Vp1GIt(-p%_N%j1Z%d|1W#o`<3+1$%@ zRZ(*zU0Q%rJ!_Wg3zR$-q6-xfF+!ZZ5qn+N4yZLWnfCNtdrIHgUN=3<{26aS$BIQ0 z*xl)4jnfha8xZO|sb*PltZ1A-!9zC>C@A8-$+p^fZ}?5z4Y}o%`XSD=5`Ku|mQ&(^ z@6k8na$;4-%Ymr5MQr*ebvE5)>IA;Y`L^{gaa@*Y%`t6r{oJzJ5vpy;i1~M$w&l^o zm3N!Ac}&}im{IiI0nTh6)0TZ#)TdLmdLBoGD`EXa`c#8ZU2{v7`he-0gNn#`Kunv6 zxr~Pglp0#hG0A?|bnS1ZYh}y1T@;Dk6Y1KTB4f0PLHiN2x4kS&c|;^kqG0^v0}2Yy zB(|0GxL7a=bGa)|sms*%u2A0$Z=XcPa}27MHFF$B{6cifBKGf0k+hp=S={eL#!WoG zO|3W;_D2Zwy!^y#g)vu*=tju8L#yO5ddhUM%yiMujELt3IJLW&7WxyzzMDG@{elmuS?;KETXamQnd#7pRrDOEVYTM&9X_tt( znVrtqWt=9i0&!@I7tvWUz;OKh@_+bk#5T{0yPaz6Qk9Hq*Cm z4$}NK)3;rwZ*ir(nd=x}&35SI+zv7C7H%bFC*`%pch|SjsI4bW+x$``cbc{ZP!ZXk zqWu=kO*lWG)X;c3lzHB??N-ya)L-%{)FPIL)EZ{AE*oIW4lpgaOq`chhnJY1IaBFU0!sDFBh`A8tSh{zh@B;3 z)l}S7l?|vhw3Z{Xz0CCNDc!T^reE{O@Ec>d1JQv{c4N!a}9-?NnX5 zX+TxsyPXYsH;FB`V{yl3Z86%<;+=?7MVxTN6MUvn937qI6XUZfafSi)Y$R^Ww_+_!L2<1e zEWeXN-mm%#-AVJ-d?gz1q(cbB}u zO%VxqQNiV$)}JM%SFk~ZYFQql6d`L2Ev1=N&S`yvt1vC|F=Jis1z&bEvnq2%r!0E# zUR_kA<`cJ4;bb`>W@INQXg`?E$xF*L)ZYl!on6TFj z=Mvj5$>xlTB8+=UH-s=jjV9PN#K|w|h7gW7!(GIaO&nLnQ~XQ1*@QV}IG32;eo?gv zJ*GC{A~U0gxY*PtTyBQDh*z69?m6!B)XwL$t~6u0jBQczs3^i3QY9X|ud14IbWyF?#LS5HT3K(D9Gd?pU6SzVpJd6Th`BqJ zMf(NrI6F;A;#sfhl7t6elO>ZPXY4W_8QZr@*Cd?!x;RQYqMjczl^z+&*sW`B;~d>> zY7$T2$DF^%%Q%%pBHq47tbIs6sS#K15%u%=D*Ru2crlXSaknsd3^8gkzvA4D=+!Hu;;VT$ z70(p12kC?{;;q80D~0#_S*}3~#p4VMpNvU9WmL{~?j~wVR3TxNnh{k-xK2-~A?(rY{ zXgXnuo{&elNc`nt`r%u^=Ju-@!Y|`vYKjQR_^_H|w=q4vLGNxaaUQ=!E{{iI4JS*3 z+8x^=_L(^zV!xWhsnH;|KSVoX-_h$E$fdrc*9VCc-qGzyTgX$#V|tRvm12XQC5oh2 zrKj12ukfN^N|h12_%(59rJDGRnbS<1yH9Vfi@3Fj{C%vA7H1>`dZk%^VN0wO_mO z61(}eap~AcJY>H(xCl4=O1XSwvV)A3nY^o(SC#$RP3{lb=n*|h6iIPT&l2TQwCibh z8B4Mc=u*|h1qbw|nuuo|(3ZQ1Ys{RuKk>qA=A;qV9}x2jv6ILzXG=T9jPZLr%5DYm zxJGR!P{>AC>q+Z>M7&i`5^gEh>sfZ@{=z z#ETjK5pJ4H-t`){aFb6aZq+qJ(PB0_xk(ifoo2q6>m7Zlc5jW^b zb_ekeGbe5r*U=NSn{7$<(yL`m{gW}*LT)c#tABfH(Zj!q`5JQT2 zk=e~f*?d~ukjRS+aZR(BxrCX7sr(YjBh1{&Z#>I)YYZhHIxSwFq-XjL$(lSuek2R3 z6&pU%HQ(ScwV0a3az>Y9XYt-2=RoKI!Vq{x;} zjmbB;)Z6rq6E?Mp#iS#qf2Mbwp@z>)O=9P$u1Q#TRCLOjlRwuxUN3)7+tegZ3y7IN zVLR0Ui{$F}S9xQ;lrU0*S6#0l-%hqafJ!OU?JZ!mKl;#KWp@lUy` zf;t~n%9u-B`U~1uMR-P+5M4iIleyybO4)^F#6@b3NR#nAapN!OYwFt^Ry8Fmhp~??M4F77)fAB{<9ap6&e_KU z&V+vt%ujWwXR0(W+l=efZgQpI8+|!T6iLC42&fxt;Q_7} zJk&?)6eM5#l6oB{EXgQ8u9EiVqPhBYE8bFu@;lBAl`dM+XBzFFx ziU_w9#a3ZOhxt`E5R zntU?xl5Xv$XcZrUHFuj2#LA`0`KM7eQtj_o%~EBbHMuUS{QWBK2~_4+CYL7Fu6~s( zRr)!TE0U_FUzJOh`mg@&Nwu|KHA|J;)4x5beElkJH7fDn{o9jjL%+(EDxRaKKH@8q zs=Qy7OBMUS{o9jjb-!ws%5}bfds2D(Rot&oz5Oaps>k}w%v{u_tHU=5qDGV|8|8qr|p3Aa=`%*5!#7M}bfOubA* z8bZ~}M zt$&&y(c3>QfH;mA`XtV#+s1tI5$-4mWj-4*8=;z3{v?~PHS#yy!~A(f(+233&4$IN?jP8l#S0CakvRs$%yZB6>Ew{&i(p@jx z*u@O_OBlkb$QnH9?f;sQ_L*hA!>lquhvu0eF227M5>zH^qV*_`unX#z@ zH!;4;%o@0NuFv_qc>`7^Q*8{VM0%{4ww|BVI2$V#OYXiztY6Q8Y`DZ6$maDN$nHxn z^h)kl9o5>IArItw!ErqOUlY2R@K?sd9mlu;FASH+Jx#i9;*bl)^!4TGknbg*IWRxqF9CYUj~Gg4`B|bAFCt^; znZBC`PS%&Y`faQlPQJXM;@}3p{M%?2iMZc$wbcz3!+*~~s%2E&vT_-XY(c3%B3C5U z!G2XPSL`1u=2r43T_Z(eoY?t$j`h$>#Zk(Po_*>6?bt1iaUhpmDv~y4jlOOX^Zu_r zm*-M8^Ad-h(ccfw{rss1xU=Q|mB;B}dT*mk5Tyw9n?#j}DulWL)*&_-VYeYR3==W$ z@a7@FIWkO)dm5{se?wYLxF~oa4`;K2n%(3VGuL&^QDw85H5r!~ zn@xy(gtFOzC_yNjv47(WH6!d)MA2okr%4eFmx*PSczkWR_Ev7PG{p*&_H@({{nK4PX3b_rto2(j%Cc&r>D8vlUDCr4_J zL2`#jhWF_DlK1cA!}T#;9>4_S@r_TF#~juiPcR+}5wW9;$1+4JLV2u4q!?j0A>5-x z&n7$;j}i%+@%T`p_LzQ*Zx0f~d(0!>NIsm$QhD^QFdkR6Dvy<{*?WcYSceEAR3F^)Ux=*a*82(d-r*cXHWqXp^rJyPv`4<)gLD7Si)Z zhqu{Hei`|2Hk0K6yxQ1IJfdu7p5V@KwXvCxs6Z&2C5T#tvRR4PZiHQj*m|`%{w%HR zy;{Wl5s#;mwa4TRKFYZ!yvJu1;jwzG*!CPAH;>aE8_2bf3-2*VKH|FY z9^>WFBfnVQB7feZJf@!Fho`SI9&-?hsm5a=A`_uJmLVn?VOJy4Qbp?)JeH=4o-KHM z^m^?vzKh4W>%)6YC*MjwTptVM(Hn0(PX9=GEMd)|@y25%q8p+5Scize!FX^Bs) zMGWRQO19!L{{}H*D<1Dj(;f>>^WA1zc#oyzcaRU~v6e$waHH|~jYG;~6Kl5JXgqcx znh?rk>=|C{5UP)Y;_{n7LG4G#zRB&^6kHzFO$cOV-#nJ2_uP&S7gUVwaYbInEk8OxNg!0&n zC`KrciDx;4M%bB%g&AVeOL(ly5Nlq-@tLNtJu9Aj}^Cy*6nzFVv6?IP43{7@E+sO z@svP5TpzRL(YwufjA>FH^I7x7ZN_5>!sQr`m55}7@>qvRGQw^{jBxaWB+V{##JC!4 zK9HqtX8(&1O|rtbR%YKWmc4?5JPz8YJa(`qVW#mI+sAz#p**G{ z@)62o4q~T#$!Gr{$As;1d)zV9xD;!jo=&TLDraiZ{4nld1jUHqbB9zBe z!~!Gi9E9fq{UFJqt9?LhtjFf_9&NLhbf+i0%@*=8-wSWkB@ZBZWpnMD%4Xu=K~}_k zV>1(xj8Hc75!nc3vjj242)hz7dA?}eLo3VXi{pFnxZ?ZTqwAtU*1qqD_n1un3-aMw znI{imf$?~Mo$^@7n$`m2u?*3RP#&uhi4Pi&O^D$}*d2(t2SvhLcr18OWW0sP`xa=A zc`<{mO$)+%EGEC3d^nF)9L>UqjK}0Rl*c;O?0Cp{Y(umll*e8~H$wF>@nR045q2ix z*h6B`UOZ+l6l?b4@rEC0k5%NB{vf=^2J-93hx6FYxsbiccs%vG@)#RC$Xc_=cuYl9 zBb3J+L=!@JEJW-x!Y)Jj7m3|(<1zk+qV;V&Mi*+2-Q;E#hW8kM$slVH`EVYy<`9CrqOAw_9<*^b`g-{;r5Sxs!+YlRmBp)RCE5$z&>-1! zl!wE6EFeFXd^nF4^5~IQ*UT?pQy!~XlTl^@iBid#K>GO|-w^>U*VM%zKL25RUS2lBZDx1Bm8TMmiGck@^Jwn;c zMC2iq&3wd6BkU5y^dF0D@6yW3AB)C!@%Uu1_8260xH!B=*QGotkPp|&ba?=OVmyxe zlk%9un&Uq)9t#n%OO3}eL@GjgtVX05VK*V%OGVFqJQgn%2?y}_(4*R8`mjOP_D92e z%p>1OKAgu=c>o_X9@}449xGY1_c7zK4iQACKDHrTKQ$hE5$DNB!*=2~2Jw&Fiy4i0 z%=xKU)QHF1mT8Zr_mrwNa}%SFulcs#X2drTfa$eQF0?=hSF zEb`$z7R#gexbb*rjq+H=ni-E9kJX4mg!0&gC_^ZZ9f(y%*s+%nvb>MWk0VD#aTr=2 z7jq9{^WBx&W-;j@zX)%$g8Vr0;cPZgvyHsEw1>T{Y__pxbg8k~i^xVOn~5U^@vo&D zo0*7tM%ej?Ii>tlD73P=RBZbIkDGs~JvNYQ|7CcOLGlr+!h4LD2avq-_}NR!W9rC3 zR?jNqF$aEv6< zhwEd3Jb=G49=BF2k0q=*^ef}B648xNeXK*ouQ49m5JQZxdl7@zh;fJTn7>BMIE2T0 zeyu$gj2dLE|8;nerQ~;z59hI#Ls?K}JpTAa<*|u1+scf`4nz||d5q=X^|bL=iAY8$k9CM7BkVTBh^IwND;^8^8%C{oe4tW$%)WY%wWTt= z#{%+u$%pe;A&=f4jK_&p%40QacK^Y6Y(lglR3AGKy$IzoHkm_cgq@1$`h%GJDIT*o ziDjSS@utn%V+Fb8o5OpoCBKn;IFCWjg&d#pX#G)n>}Ab5pYfP@4flD3@|cNeK`4*; zh=WGhC5Zh#`Mvh2C=PAnGorB#n?s+~HiM*RKO5erD}@II^5JZz%LDjFWAnXdl+7I0 zEc&CdS%@e@D4S)7YJ{>`jo4y@-GuP{QS^L9E4%+F5{}~W%PQ?L{aQZGdM>=jJn}Qh zhx1q}4SxjIUbw%cNIRz z$kKT*MW9la5F>@SmG+s0w z^AYjY#$yR09ico{BE}nG*CEDKi{pR6V@b7$`2vp*^ZTvRWAb%;mi1D2kJ;o8kq_sw zSRTFY#^YC&%3~R88n+vd)rby+>SGfk_GRO-17RCs$ENae27|{Ymuv4Ub>(%e?Y%$KSwbSv$jfO#gp;oqJqV<@Wz) zCKx?Rrbebn21ZtfrbcE)3P`4g*YJ{=fsvJmJX&OBmQZ#xGPTKNW(FQl7b8<6uV`Rq zWn^k(Wn^e}Gcqr9Gt=LD?e);FUa#-)*M6^Ot!J&zerE4A&uj+3KN^2HjXC-Pu67zn zJ>zMd#++fRoyLV2c^IC?GK>(0r?DDimNSCKF& zc#Sjgcf%h}V<|7?e*E68ea?JOV;v);gK` z9U4p5$%60D_~LrgSc>o9`tTa7@HZ(7uQ5VjJ^Y@=gY!I%vEBHfvB7Cf#z?^MG>*YY z$M7^x!|3IV;6jWZ8)WPEXe`_y2fjz+^o^!5;$og+elVEr(AmefXtBsvACo02hEX5!5L3oY(xfUw%dm5KN>1jO9oR-_1#@L?pc??fuGDaqb zr*RC%AZG-pVf5Q(8%bW;h1+E7VPrn}p~>8jd)J5IWky`iMgf1grA*QnaJ!Rv?<`Md z26GNUwpBYc{?QLC>n3xX&RG~d7QN~yv9uY zTk(g}I745+kDSK7Pk0&^GH26APGcFyehhCZt1%*~oW|oAC-A7?VC)q zN+#5yvG>QOaR$DJKMt>P3I4_S!)dJIrOn*sG`1-8G}ba_!7isUsu!&u!_%0EQH|lP zV+O`9X9ROGw(pV!Kcg|>6Iu5&8qfUHG*;mo`)PQMb@->^52rCfU%k(q#_E}##^m07 z(D=-09D@oj9?kYOP|SsU(k5`GimZG8h_et8WU1@mi2jfjp_J@ z;SZ-VPhY)ir}4$dJdK6S8BpysmSE&!cp57)3Nbv5wHOaOBN&y+6Ul1n`5PLms%7+V zXnf}j)0l^^*`DwkL-;%552tZ6uWL1a@7BKkQBPwvbJ~CDG#rS0>K7#2M)J~?d?`zRN9OZ2CUZ0HZ)(EJ+>bx7H@wVfeF5=%GOu{VlbP6u z&l-E3%nXd!eNJXBMlyycvk;@ZGlC@;UG~ZDV=U#2eRAv=8t?kbG)AZMIP0tM8k6wv z#vg7ebMyt=?=&`k*wZ+TIXm||jSDgAFubKK!-)RcX{^R*=8WKRjK*I}$Kz-m^R)~( zj>f^?n8utdd6xA}c#Sjguf!itV=1p@&bLnEM>9N)mCRZCtsc=88NV~2=-Jj<&6zct43 zJ=_HR<7#EtN&a|F^B?)ewhQ>htJx>{HIHO0{RcX-T&Cb^_DZ9&PZz}O6FerK9FGRdFDzeN2> zrs&{&8w?f^xQ<_>)-nDPjt0&Pki7jNm;9`JIjtqhujT=y`GZ|p#hHg>P=GnxZA@k} zDRAVFFu6mZ2fy;H!pjL9eOUJBSdooM+$m(=bl7F@G+kfIU|a^*H^1YolZLR)9goPw zQ<%ihRz2yat&PzYLB;`#>7H1q3It zNL%3uCN<~xn03;2CI!0H$u1qd+XjQa0ld4_NxMkKYFuDeB-sN$yX*t+lmEn%eGogC zpEVP|nD?_R(+SHxJ4OyMA+Ymj`Gvt#TK{rH&TeH($-htT6(lhK7n6`5B=h25T;}Vi z$&>8~9L!$b0)op~|0ci6Hk~x&SDVzl5tDBJ)lK^PUOD?rCJo^dw}4;@%ewnl8QX|S zalhH5A|?gWev=n;@KGBKZYOZ*Z*ow_4!OWCjmh5fcbEO=snWYO*@x28fA=y4vsl)t zzsvoNnN)6LQqH8nzTahw4xWF^0uK>5;FvV~7h|(+Oosf6>?@DC?2%Ks3}PaOv4L@O z@>$iGKV*^4$@;^j*DxpWz#sCB4!&!H!R9Q|fj^{k6IQs(acc)MsR_5#P%QlmS2A0z zlzQKCtiZVAvZ_g1yHhg$bTbZV%*1-Dc~h*}^;Q?PR@PfX)T*ktCaLvHy)|2{)+b!f z->6axmpA2t?g>% z)?0_vnpJN#KNV|vz12mno%Plbwd(4vNmzkaKH1oT8)dc{J)E&zjnU57uEsQH98zPE zGnzNUD0fB|HTF4Uh#LHtC@=LSH99zBwi^AMv0RM_&e*O-p)(GtvCJ9GPeb;0|514| zl9#*-R?{Q?qqaL3p66Y>!BIR$2v|g;tW0_n#`M$D&ON2bjY_#@*@X3u4mUo<1s@`~ zBgSdX8J*-tWe8oo>D*IXk(=(&YdCljf zzg%!iG)2<><%*m&$?NFB>v^!|A{tF%$(O1T&AdbP^R_cD(6Wi_il#A)YGT=fK2~mO z6KQt_gXL~evd*Byz9z0jr~i0uJvf%f$xXd!F_Fv~&{US`tl2ik8#=QBE1SwMj0S#d zD(zbF1`xw<4!0sIE6T~wZ$<70qFnAPCVGuMcmwa$E+V*`g+34^+jLr&Q{A-YXOeu_ zsnY69M(4ZHUZ$T105m_RU;{fw#$Pjd=C4c)NBH!R<_&*-Q@VwC(lN zy0oUkk!I4pHKRRFvt+?67IyS$a=#81xj`u>wCSePT!rg%<-^8Q$mT7(xtn%~X&swO zvo=hdQ`e|!6x;5gp4T|}@s zOSZLzbdF(K^OkPfq!^}kYw4!_Ji%^`8@V}LM6ify3tGxXrUhy^(#7VrMONT+Yddjj zBse2QjlRyvQsWk9lGm6xxbw)V`e^hEihqSg*quj;gd2!${8;*ld$!qPdrxdKf zyw=h;j;pNNjh;5?CLXf1b{CodChc;vT<4{?ar3rgH67o^g}j|3Uq*0)+{$NO7ZLQ0 z=ZB|lq+L9Tqhs8(ta!?GkCE{@I?YC7B8glSBg=Gbe|_X3BAW)=x&j~HC@0ysMo!=X ze_QQ4Z6j~y^Hp2v)t*VEZC(2O_N3p{mj9K-Xl$&F2A31sD^|AY;0!k?&CenK3$ZT$ z*W|-!q3_EhI|_zk6lDCi}hO8PVP@&T3!9La;61Zoh@5*bj;cA91anB|Jl;)Tn0D0 zK^bx`6}~y!Rfx>?-i;^nNQl3Yq;EUHeAa7FoGj8=AvY*B%nGcElW%nNcztN|fAgJz zc6+s;@w$A{od$IU14 zpw@90c)sHy@VfSL{{_6LV6_{b4WIDX8;(22WoJ0e@gX?Jar4PMD{|Zg=J$QI^#zB( zThFoVV67XT4L3{BkhYOv7Y}2C+u>o355akko8Qh82ghCDHI9eCyAw1!56<|fgd9&f z|JD7@IKHxkV-!YB9_j#Vo>`3-o&*QbxKU%c#4!>_CMsNR>XEiFv*otv^6FfB-`!Mv+ zt9S6_@r>fUqyOh$ozPnPO2nQogD#}jy7Ohqg`CMR=gU0o_Mr>H&nsu%_6uZ>&YRd# zrvAoeIWCbFk<-y+ND5Y9T1V-dNXj2N%B+!uj`FY${?bui&||j?WlJJ?~)&RqYFO+4M7#?Jl zg28g;Rgvj=hC#gE_;rE_<~)`|QvNW-3qGO>^0b%`=7JFRVy*b#|Gy+4Gh zyaT?PzsV6S$M`f+4orVgoLdNm}WZ}O?o*2m4 zLcKc4vd1jX1)XGDvSD;5Z(%gxB!#+={pL<~esTBseZxEPpRpKQ+DT7}oe*QsInIY? zcd~n-2wuUwY+V=l71FAHaAhacKb32nnHTXYfLmnXV01yXon+zy8~nt?GPuc!1z&Yy z!TDs>r2u`MO{DK$+5~BDU>NMv*>tAB-5qDa9Xp%OeE4dns?H+#O8!+uH_k7kv*~4M zSZ8VW3fZRdqg*mvjQ8Qrc6Bf`xwEHMy<^BT&;qaO?5%ACquu0#p_~}Bz$8Z2z>mtQ z!x+8K@B6}2)mCwPy;yiNdG-1LzxMQb_$7I#+vqo*Qg5`Dc^7d4H3T0+Z8{P6`+ad2 z+2ss2y~qTEzc|6*UMCo=B=IGjS<*%BT4t>MMS3lJsqVVSF6Zfd!XaySBFBcWYya#-|zdM(+bXZTETls%%z|K z;}O=^aGTRu#Bdq)E=5g?E^^ShBf6N@0-kq}^-U&$ZMxWtoC2TT#YASoF^==$xGuJi zMQ~@vdyqJj#54*`(VN67_W>>+BDGV1XLQk}Z5Qx$k%=R@Y#F*mo*0=Ht29Dhg*5CH z@;zlU7CEhq&h28Cq3=Pz?{%jz4t~|CN`XrqXTj^7!hHDMF0!mY8Nq{u==}?R=JbM_ zo!%LK-)l}UxB$JEqc_mi+8RTLsH`UjUfI>|mm;`FSCb4Tb~T+f@W8INlD>!hzN-k) zmpcv~2n<-CUPsIM;DLoYl>BNw|Qi zUYCUL?PgsEe4v|ZZWnlzX|%}5$JiB+m@cna*3E7V@I|K>oa+>W_jR)?0=$K!nrXXf zjP%XqnZ0znf!72&{bJW3;h^Iz_?StI%!k{`6Z-yC1fFrRzTjBX$ThjqkFE+hk;>EVY;FyhB#BIJjNtosx2YBFn+1iPcGFKQM!g++`NQteW6?_4^)Vo+^!l?;~0}PzpT5 zaTYxD5?jrDcs|MdbKV>AYnx=~Wv3Vnd5YWlr%R_>xPqSIE$$L+k!=-sUSeGmET`%K zvYgS~wMfPqcQ>uzaVM|_KC8QHks&T}LcA6Uw{x5VCy+*8?ku<)@uMjSj_Pjr1lWgY zl?!(6ZVL>y>23@BG#4T%GEkJubgxG;HoCj^$hMK-YfflBytrO8Jg>VgWjVasDXoE5 zkXhU0JT_+aqT!8BXbN0O_FfipgqZ^={)H2a_gyC#eBB8K7m-%`q0nG1HKB2EU3Y7f zVE;>9n}m}c=fhntb!`$J%2ZzS$a45<`Eeqz6g2EolRTe=W1==naQvm(DET(qrFLg9 zbQjZgZw8LL)K(ZAc&V*0*yB>$N`ggBrSBQOZAjJ|mGC9B08>oyvUp2U8g= zg1;vD5IR$>sb%B{YIP^MfbD7zYm;Dy9(F5(Eqa(>@VFBUe(MB-JIOheGwa#I7P5x1 z^LuEIY!|qXl-hTm<$FmUa#O%L7AzpKt}d8MV(pV)l@nPGZ|Y%tN$||etW`e8)9cHmb0$l4LI&Q> z3(CmZmsy(x+g#?_Bpi2{$pt$w$7_>t(q-Bv`KL0Z)E>Er4GeD83U;~778YzvTJ4cw z@G{#-f)hc#Z;IeCRMR#It{|&+9dL=$`aDg9#M&vrwaoK6CH%TmnFX(_R}7asnMLq6 z#!CVB>1HhUBo5iM1yZQ(O?mxM{;(Jd#X%6!?Fl^yt=0~9YT8bG^t>>o~}U_ z^C6EJUW0@O674leIMZOTi?aJk1ydl)WyLE9jCx`PH7e# zxLiAByTJLE+fB^S>6gnkhPa44xr}`8y=c%5gsIOLkonj!!nB<#5|%+n<5$lTGuB zbPHyVrAYT=+e|VvCfRNd@G9o3T(DcRtuT02vdIM-lT_a$z)8gFdiq}CYe{6ifvm4P zT`7#c;5Z9j;56pL>z&3T_zg1ab`mUea=}f=)js($y9JVDk@y$n>VAizy-qGz>Ewc| zom_A+Np&v?Ho3wy*1*4!RriuhxhJl$RtfS~p1f-`1x~ucS|vD~iP>CKgXPuf+yjh^ zxWc4@W0>Q$NqE8))+S%!%4b+_4e;J8OfEQ{q}qDGp(NGS1(UCkW#c%nB~D;DV{@;t z9tnO+R(*U_!ZSao72HPF+imnGvg$`}M!)xj#YE=AhfFT?i_=&RNA$AYB-pW+-N~=A zmG5P8L0>PE3;y8bg1gYBeGu%`%hs_7PV6Pya*$p?R*wEWIrTx7Xc=vUjM^f>$C%)? zNcce}=xve(&vcv*&n8@#u?Swo_)R3;Oj7NS487*0zQ*O_q=FAQso3(zS#N8UV4$~al*|3Tb9$T1IQT50y+#QqIL?AQ_I8aD?$O&CB{-H4 zy@$d6Bv;X3Qg2(|6}*)(?-ov}NpBgX$J={bkHnQlS?!VF8$@|M5`M|)1s6JzHSh)} z(zlY!+zE?=H#$y%H#?D8@J`}&HwpfRUj2jxe&zIn+nio-t<(ED?{%cmRtZL>xK;@t zL$+=x!NDn}H6KoMTm*Mdajg;_$yBdZ!b4N6?Ub@ROR>d`gU2$}Yn3p6wQSdy!H%lW)*poX9vhlp=$2N%Or^mBm?&5x6WBHq45nI}1QS#3Mh4GJwHp}>q}mFDKRU(Wr{uj2Jt+iw zJ#saB_*C0Uf)9fFqNl)99B083Qf(pg;m4V(3t0p|lxn>PEKF6!ELf`b$TjQ}$e0d8F8GL(3*JsrZIj?`C$k2Am&Dp8*K$XssZ0->dx&C&Bhsu*g6F2G zNH5~-G~1#v+9A#4f{D!YS|!{wO`1(cdKP2aC)cr)Pcyw>cd}}q1mnr7eG-f!t8OR3 zJVtdb%i(cpa!^yPCZ+bt^?XUei3Jyt^>(~(l2V%_Lu)-rJeP#aolDDX3htgfIgzqM?K2HU6 z(@kd$`~=aun!XCIbwa%D89d8z3LGMhu4Wdzn0W1#;JZlHUJ1VLRD+8=)$Ib0Imw&2 z5Sf1u=T^;JZ$ru0Rs`$V*;l$2$yiIrMR4#+*COHbt~8A`aQv0lBHvB zBH`pKZ8r&yW2W91;J_U{8B={U+y%L<)*KQ85ps)2FFqdq)#Nf!jw!~l>dGF^WmpYj>jLj$ObjE)4bn%~{_~~c8 zT)2vy`nenY*;DA@Pvq1|zc`_Ik2A?@k#Li%Y&ZEH*Zoy?8-s1HGNoYfDpLv`c1po& zvgVUD{VH3lw{WxGl65wdER+{)Lp$f_+JoJdyPO@dF7RU0Mv*j08F=EJkEvX&0c zW1fmEhnJ998zs1v%-VL|XCveEf<;a*__)&xPC=Y*C&4{VXAxXULG6`bd_U`zV01r~ z%xB+z)+j6ez6<)fMhTzO&s1i?9UbSxT?kj1MQ|_1HAN0twM#NIn5-)I1Fj$#=2jYm>Nq{biO84e#%IBxC*h zn^-Wpzw43k^@Msoay!>JAzqJ!$2v}db4a5LnFZfYy!J?Net)|qzz2y|vEao1w!+}G z{cVMJ@ODQE-A{rgWbisAya3I*p9Ft$TJzz3^}69*PHZ{+s}oxTA11l>i=AxI>UF~> zoYoXLYJg09jAiIHz;0uP&KjVaxs(Q&V1|x5!QdWpYMcCs2E!b$O~Oe7tWAQC4X_o> zf~PsohbIlNB`t#IFjbed9DaO&H6C#8025rr$}v+PPl7LyTYruNRw7q7J>Y7m7+mZr z_C}v@q8YuLypMApHBP4QV|ManEoAJRt6iUDtd-*|xXIP7Pr?^o?fN8q?$y>O!NjZO zASwLa8*kU)DRIR0w8HNc@)n^Z8FOxh#C^RBiF0&Gc6-A{s33DA|Sfp59m z_LHA*J9x_4MuN-h1;b0otep~k+tcXbn`EADqg$L>0{E-4-gQ|6?kjLtBTEs+OqR2f8l#h2QrS zGgM<7`~;!i2X8p!I166jH0HxEkv2rSZTPk8FtpZb1(!Ijdw45zTEVFUZ9fU_8)%IZ z+)ibECBSnBxn2pk9%Q`|j2h&6CERI{>GXZcwN8lFE8)(LQ{W`hc)b!%BVKzYc*`KW zHNb0#R@GpyL2_^&Cvw3cTizNjMCJ=a)0pdZNya7&vMvd}=~U*!E9(`*FF2Xy@Hgz5a5dTW0VNn1Z1*zwqZ15%>I8#tAz0r&!DVFDUb&AZ!!)l~ z!V!aI&@<@2cCc%djAb~^hf@Z-MhRy#&uf(Mb%U)@g5w68=C4>bW@@7Zr;vC7i5Cvm zd!t?85vLW`?SpM`!RrUx;)4CisHYAtcLII;*~61kH)|8N?M z;Gap}&88lAav2Q_u?^+d>==evvjn>jvAY?JA7Xbi7&XKe82r_V2KSM7A*VC|uh%IV z>p@oiMpo^V;C?5v9Nsy^Iwg4CQ0tW6@hzI6rWb5B)V7u2 zMMG^{30^SN?wx$N%TVi_C)jJ0aE{|Fc)~DS#eDc~a_e>yTttX=9q=(H7|a`H z%lo6>cLVcudBFk0tXG07hiR{D7brroz77oiOrZCW68_F92CJRS8u(9>={v|}?xe-R zCmg515!aZ^EV$)0GV6a7>2ZzS#|)iwjmZU@U1RGD{_f=d#AS#I-B5xVO!rzP-18cl z_yVb(B)y8vXY2vTMevksto@Y3!aRM=Yv4K8SkF1c=8V!_XNMO#l__uuskKjnJDI6_ z9&iJiU!>qmPB24HIl;pUmHNy1$-U6X__ z%(Ny6cFQ!uM`#ty)Fuh`&9vPln44)g1~`%wDi=)4v?T^RW!e&ht;wsc63i!77t?o? ztvrdfRf2Chbt&*F$64@Fr!*ga-zhDE-zK@XO0d$226rO*6_%rh40;R>xBIw`jf|5E zRy(=iJ5DaRl8m~e1Y?Gq#u~WsaO;ylb4Lufz5@>NkUj~g54S!E-o!-hli&@*t?z*2 zhnrR~mw8^Rgr|~OTjei&hGkgq4e)U%8Jt35Z9QN%iFJj+3=+S}xs^JR<%}&JE(dk& zS5iJm*spw%#)$>@kWxQ;gC|M3jKJSLNnE~+@x4KB?+XS;n7nd0dW7vK!JZ@RF8+;O z3=ygnY(Byk7yQF11;0U-HWqNu2wTP?IC+F^DZx1;b`dj3ta^W^m5^Asl;AVW^Li!x z6!Y|E$$}R+&WDSf(js^nB8IwhRsI1BDM(pEDc?l;mpB{-1~ z?UdlPBv-{?`bb;j&|yZo zJ_$D&Wm`({hEc9n!owUF!F@-$RtewCRIgRS*`uuUoMd}8%2qZGp2$?abyDDIWM4(` z#Z1%Nf}tmzVDN5c=>mf{jp9G%*y&vYl4?E6+r(SD|nGZkfG#0^6Uu(SwTzIX?1s5Y%f9B1< zqUK*gc%Q$)UC7m44_JX*Z9QO#Qw)kz3_d_!?UvvHr?dwCl*H>%-)Xe9N`AR5&O=@| zIC`|TO7N1=x{z%n!HY&)0|L8`mTfvenMq!sWNg4_X;#MAB*yf%hz$6y8*NI#zNA#8 zU{_M=+Jdp9)cqtlgHc_`a`^Vqwx0ywA*;5YV8FM|i3OLDSX(9dA&K=dCHNky^ajs| zw>z=mE+?`a-cM%z^bIz-&hF$!0pHI~GFamzgYP@Z;3~vz8-g5!L660y3FMezNMv!@J#ORhWW{f!DK zT9XnHtYKsx`ODMVpOQG{sN8#QdYkhS{uS_b9&_~MV1Ae5uV3Z~4EXDxv!>%8JLc%q zZLe$-%z<;pn3@^hxN@r|`inTFEcU1|va_6Dz*<6b{m-wBY6+U>j9^rgfd03So)w%^ z@ff{JV}cos{p)&LlwA1NG5X5I1PkGe>n)}PE_E@L@Z#$&rdH!!OjOf=?}o9KClMYv z)?zZ?#bYf`F5Kh>iz$SEb1@|ve}lzT!f&{kTKK;=Se~dT;$2K4oRwvHGT=d37LyDA zH_P%A!cDU+rUd@o#Z+p1w#C%Kt6WUfsk~U(mM0PZ-Nj_U+2brvE*beT1-^4fN!;nNreA*qvgqfkGYs!cwCO2&CaQVB zcihD!!b5Mim<)KWi^+vwyxH;;YP^dnfpc!LJeBaUTP&tl<8QG%Q7r<#({8nxMEFmO ziOhh9Np=;tQ!cp9g%rXs-Rh-@EYWZ;B(f5`NeYOLtOc);V#TPI1WSctBG_C~KL#_v z6BdvQUL)~3S_rPUfD-U!$=1ieE7o94YaNg%|r;Mx7b( zy=ei7;Hwsp0R|*{Hvzfe1c_HH1V>3K7%b7)JlVaCHW$j1V;uc!H0n(0@*#gJ=!HD# z`5_%Rc8WF0;E>i_=Toec#?eV9VK<&4iwN@nDyg57vy`E4rsz9(Ot1=$x=ZuN1nc0V zQ;ehA1bn+4C&3ktGvSvU=fO`p4#86#m%`UOu7cAY*TEM$j*j6~cbo+Oey7#Vglin< z!S6T@!OI+%!cRM{f~PsIgKu;k-IhIo<0QDN<4m}<<2?AJx3)3C5d4kfQuqVMRdA`} zI`~<~(Xni294EoII?jZLIL?DFbsU1*IWC1G9aq7%cewS3KXM#>7X86EG6^mg?<&d! z|0M;x`Q0t(SG$NpV1`{prC_ODL{;Eo?;?t<^J260(u(GX5jV(Q#UyZ`__-n?Gr`4D zp`&?V6Dj_j3ea!nFZDtTG_(qQ!@G_m>%jj?wvI-ht+8G}5|}0aYE26cl6b{D@V~NG zV?$t5si>v`^t<`1ywG9|tpis{wqkS~Z%k64m<0YVUO*<8E%9G4ngsKrV zqh#+FRDh0|zs?J-P=9nh?_W}&m<0Y$iWM`#W8wwmf#W1~52GP)h-534da?0}Rp6=O z|B?#OALfs4uc3R@p9HRvV#Q4G1*uTX1OKpq5O||xf5~VmI8+K0tGw7$#X7K=#Me;a z9NvA*p9BsSe+~XjaII8mXdd{Y>{SeTv0gwam?H%mTLli2V#PWyHd`?|fp;lM-Ae`N zPxEJj!z6w${ycD%Z_wA73B0;<59q*zDmz-y#JG5TDMEl^AXn~Q%RmS&!8>jgxgr*BXNI+_Fy7yo`R6I?14US6=JRQ$kb2=vKb#Zrr{ z1*^af7ElMiVgb?TYiza#B!Ra`fnp{&LW&jhz*j6F1fDK?b+i=pi~mQk%8QLxtOGY% zK=cLr2IU1Lfqp5_fK2dKDOSt_M@ofa$cyy?O2KIHA7r!&3`o3Uofn&`7~N6dpuB)2 z@Kp=Q1Orm60eRpAsZb1oqhzmQsTb=7RDowm{7;P5fu~5SV)TU?o2{4xmRmq3xXc3b zz*D3`147`xWv^l>c&+#kfmL3t7f=Vbl2jdyP7L@WBwH~FyjBVnGrFLay-Kj=6FPjFlc4|QAx_i$VXpY1sMqJS^xI0^po3HMeC zS2@mu*E>w~!ovi|N$|OjGvO%5dGOIfs~duMJ1&JQ99O|F zIj)1BbR6B4t%Ktv__(I1axTWJ#`1i-HZWUbPxDI~DadbB>HRH%6_-VVG zGr>RYa?S&Pu**3Frr6b53ch4lYZb^vq1R=d7n`jZeX%w&?`ll~Q|)Ta1n1f1oClt; zfDl+~0i|B7cePf5FWc2x2Z~*-(McNX1tfu)cC}`LX?C^dfg;}J90E^TKq>g61yp&l z#om<-E|qM>=t}~=`BI>m1pX)*5X=OJ&#@0Hd2pXO_JJm((Q~{HG?Aq+z3g|wtH6UU zq)x-L4f zB>GaqLl%+*msm(9xFBR%^5CCbNC+M&#ix*^6uk0j3#roZr!7kz9FVR-LZW-{moHsN z5`5)63(16EwU9jU*?E>Fq~R{46dolNjmc64_7w}M({QmY(U)m=8`_kRB=E2c$%OmP zw~#z|nT3SFh4U>-sfN3dD)?I2dn#G#z^k6Ikm#O-KVw;v;0T%AoRCcLhzrSsuUcRs zA^0^5DFvTf;AM%d(r_8d%*ZVi10>3oO1h*LGfvHBM_RN%@C;mI43~iYWhkRTUD56f2J}G2n|< zO4l&7P?r8dsTwP_8Sgt*YCrgfm5R7hZ}%NqH39t1N~MEGtW*xzM=DwqFazWQR$Ky} zCH^*?RTXR5;X`xAD z`|Dd`SH)!Tf0lm?IM;9*INeH>u$H-tp5EH00}oBSO8ap>Z?_5JC18qFC{}`VEPpL{zhP8{?u_Hxv3|*{#i-|H^eL2DVx{u%K5nH#;5}BV z6nw)_}vP*=rdFj0mojsfqpQqw^0Q5{_fj+7N(u#&Y*FOmb1l$vd& zA_fP1cUh?fkY}MK}hR55y_ewv)D zm;{cOIf|L!YRjJoa+7MQ5IDz5ZDuX+|F7(8Myah<>NwsNRw{Os_9(AZGWfZb8UyaL zQq#a{E42{pBrCLP8OTklSPeFkf=--O6f3~LzU$bWQYli9h&TP(fbTphR?Gp*oN-boyYL>{lmXu1A78em%h4*yn zs#pj5WvF8G7`+%LD<*;IGDk5J>?JD{^S~!9e+ZmrSPI@MExNFP`&r8o|C2y8r50PM z*z5V!Y^9RHyR6h0@O3LS4P0lX7J{W#stk;j>~2)829H>&h%F>-fyk<%Si>y=zc-Zpig50DUPzb(n zrOH^#H805SGbt4zU6b(E;r+o%MQ3Y|@=7IvXUH54$OL0$g<>AqN_HrQz?UU*a!i`hKvnq$)<_ct7}2 zOaQNu0>yNYn^Z9e>?9RnFvM!byd*2zQfjE!jGn3%+Oh3qfvD9W4R>Yo)4L%h@lf-m!}a!L)8p_kzub92CVnM_uk2A(H# z6c>Uw$_m9YaDwbmtOj%Bu;Ov>4a*;Ui*5tFQpwza-o<3j*x7{TyTgKC>DbJ)JL%dzbpO4r^@s{^@76{B zBQ4Uw*xU8z1YH%ALH0R{V?b_F#c5z~nF9t(Sj)s$W$Oi$y4y>n>4Dc;0 zl?$GDIwJt7Nd&N{s>8=ctxxAUCPvLhwvk0R}5s%ZS(HKxaw~ zk<_d4M%>NMrzKl40X$a<6w|?MDOSt@Z;=Yc8Q?hCtGEPYpQHIVgWRNw`@tuyR5U9v z^)>0%g;HCrRK`8}OfOrf=Yr2#sY37*D^&vSu~L=br&g*KWS^74w5X}N4e&4#JVka4 z;;hE7E{9%|sa+|REIS4g7{Ysw99Ap^TSyB6BdfrH(p9kz%#@*u(f8^Ps3$8Xf$Vd% zR3^wxs+b4fW2Kg`mgASprf!s4X{D<1K4YbhgO6CL*lBt(dZm)VtyXFbxY>&gu+^0XREl^Ac|Flv$;AK*wqcgx1*{iq&>?!`C z;AW70j+WXF-fb9hzuwr{1O$^%&WTkTPK4hf|!8@c_la_$5S*c2Jm6fUm zms_c*>AKHZaSgGF;6W>u0e)_!rm;ltu8;-YDHSb;hY?tc_YW&o1%7X(>cDelsAh`J z*R8{3#U!wU%u&n)@3K;PAUCOwhQOh67z}P^Eqkq$eV0;drj{tS?tRIBEKuUn~wtX9$MvhH$9@uMhB zT7~x`D^&+pSgGiT^kVeRDhZ5`IirZp1W#D0JaDk=(9sacO{!Q5ULY;5<*fFzmaR%9 za0R8tNelJHKCDl?yDBDwm&#DZG2k6CS#cUT)k-Y{^JImNmVs|u{%Vk$R7a14&s(WP z7Nf9K2K1uTr&cQG5&fxmR}Gv2zG|hGfZtoG&EO#`wI4j-l?p~Y%0A}}+07q%4<^9p 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 delta 707444 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 AQqPa_>J{Cr`cbcg{C` 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%0DE{Q5AZv2B=>O_hjI_U3kPx+zZ?5<2fqh< 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

h=uTbf;6tNp#LYsO}y85G=b^I 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ϝ|&l_Bni4`JGoGp&;H@0|MJS^@O-xR<5 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 delta 385645 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%0DM$A)rzn-i= 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≦n!0f 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 Iu~m!yFXsAY8vp /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/bebop_driver/local_setup.sh b/workspace/devel/.private/bebop_driver/local_setup.sh new file mode 100644 index 0000000..15cf7b2 --- /dev/null +++ b/workspace/devel/.private/bebop_driver/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_driver} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/bebop_driver/local_setup.zsh b/workspace/devel/.private/bebop_driver/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/bebop_driver/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/bebop_driver/setup.sh b/workspace/devel/.private/bebop_driver/setup.sh index b62ac76..d760c84 100644 --- a/workspace/devel/.private/bebop_driver/setup.sh +++ b/workspace/devel/.private/bebop_driver/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/bebop_driver/share/bebop_driver/cmake/bebop_driverConfig.cmake b/workspace/devel/.private/bebop_driver/share/bebop_driver/cmake/bebop_driverConfig.cmake index 8c9ff78..b37de12 100644 --- a/workspace/devel/.private/bebop_driver/share/bebop_driver/cmake/bebop_driverConfig.cmake +++ b/workspace/devel/.private/bebop_driver/share/bebop_driver/cmake/bebop_driverConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_driver_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_driver_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_driver_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/bebop_msgs/_setup_util.py b/workspace/devel/.private/bebop_msgs/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/bebop_msgs/_setup_util.py +++ b/workspace/devel/.private/bebop_msgs/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/bebop_msgs/cmake.lock b/workspace/devel/.private/bebop_msgs/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AccessoryStateConnectedAccessories.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AccessoryStateConnectedAccessories.h index 439d4d7..e99b2b1 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AccessoryStateConnectedAccessories.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AccessoryStateConnectedAccessories.h @@ -167,45 +167,43 @@ struct Definition< ::bebop_msgs::Ardrone3AccessoryStateConnectedAccessories_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStateelectricFrequencyChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStateelectricFrequencyChanged.h index 578f749..613f1d0 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStateelectricFrequencyChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStateelectricFrequencyChanged.h @@ -152,39 +152,37 @@ struct Definition< ::bebop_msgs::Ardrone3AntiflickeringStateelectricFrequencyCha { static const char* value() { - return "# Ardrone3AntiflickeringStateelectricFrequencyChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Electric frequency.\\n This piece of information is used for the antiflickering when the [AntiflickeringMode](#1-30-1) is set to *auto*.\n\ -\n\ -Header header\n\ -\n\ -# Type of the electric frequency\n\ -uint8 frequency_fiftyHertz=0 # Electric frequency of the country is 50hz\n\ -uint8 frequency_sixtyHertz=1 # Electric frequency of the country is 60hz\n\ -uint8 frequency\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3AntiflickeringStateelectricFrequencyChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Electric frequency.\\n This piece of information is used for the antiflickering when the [AntiflickeringMode](#1-30-1) is set to *auto*.\n" +"\n" +"Header header\n" +"\n" +"# Type of the electric frequency\n" +"uint8 frequency_fiftyHertz=0 # Electric frequency of the country is 50hz\n" +"uint8 frequency_sixtyHertz=1 # Electric frequency of the country is 60hz\n" +"uint8 frequency\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3AntiflickeringStateelectricFrequencyChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStatemodeChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStatemodeChanged.h index 6eb7849..dddd984 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStatemodeChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3AntiflickeringStatemodeChanged.h @@ -155,40 +155,38 @@ struct Definition< ::bebop_msgs::Ardrone3AntiflickeringStatemodeChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientation.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientation.h index 3aa392e..cc23c3b 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientation.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientation.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::Ardrone3CameraStateOrientation_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientationV2.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientationV2.h index 2461aed..689f1bc 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientationV2.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateOrientationV2.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::Ardrone3CameraStateOrientationV2_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateVelocityRange.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateVelocityRange.h index ef413ef..93c5861 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateVelocityRange.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStateVelocityRange.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::Ardrone3CameraStateVelocityRange_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientation.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientation.h index 6cc35ee..2c2e693 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientation.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientation.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::Ardrone3CameraStatedefaultCameraOrientation_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientationV2.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientationV2.h index 7947a36..1339988 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientationV2.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3CameraStatedefaultCameraOrientationV2.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::Ardrone3CameraStatedefaultCameraOrientationV2_< { static const char* value() { - return "# Ardrone3CameraStatedefaultCameraOrientationV2\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.\n\ -\n\ -Header header\n\ -\n\ -# Tilt value [deg]\n\ -float32 tilt\n\ -# Pan value [deg]\n\ -float32 pan\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3CameraStatedefaultCameraOrientationV2\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.\n" +"\n" +"Header header\n" +"\n" +"# Tilt value [deg]\n" +"float32 tilt\n" +"# Pan value [deg]\n" +"float32 pan\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3CameraStatedefaultCameraOrientationV2_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeAvailabilityChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeAvailabilityChanged.h index 9c64c74..b3ebd34 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeAvailabilityChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeAvailabilityChanged.h @@ -163,43 +163,41 @@ struct Definition< ::bebop_msgs::Ardrone3GPSStateHomeTypeAvailabilityChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeChosenChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeChosenChanged.h index a1f13c2..8593f90 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeChosenChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateHomeTypeChosenChanged.h @@ -158,41 +158,39 @@ struct Definition< ::bebop_msgs::Ardrone3GPSStateHomeTypeChosenChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateNumberOfSatelliteChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateNumberOfSatelliteChanged.h index 9c4e3ea..dd90c0b 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateNumberOfSatelliteChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3GPSStateNumberOfSatelliteChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::Ardrone3GPSStateNumberOfSatelliteChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChanged.h index 77a247a..78e4b70 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChanged.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::Ardrone3MediaRecordStatePictureStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChangedV2.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChangedV2.h index 0d3032a..fb52b91 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChangedV2.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStatePictureStateChangedV2.h @@ -175,47 +175,45 @@ struct Definition< ::bebop_msgs::Ardrone3MediaRecordStatePictureStateChangedV2_< { static const char* value() { - return "# Ardrone3MediaRecordStatePictureStateChangedV2\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Picture state.\n\ -\n\ -Header header\n\ -\n\ -# State of device picture recording\n\ -uint8 state_ready=0 # The picture recording is ready\n\ -uint8 state_busy=1 # The picture recording is busy\n\ -uint8 state_notAvailable=2 # The picture recording is not available\n\ -uint8 state\n\ -# Error to explain the state\n\ -uint8 error_ok=0 # No Error\n\ -uint8 error_unknown=1 # Unknown generic error\n\ -uint8 error_camera_ko=2 # Picture camera is out of order\n\ -uint8 error_memoryFull=3 # Memory full ; cannot save one additional picture\n\ -uint8 error_lowBattery=4 # Battery is too low to start/keep recording.\n\ -uint8 error\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3MediaRecordStatePictureStateChangedV2\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Picture state.\n" +"\n" +"Header header\n" +"\n" +"# State of device picture recording\n" +"uint8 state_ready=0 # The picture recording is ready\n" +"uint8 state_busy=1 # The picture recording is busy\n" +"uint8 state_notAvailable=2 # The picture recording is not available\n" +"uint8 state\n" +"# Error to explain the state\n" +"uint8 error_ok=0 # No Error\n" +"uint8 error_unknown=1 # Unknown generic error\n" +"uint8 error_camera_ko=2 # Picture camera is out of order\n" +"uint8 error_memoryFull=3 # Memory full ; cannot save one additional picture\n" +"uint8 error_lowBattery=4 # Battery is too low to start/keep recording.\n" +"uint8 error\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3MediaRecordStatePictureStateChangedV2_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoResolutionState.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoResolutionState.h index 1885cf7..0c20497 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoResolutionState.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoResolutionState.h @@ -175,47 +175,45 @@ struct Definition< ::bebop_msgs::Ardrone3MediaRecordStateVideoResolutionState_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChanged.h index d14a8ad..ba988a1 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChanged.h @@ -163,43 +163,41 @@ struct Definition< ::bebop_msgs::Ardrone3MediaRecordStateVideoStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChangedV2.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChangedV2.h index 932878c..eb9034d 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChangedV2.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaRecordStateVideoStateChangedV2.h @@ -175,47 +175,45 @@ struct Definition< ::bebop_msgs::Ardrone3MediaRecordStateVideoStateChangedV2_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoEnableChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoEnableChanged.h index e143715..54beead 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoEnableChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoEnableChanged.h @@ -155,40 +155,38 @@ struct Definition< ::bebop_msgs::Ardrone3MediaStreamingStateVideoEnableChanged_< { static const char* value() { - return "# Ardrone3MediaStreamingStateVideoEnableChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Video stream state.\n\ -\n\ -Header header\n\ -\n\ -# Current video streaming status.\n\ -uint8 enabled_enabled=0 # Video streaming is enabled.\n\ -uint8 enabled_disabled=1 # Video streaming is disabled.\n\ -uint8 enabled_error=2 # Video streaming failed to start.\n\ -uint8 enabled\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3MediaStreamingStateVideoEnableChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Video stream state.\n" +"\n" +"Header header\n" +"\n" +"# Current video streaming status.\n" +"uint8 enabled_enabled=0 # Video streaming is enabled.\n" +"uint8 enabled_disabled=1 # Video streaming is disabled.\n" +"uint8 enabled_error=2 # Video streaming failed to start.\n" +"uint8 enabled\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3MediaStreamingStateVideoEnableChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoStreamModeChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoStreamModeChanged.h index 6f1bc6f..64a8b41 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoStreamModeChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3MediaStreamingStateVideoStreamModeChanged.h @@ -155,40 +155,38 @@ struct Definition< ::bebop_msgs::Ardrone3MediaStreamingStateVideoStreamModeChang { static const char* value() { - return "# Ardrone3MediaStreamingStateVideoStreamModeChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: \n\ -\n\ -Header header\n\ -\n\ -# stream mode\n\ -uint8 mode_low_latency=0 # Minimize latency with average reliability (best for piloting).\n\ -uint8 mode_high_reliability=1 # Maximize the reliability with an average latency (best when streaming quality is important but not the latency).\n\ -uint8 mode_high_reliability_low_framerate=2 # Maximize the reliability using a framerate decimation with an average latency (best when streaming quality is important but not the latency).\n\ -uint8 mode\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3MediaStreamingStateVideoStreamModeChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: \n" +"\n" +"Header header\n" +"\n" +"# stream mode\n" +"uint8 mode_low_latency=0 # Minimize latency with average reliability (best for piloting).\n" +"uint8 mode_high_reliability=1 # Maximize the reliability with an average latency (best when streaming quality is important but not the latency).\n" +"uint8 mode_high_reliability_low_framerate=2 # Maximize the reliability using a framerate decimation with an average latency (best when streaming quality is important but not the latency).\n" +"uint8 mode\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3MediaStreamingStateVideoStreamModeChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiAuthChannelChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiAuthChannelChanged.h index e3bf517..96f4d42 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiAuthChannelChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiAuthChannelChanged.h @@ -139,35 +139,33 @@ struct Definition< ::bebop_msgs::Ardrone3NetworkStateAllWifiAuthChannelChanged_< { static const char* value() { - return "# Ardrone3NetworkStateAllWifiAuthChannelChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Available wifi channels completed.\\n When receiving this event, the list of [AvailableWifiChannels](#1-14-2) is complete.\n\ -\n\ -Header header\n\ -\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3NetworkStateAllWifiAuthChannelChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Available wifi channels completed.\\n When receiving this event, the list of [AvailableWifiChannels](#1-14-2) is complete.\n" +"\n" +"Header header\n" +"\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3NetworkStateAllWifiAuthChannelChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiScanChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiScanChanged.h index ab6d9ba..ad4d8fc 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiScanChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateAllWifiScanChanged.h @@ -139,35 +139,33 @@ struct Definition< ::bebop_msgs::Ardrone3NetworkStateAllWifiScanChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiAuthChannelListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiAuthChannelListChanged.h index d01be36..827fbad 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiAuthChannelListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiAuthChannelListChanged.h @@ -162,43 +162,41 @@ struct Definition< ::bebop_msgs::Ardrone3NetworkStateWifiAuthChannelListChanged_ { static const char* value() { - return "# Ardrone3NetworkStateWifiAuthChannelListChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Available wifi channels.\\n Please note that the list is not complete until you receive the event [AvailableWifiChannelsCompleted](#1-14-3).\n\ -\n\ -Header header\n\ -\n\ -# The band of this channel : 2.4 GHz or 5 GHz\n\ -uint8 band_2_4ghz=0 # 2.4 GHz band\n\ -uint8 band_5ghz=1 # 5 GHz band\n\ -uint8 band\n\ -# The authorized channel.\n\ -uint8 channel\n\ -# Bit 0 is 1 if channel is authorized outside (0 otherwise) ; Bit 1 is 1 if channel is authorized inside (0 otherwise)\n\ -uint8 in_or_out\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3NetworkStateWifiAuthChannelListChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Available wifi channels.\\n Please note that the list is not complete until you receive the event [AvailableWifiChannelsCompleted](#1-14-3).\n" +"\n" +"Header header\n" +"\n" +"# The band of this channel : 2.4 GHz or 5 GHz\n" +"uint8 band_2_4ghz=0 # 2.4 GHz band\n" +"uint8 band_5ghz=1 # 5 GHz band\n" +"uint8 band\n" +"# The authorized channel.\n" +"uint8 channel\n" +"# Bit 0 is 1 if channel is authorized outside (0 otherwise) ; Bit 1 is 1 if channel is authorized inside (0 otherwise)\n" +"uint8 in_or_out\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3NetworkStateWifiAuthChannelListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiScanListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiScanListChanged.h index 7cd02bb..76eacff 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiScanListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3NetworkStateWifiScanListChanged.h @@ -167,45 +167,43 @@ struct Definition< ::bebop_msgs::Ardrone3NetworkStateWifiScanListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PROStateFeatures.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PROStateFeatures.h index 1384172..69647b7 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PROStateFeatures.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PROStateFeatures.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::Ardrone3PROStateFeatures_ > { static const char* value() { - return "# Ardrone3PROStateFeatures\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Pro features.\n\ -\n\ -Header header\n\ -\n\ -# Bitfield representing enabled features.\n\ -uint64 features\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3PROStateFeatures\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Pro features.\n" +"\n" +"Header header\n" +"\n" +"# Bitfield representing enabled features.\n" +"uint64 features\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3PROStateFeatures_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAirSpeedChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAirSpeedChanged.h index edb8377..fbc05aa 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAirSpeedChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAirSpeedChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateAirSpeedChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAlertStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAlertStateChanged.h index e9de509..c496765 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAlertStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAlertStateChanged.h @@ -164,43 +164,41 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateAlertStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAltitudeChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAltitudeChanged.h index 6f3ab6f..b4a778d 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAltitudeChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAltitudeChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateAltitudeChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAttitudeChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAttitudeChanged.h index 915f024..42ae758 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAttitudeChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAttitudeChanged.h @@ -154,41 +154,39 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateAttitudeChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAutoTakeOffModeChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAutoTakeOffModeChanged.h index e6eb1ae..ae6e243 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAutoTakeOffModeChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateAutoTakeOffModeChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateAutoTakeOffModeChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlatTrimChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlatTrimChanged.h index e7f89c5..50cceea 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlatTrimChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlatTrimChanged.h @@ -139,35 +139,33 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateFlatTrimChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlyingStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlyingStateChanged.h index ed23d46..4203cfc 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlyingStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateFlyingStateChanged.h @@ -173,46 +173,44 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateFlyingStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateGpsLocationChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateGpsLocationChanged.h index fa72383..3d812b5 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateGpsLocationChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateGpsLocationChanged.h @@ -169,47 +169,45 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateGpsLocationChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateLandingStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateLandingStateChanged.h index 90f74f8..a962a67 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateLandingStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateLandingStateChanged.h @@ -152,39 +152,37 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateLandingStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateNavigateHomeStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateNavigateHomeStateChanged.h index 7c96a6a..e438266 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateNavigateHomeStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateNavigateHomeStateChanged.h @@ -184,50 +184,48 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateNavigateHomeStateChanged_< { static const char* value() { - return "# Ardrone3PilotingStateNavigateHomeStateChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Return home state.\\n Availability is related to gps fix, magnetometer calibration.\n\ -\n\ -Header header\n\ -\n\ -# State of navigate home\n\ -uint8 state_available=0 # Navigate home is available\n\ -uint8 state_inProgress=1 # Navigate home is in progress\n\ -uint8 state_unavailable=2 # Navigate home is not available\n\ -uint8 state_pending=3 # Navigate home has been received, but its process is pending\n\ -uint8 state\n\ -# Reason of the state\n\ -uint8 reason_userRequest=0 # User requested a navigate home (available->inProgress)\n\ -uint8 reason_connectionLost=1 # Connection between controller and product lost (available->inProgress)\n\ -uint8 reason_lowBattery=2 # Low battery occurred (available->inProgress)\n\ -uint8 reason_finished=3 # Navigate home is finished (inProgress->available)\n\ -uint8 reason_stopped=4 # Navigate home has been stopped (inProgress->available)\n\ -uint8 reason_disabled=5 # Navigate home disabled by product (inProgress->unavailable or available->unavailable)\n\ -uint8 reason_enabled=6 # Navigate home enabled by product (unavailable->available)\n\ -uint8 reason\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# Ardrone3PilotingStateNavigateHomeStateChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Return home state.\\n Availability is related to gps fix, magnetometer calibration.\n" +"\n" +"Header header\n" +"\n" +"# State of navigate home\n" +"uint8 state_available=0 # Navigate home is available\n" +"uint8 state_inProgress=1 # Navigate home is in progress\n" +"uint8 state_unavailable=2 # Navigate home is not available\n" +"uint8 state_pending=3 # Navigate home has been received, but its process is pending\n" +"uint8 state\n" +"# Reason of the state\n" +"uint8 reason_userRequest=0 # User requested a navigate home (available->inProgress)\n" +"uint8 reason_connectionLost=1 # Connection between controller and product lost (available->inProgress)\n" +"uint8 reason_lowBattery=2 # Low battery occurred (available->inProgress)\n" +"uint8 reason_finished=3 # Navigate home is finished (inProgress->available)\n" +"uint8 reason_stopped=4 # Navigate home has been stopped (inProgress->available)\n" +"uint8 reason_disabled=5 # Navigate home disabled by product (inProgress->unavailable or available->unavailable)\n" +"uint8 reason_enabled=6 # Navigate home enabled by product (unavailable->available)\n" +"uint8 reason\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::Ardrone3PilotingStateNavigateHomeStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatePositionChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatePositionChanged.h index be184ea..c40c291 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatePositionChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatePositionChanged.h @@ -154,41 +154,39 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStatePositionChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateSpeedChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateSpeedChanged.h index 89850b2..05bcb9f 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateSpeedChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStateSpeedChanged.h @@ -154,41 +154,39 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStateSpeedChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatemoveToChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatemoveToChanged.h index b4d2668..f6a64cf 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatemoveToChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/Ardrone3PilotingStatemoveToChanged.h @@ -195,55 +195,53 @@ struct Definition< ::bebop_msgs::Ardrone3PilotingStatemoveToChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateControllerLibARCommandsVersion.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateControllerLibARCommandsVersion.h index ddb6024..ed3a538 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateControllerLibARCommandsVersion.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateControllerLibARCommandsVersion.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonARLibsVersionsStateControllerLibARCommand { static const char* value() { - return "# CommonARLibsVersionsStateControllerLibARCommandsVersion\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: \n\ -\n\ -Header header\n\ -\n\ -# version of libARCommands (1.2.3.4 format)\n\ -string version\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonARLibsVersionsStateControllerLibARCommandsVersion\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: \n" +"\n" +"Header header\n" +"\n" +"# version of libARCommands (1.2.3.4 format)\n" +"string version\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonARLibsVersionsStateControllerLibARCommandsVersion_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateDeviceLibARCommandsVersion.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateDeviceLibARCommandsVersion.h index 607a7bf..f72de70 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateDeviceLibARCommandsVersion.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateDeviceLibARCommandsVersion.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonARLibsVersionsStateDeviceLibARCommandsVer { static const char* value() { - return "# CommonARLibsVersionsStateDeviceLibARCommandsVersion\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: \n\ -\n\ -Header header\n\ -\n\ -# version of libARCommands (1.2.3.4 format)\n\ -string version\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonARLibsVersionsStateDeviceLibARCommandsVersion\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: \n" +"\n" +"Header header\n" +"\n" +"# version of libARCommands (1.2.3.4 format)\n" +"string version\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonARLibsVersionsStateDeviceLibARCommandsVersion_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.h index dc032e4..03db7bc 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonARLibsVersionsStateSkyControllerLibARComm { static const char* value() { - return "# CommonARLibsVersionsStateSkyControllerLibARCommandsVersion\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: \n\ -\n\ -Header header\n\ -\n\ -# version of libARCommands (1.2.3.4 format)\n\ -string version\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonARLibsVersionsStateSkyControllerLibARCommandsVersion\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: \n" +"\n" +"Header header\n" +"\n" +"# version of libARCommands (1.2.3.4 format)\n" +"string version\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonARLibsVersionsStateSkyControllerLibARCommandsVersion_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigChanged.h index ce2877a..708d258 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigChanged.h @@ -181,49 +181,47 @@ struct Definition< ::bebop_msgs::CommonAccessoryStateAccessoryConfigChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigModificationEnabled.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigModificationEnabled.h index 80c2f78..36b8b01 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigModificationEnabled.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateAccessoryConfigModificationEnabled.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonAccessoryStateAccessoryConfigModification { static const char* value() { - return "# CommonAccessoryStateAccessoryConfigModificationEnabled\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Availability to declare or not an accessory.\n\ -\n\ -Header header\n\ -\n\ -# 1 if the modification of the accessory Config is enabled, 0 otherwise\n\ -uint8 enabled\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonAccessoryStateAccessoryConfigModificationEnabled\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Availability to declare or not an accessory.\n" +"\n" +"Header header\n" +"\n" +"# 1 if the modification of the accessory Config is enabled, 0 otherwise\n" +"uint8 enabled\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonAccessoryStateAccessoryConfigModificationEnabled_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateSupportedAccessoriesListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateSupportedAccessoriesListChanged.h index cb353ae..0b606c2 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateSupportedAccessoriesListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAccessoryStateSupportedAccessoriesListChanged.h @@ -161,42 +161,40 @@ struct Definition< ::bebop_msgs::CommonAccessoryStateSupportedAccessoriesListCha { static const char* value() { - return "# CommonAccessoryStateSupportedAccessoriesListChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Supported accessories list.\n\ -\n\ -Header header\n\ -\n\ -# Accessory configurations supported by the product.\n\ -uint8 accessory_NO_ACCESSORY=0 # No accessory.\n\ -uint8 accessory_STD_WHEELS=1 # Standard wheels\n\ -uint8 accessory_TRUCK_WHEELS=2 # Truck wheels\n\ -uint8 accessory_HULL=3 # Hull\n\ -uint8 accessory_HYDROFOIL=4 # Hydrofoil\n\ -uint8 accessory\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonAccessoryStateSupportedAccessoriesListChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Supported accessories list.\n" +"\n" +"Header header\n" +"\n" +"# Accessory configurations supported by the product.\n" +"uint8 accessory_NO_ACCESSORY=0 # No accessory.\n" +"uint8 accessory_STD_WHEELS=1 # Standard wheels\n" +"uint8 accessory_TRUCK_WHEELS=2 # Truck wheels\n" +"uint8 accessory_HULL=3 # Hull\n" +"uint8 accessory_HYDROFOIL=4 # Hydrofoil\n" +"uint8 accessory\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonAccessoryStateSupportedAccessoriesListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAnimationsStateList.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAnimationsStateList.h index ecdc012..93924cf 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAnimationsStateList.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAnimationsStateList.h @@ -222,63 +222,61 @@ struct Definition< ::bebop_msgs::CommonAnimationsStateList_ { static const char* value() { - return "# CommonAnimationsStateList\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Paramaterless animations state list.\n\ -\n\ -Header header\n\ -\n\ -# Animation type.\n\ -uint8 anim_HEADLIGHTS_FLASH=0 # Flash headlights.\n\ -uint8 anim_HEADLIGHTS_BLINK=1 # Blink headlights.\n\ -uint8 anim_HEADLIGHTS_OSCILLATION=2 # Oscillating headlights.\n\ -uint8 anim_SPIN=3 # Spin animation.\n\ -uint8 anim_TAP=4 # Tap animation.\n\ -uint8 anim_SLOW_SHAKE=5 # Slow shake animation.\n\ -uint8 anim_METRONOME=6 # Metronome animation.\n\ -uint8 anim_ONDULATION=7 # Standing dance animation.\n\ -uint8 anim_SPIN_JUMP=8 # Spin jump animation.\n\ -uint8 anim_SPIN_TO_POSTURE=9 # Spin that end in standing posture, or in jumper if it was standing animation.\n\ -uint8 anim_SPIRAL=10 # Spiral animation.\n\ -uint8 anim_SLALOM=11 # Slalom animation.\n\ -uint8 anim_BOOST=12 # Boost animation.\n\ -uint8 anim_LOOPING=13 # Make a looping. (Only for WingX)\n\ -uint8 anim_BARREL_ROLL_180_RIGHT=14 # Make a barrel roll of 180 degree turning on right. (Only for WingX)\n\ -uint8 anim_BARREL_ROLL_180_LEFT=15 # Make a barrel roll of 180 degree turning on left. (Only for WingX)\n\ -uint8 anim_BACKSWAP=16 # Put the drone upside down. (Only for WingX)\n\ -uint8 anim\n\ -# State of the animation\n\ -uint8 state_stopped=0 # animation is stopped\n\ -uint8 state_started=1 # animation is started\n\ -uint8 state_notAvailable=2 # The animation is not available\n\ -uint8 state\n\ -# Error to explain the state\n\ -uint8 error_ok=0 # No Error\n\ -uint8 error_unknown=1 # Unknown generic error\n\ -uint8 error\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonAnimationsStateList\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Paramaterless animations state list.\n" +"\n" +"Header header\n" +"\n" +"# Animation type.\n" +"uint8 anim_HEADLIGHTS_FLASH=0 # Flash headlights.\n" +"uint8 anim_HEADLIGHTS_BLINK=1 # Blink headlights.\n" +"uint8 anim_HEADLIGHTS_OSCILLATION=2 # Oscillating headlights.\n" +"uint8 anim_SPIN=3 # Spin animation.\n" +"uint8 anim_TAP=4 # Tap animation.\n" +"uint8 anim_SLOW_SHAKE=5 # Slow shake animation.\n" +"uint8 anim_METRONOME=6 # Metronome animation.\n" +"uint8 anim_ONDULATION=7 # Standing dance animation.\n" +"uint8 anim_SPIN_JUMP=8 # Spin jump animation.\n" +"uint8 anim_SPIN_TO_POSTURE=9 # Spin that end in standing posture, or in jumper if it was standing animation.\n" +"uint8 anim_SPIRAL=10 # Spiral animation.\n" +"uint8 anim_SLALOM=11 # Slalom animation.\n" +"uint8 anim_BOOST=12 # Boost animation.\n" +"uint8 anim_LOOPING=13 # Make a looping. (Only for WingX)\n" +"uint8 anim_BARREL_ROLL_180_RIGHT=14 # Make a barrel roll of 180 degree turning on right. (Only for WingX)\n" +"uint8 anim_BARREL_ROLL_180_LEFT=15 # Make a barrel roll of 180 degree turning on left. (Only for WingX)\n" +"uint8 anim_BACKSWAP=16 # Put the drone upside down. (Only for WingX)\n" +"uint8 anim\n" +"# State of the animation\n" +"uint8 state_stopped=0 # animation is stopped\n" +"uint8 state_started=1 # animation is started\n" +"uint8 state_notAvailable=2 # The animation is not available\n" +"uint8 state\n" +"# Error to explain the state\n" +"uint8 error_ok=0 # No Error\n" +"uint8 error_unknown=1 # Unknown generic error\n" +"uint8 error\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonAnimationsStateList_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAudioStateAudioStreamingRunning.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAudioStateAudioStreamingRunning.h index 58591ee..1fbb2b9 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAudioStateAudioStreamingRunning.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonAudioStateAudioStreamingRunning.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonAudioStateAudioStreamingRunning_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.h index 933b6f4..9eba610 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.h @@ -158,41 +158,39 @@ struct Definition< ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationAxisToC { static const char* value() { - return "# CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Axis to calibrate during calibration process.\n\ -\n\ -Header header\n\ -\n\ -# The axis to calibrate\n\ -uint8 axis_xAxis=0 # If the current calibration axis should be the x axis\n\ -uint8 axis_yAxis=1 # If the current calibration axis should be the y axis\n\ -uint8 axis_zAxis=2 # If the current calibration axis should be the z axis\n\ -uint8 axis_none=3 # If none of the axis should be calibrated\n\ -uint8 axis\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Axis to calibrate during calibration process.\n" +"\n" +"Header header\n" +"\n" +"# The axis to calibrate\n" +"uint8 axis_xAxis=0 # If the current calibration axis should be the x axis\n" +"uint8 axis_yAxis=1 # If the current calibration axis should be the y axis\n" +"uint8 axis_zAxis=2 # If the current calibration axis should be the z axis\n" +"uint8 axis_none=3 # If none of the axis should be calibrated\n" +"uint8 axis\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationRequiredState.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationRequiredState.h index 9b01073..ecc34be 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationRequiredState.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationRequiredState.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationRequire { static const char* value() { - return "# CommonCalibrationStateMagnetoCalibrationRequiredState\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Calibration required.\n\ -\n\ -Header header\n\ -\n\ -# 1 if calibration is required, 0 if current calibration is still valid\n\ -uint8 required\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCalibrationStateMagnetoCalibrationRequiredState\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Calibration required.\n" +"\n" +"Header header\n" +"\n" +"# 1 if calibration is required, 0 if current calibration is still valid\n" +"uint8 required\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationRequiredState_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStartedChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStartedChanged.h index 44ffdea..52b8531 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStartedChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStartedChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationStarted { static const char* value() { - return "# CommonCalibrationStateMagnetoCalibrationStartedChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Calibration process state.\n\ -\n\ -Header header\n\ -\n\ -# 1 if calibration has started, 0 otherwise\n\ -uint8 started\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCalibrationStateMagnetoCalibrationStartedChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Calibration process state.\n" +"\n" +"Header header\n" +"\n" +"# 1 if calibration has started, 0 otherwise\n" +"uint8 started\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationStartedChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStateChanged.h index 809545f..6be9834 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStateMagnetoCalibrationStateChanged.h @@ -159,43 +159,41 @@ struct Definition< ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationStateCh { static const char* value() { - return "# CommonCalibrationStateMagnetoCalibrationStateChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Magneto calib process axis state.\n\ -\n\ -Header header\n\ -\n\ -# State of the x axis (roll) calibration : 1 if calibration is done, 0 otherwise\n\ -uint8 xAxisCalibration\n\ -# State of the y axis (pitch) calibration : 1 if calibration is done, 0 otherwise\n\ -uint8 yAxisCalibration\n\ -# State of the z axis (yaw) calibration : 1 if calibration is done, 0 otherwise\n\ -uint8 zAxisCalibration\n\ -# 1 if calibration has failed, 0 otherwise. If this arg is 1, consider all previous arg as 0\n\ -uint8 calibrationFailed\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCalibrationStateMagnetoCalibrationStateChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Magneto calib process axis state.\n" +"\n" +"Header header\n" +"\n" +"# State of the x axis (roll) calibration : 1 if calibration is done, 0 otherwise\n" +"uint8 xAxisCalibration\n" +"# State of the y axis (pitch) calibration : 1 if calibration is done, 0 otherwise\n" +"uint8 yAxisCalibration\n" +"# State of the z axis (yaw) calibration : 1 if calibration is done, 0 otherwise\n" +"uint8 zAxisCalibration\n" +"# 1 if calibration has failed, 0 otherwise. If this arg is 1, consider all previous arg as 0\n" +"uint8 calibrationFailed\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCalibrationStateMagnetoCalibrationStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStatePitotCalibrationStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStatePitotCalibrationStateChanged.h index 7a6a018..eddd125 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStatePitotCalibrationStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCalibrationStatePitotCalibrationStateChanged.h @@ -163,43 +163,41 @@ struct Definition< ::bebop_msgs::CommonCalibrationStatePitotCalibrationStateChan { static const char* value() { - return "# CommonCalibrationStatePitotCalibrationStateChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: \n\ -\n\ -Header header\n\ -\n\ -# State of pitot calibration\n\ -uint8 state_done=0 # Calibration is ok\n\ -uint8 state_ready=1 # Calibration is started, waiting user action\n\ -uint8 state_in_progress=2 # Calibration is in progress\n\ -uint8 state_required=3 # Calibration is required\n\ -uint8 state\n\ -# lastError : 1 if an error occured and 0 if not\n\ -uint8 lastError\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCalibrationStatePitotCalibrationStateChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: \n" +"\n" +"Header header\n" +"\n" +"# State of pitot calibration\n" +"uint8 state_done=0 # Calibration is ok\n" +"uint8 state_ready=1 # Calibration is started, waiting user action\n" +"uint8 state_in_progress=2 # Calibration is in progress\n" +"uint8 state_required=3 # Calibration is required\n" +"uint8 state\n" +"# lastError : 1 if an error occured and 0 if not\n" +"uint8 lastError\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCalibrationStatePitotCalibrationStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateChargingInfo.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateChargingInfo.h index e3d0be7..249a1ad 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateChargingInfo.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateChargingInfo.h @@ -191,53 +191,51 @@ struct Definition< ::bebop_msgs::CommonChargerStateChargingInfo_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateCurrentChargeStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateCurrentChargeStateChanged.h index cade780..3e73fe9 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateCurrentChargeStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateCurrentChargeStateChanged.h @@ -181,49 +181,47 @@ struct Definition< ::bebop_msgs::CommonChargerStateCurrentChargeStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateLastChargeRateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateLastChargeRateChanged.h index 590d6a9..f4d2679 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateLastChargeRateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateLastChargeRateChanged.h @@ -158,41 +158,39 @@ struct Definition< ::bebop_msgs::CommonChargerStateLastChargeRateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateMaxChargeRateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateMaxChargeRateChanged.h index 59681db..c196098 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateMaxChargeRateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonChargerStateMaxChargeRateChanged.h @@ -155,40 +155,38 @@ struct Definition< ::bebop_msgs::CommonChargerStateMaxChargeRateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateAllStatesChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateAllStatesChanged.h index 8724b0d..179fdb0 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateAllStatesChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateAllStatesChanged.h @@ -139,35 +139,33 @@ struct Definition< ::bebop_msgs::CommonCommonStateAllStatesChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateBatteryStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateBatteryStateChanged.h index bc5650f..964a123 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateBatteryStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateBatteryStateChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonCommonStateBatteryStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCountryListKnown.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCountryListKnown.h index 39be57d..7a0d7fa 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCountryListKnown.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCountryListKnown.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::CommonCommonStateCountryListKnown_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentDateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentDateChanged.h index 2f907ce..b07f109 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentDateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentDateChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonCommonStateCurrentDateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentTimeChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentTimeChanged.h index 5818385..e813f69 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentTimeChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateCurrentTimeChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonCommonStateCurrentTimeChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateDeprecatedMassStorageContentChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateDeprecatedMassStorageContentChanged.h index 5a2eb52..48a9e1f 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateDeprecatedMassStorageContentChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateDeprecatedMassStorageContentChanged.h @@ -164,45 +164,43 @@ struct Definition< ::bebop_msgs::CommonCommonStateDeprecatedMassStorageContentCh { static const char* value() { - return "# CommonCommonStateDeprecatedMassStorageContentChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Mass storage content changed.\n\ -\n\ -Header header\n\ -\n\ -# Mass storage id (unique)\n\ -uint8 mass_storage_id\n\ -# Number of photos (does not include raw photos)\n\ -uint16 nbPhotos\n\ -# Number of videos\n\ -uint16 nbVideos\n\ -# Number of puds\n\ -uint16 nbPuds\n\ -# Number of crash logs\n\ -uint16 nbCrashLogs\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCommonStateDeprecatedMassStorageContentChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Mass storage content changed.\n" +"\n" +"Header header\n" +"\n" +"# Mass storage id (unique)\n" +"uint8 mass_storage_id\n" +"# Number of photos (does not include raw photos)\n" +"uint16 nbPhotos\n" +"# Number of videos\n" +"uint16 nbVideos\n" +"# Number of puds\n" +"uint16 nbPuds\n" +"# Number of crash logs\n" +"uint16 nbCrashLogs\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCommonStateDeprecatedMassStorageContentChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContent.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContent.h index d37dc6a..bb14540 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContent.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContent.h @@ -169,47 +169,45 @@ struct Definition< ::bebop_msgs::CommonCommonStateMassStorageContent_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContentForCurrentRun.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContentForCurrentRun.h index 4e09407..5c571bc 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContentForCurrentRun.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageContentForCurrentRun.h @@ -159,43 +159,41 @@ struct Definition< ::bebop_msgs::CommonCommonStateMassStorageContentForCurrentRu { static const char* value() { - return "# CommonCommonStateMassStorageContentForCurrentRun\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Mass storage content for current run.\\n Only counts the files related to the current run (see [RunId](#0-30-0))\n\ -\n\ -Header header\n\ -\n\ -# Mass storage id (unique)\n\ -uint8 mass_storage_id\n\ -# Number of photos (does not include raw photos)\n\ -uint16 nbPhotos\n\ -# Number of videos\n\ -uint16 nbVideos\n\ -# Number of raw photos\n\ -uint16 nbRawPhotos\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCommonStateMassStorageContentForCurrentRun\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Mass storage content for current run.\\n Only counts the files related to the current run (see [RunId](#0-30-0))\n" +"\n" +"Header header\n" +"\n" +"# Mass storage id (unique)\n" +"uint8 mass_storage_id\n" +"# Number of photos (does not include raw photos)\n" +"uint16 nbPhotos\n" +"# Number of videos\n" +"uint16 nbVideos\n" +"# Number of raw photos\n" +"uint16 nbRawPhotos\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCommonStateMassStorageContentForCurrentRun_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoRemainingListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoRemainingListChanged.h index ee5fffc..9db1d0b 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoRemainingListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoRemainingListChanged.h @@ -154,41 +154,39 @@ struct Definition< ::bebop_msgs::CommonCommonStateMassStorageInfoRemainingListCh { static const char* value() { - return "# CommonCommonStateMassStorageInfoRemainingListChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Mass storage remaining data list.\n\ -\n\ -Header header\n\ -\n\ -# Mass storage free space in MBytes\n\ -uint32 free_space\n\ -# Mass storage record time reamining in minute\n\ -uint16 rec_time\n\ -# Mass storage photo remaining\n\ -uint32 photo_remaining\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCommonStateMassStorageInfoRemainingListChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Mass storage remaining data list.\n" +"\n" +"Header header\n" +"\n" +"# Mass storage free space in MBytes\n" +"uint32 free_space\n" +"# Mass storage record time reamining in minute\n" +"uint16 rec_time\n" +"# Mass storage photo remaining\n" +"uint32 photo_remaining\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCommonStateMassStorageInfoRemainingListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoStateListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoStateListChanged.h index a311dbe..f625dcd 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoStateListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageInfoStateListChanged.h @@ -169,47 +169,45 @@ struct Definition< ::bebop_msgs::CommonCommonStateMassStorageInfoStateListChange { static const char* value() { - return "# CommonCommonStateMassStorageInfoStateListChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Mass storage info state list.\n\ -\n\ -Header header\n\ -\n\ -# Mass storage state id (unique)\n\ -uint8 mass_storage_id\n\ -# Mass storage size in MBytes\n\ -uint32 size\n\ -# Mass storage used size in MBytes\n\ -uint32 used_size\n\ -# Mass storage plugged (1 if mass storage is plugged, otherwise 0)\n\ -uint8 plugged\n\ -# Mass storage full information state (1 if mass storage full, 0 otherwise).\n\ -uint8 full\n\ -# Mass storage internal type state (1 if mass storage is internal, 0 otherwise)\n\ -uint8 internal\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonCommonStateMassStorageInfoStateListChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Mass storage info state list.\n" +"\n" +"Header header\n" +"\n" +"# Mass storage state id (unique)\n" +"uint8 mass_storage_id\n" +"# Mass storage size in MBytes\n" +"uint32 size\n" +"# Mass storage used size in MBytes\n" +"uint32 used_size\n" +"# Mass storage plugged (1 if mass storage is plugged, otherwise 0)\n" +"uint8 plugged\n" +"# Mass storage full information state (1 if mass storage full, 0 otherwise).\n" +"uint8 full\n" +"# Mass storage internal type state (1 if mass storage is internal, 0 otherwise)\n" +"uint8 internal\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonCommonStateMassStorageInfoStateListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageStateListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageStateListChanged.h index 089aa4f..7aae03f 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageStateListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateMassStorageStateListChanged.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::CommonCommonStateMassStorageStateListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateProductModel.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateProductModel.h index 1a68187..5444eec 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateProductModel.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateProductModel.h @@ -191,52 +191,50 @@ struct Definition< ::bebop_msgs::CommonCommonStateProductModel_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateSensorsStatesListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateSensorsStatesListChanged.h index fa3c2f5..6507aa1 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateSensorsStatesListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateSensorsStatesListChanged.h @@ -169,45 +169,43 @@ struct Definition< ::bebop_msgs::CommonCommonStateSensorsStatesListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateVideoRecordingTimestamp.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateVideoRecordingTimestamp.h index f237cf9..b3878e5 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateVideoRecordingTimestamp.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateVideoRecordingTimestamp.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::CommonCommonStateVideoRecordingTimestamp_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateWifiSignalChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateWifiSignalChanged.h index dac203c..643b38c 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateWifiSignalChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonCommonStateWifiSignalChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonCommonStateWifiSignalChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateAvailabilityStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateAvailabilityStateChanged.h index 9aa6b97..148a9bb 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateAvailabilityStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateAvailabilityStateChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonFlightPlanStateAvailabilityStateChanged_< { static const char* value() { - return "# CommonFlightPlanStateAvailabilityStateChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: FlightPlan availability.\\n Availability is linked to GPS fix, magnetometer calibration, sensor states...\n\ -\n\ -Header header\n\ -\n\ -# Running a flightPlan file is available (1 running a flightPlan file is available, otherwise 0)\n\ -uint8 AvailabilityState\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonFlightPlanStateAvailabilityStateChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: FlightPlan availability.\\n Availability is linked to GPS fix, magnetometer calibration, sensor states...\n" +"\n" +"Header header\n" +"\n" +"# Running a flightPlan file is available (1 running a flightPlan file is available, otherwise 0)\n" +"uint8 AvailabilityState\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonFlightPlanStateAvailabilityStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateComponentStateListChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateComponentStateListChanged.h index f18af32..5eed407 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateComponentStateListChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateComponentStateListChanged.h @@ -166,44 +166,42 @@ struct Definition< ::bebop_msgs::CommonFlightPlanStateComponentStateListChanged_ { static const char* value() { - return "# CommonFlightPlanStateComponentStateListChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: FlightPlan components state list.\n\ -\n\ -Header header\n\ -\n\ -# Drone FlightPlan component id (unique)\n\ -uint8 component_GPS=0 # Drone GPS component. State is 0 when the drone needs a GPS fix.\n\ -uint8 component_Calibration=1 # Drone Calibration component. State is 0 when the sensors of the drone needs to be calibrated.\n\ -uint8 component_Mavlink_File=2 # Mavlink file component. State is 0 when the mavlink file is missing or contains error.\n\ -uint8 component_TakeOff=3 # Drone Take off component. State is 0 when the drone cannot take-off.\n\ -uint8 component_WaypointsBeyondGeofence=4 # Component for waypoints beyond the geofence. State is 0 when one or more waypoints are beyond the geofence.\n\ -uint8 component\n\ -# State of the FlightPlan component (1 FlightPlan component OK, otherwise 0)\n\ -uint8 State\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonFlightPlanStateComponentStateListChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: FlightPlan components state list.\n" +"\n" +"Header header\n" +"\n" +"# Drone FlightPlan component id (unique)\n" +"uint8 component_GPS=0 # Drone GPS component. State is 0 when the drone needs a GPS fix.\n" +"uint8 component_Calibration=1 # Drone Calibration component. State is 0 when the sensors of the drone needs to be calibrated.\n" +"uint8 component_Mavlink_File=2 # Mavlink file component. State is 0 when the mavlink file is missing or contains error.\n" +"uint8 component_TakeOff=3 # Drone Take off component. State is 0 when the drone cannot take-off.\n" +"uint8 component_WaypointsBeyondGeofence=4 # Component for waypoints beyond the geofence. State is 0 when one or more waypoints are beyond the geofence.\n" +"uint8 component\n" +"# State of the FlightPlan component (1 FlightPlan component OK, otherwise 0)\n" +"uint8 State\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonFlightPlanStateComponentStateListChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateLockStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateLockStateChanged.h index b0c1fa5..c09491c 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateLockStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonFlightPlanStateLockStateChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonFlightPlanStateLockStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonHeadlightsStateintensityChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonHeadlightsStateintensityChanged.h index 08d709d..43a1666 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonHeadlightsStateintensityChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonHeadlightsStateintensityChanged.h @@ -149,39 +149,37 @@ struct Definition< ::bebop_msgs::CommonHeadlightsStateintensityChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkFilePlayingStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkFilePlayingStateChanged.h index ddb6d20..2134a33 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkFilePlayingStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkFilePlayingStateChanged.h @@ -174,47 +174,45 @@ struct Definition< ::bebop_msgs::CommonMavlinkStateMavlinkFilePlayingStateChange { static const char* value() { - return "# CommonMavlinkStateMavlinkFilePlayingStateChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Playing state of a FlightPlan.\n\ -\n\ -Header header\n\ -\n\ -# State of the mavlink\n\ -uint8 state_playing=0 # Mavlink file is playing\n\ -uint8 state_stopped=1 # Mavlink file is stopped (arg filepath and type are useless in this state)\n\ -uint8 state_paused=2 # Mavlink file is paused\n\ -uint8 state_loaded=3 # Mavlink file is loaded (it will be played at take-off)\n\ -uint8 state\n\ -# flight plan file path from the mavlink ftp root\n\ -string filepath\n\ -# type of the played mavlink file\n\ -uint8 type_flightPlan=0 # Mavlink file for FlightPlan\n\ -uint8 type_mapMyHouse=1 # Mavlink file for MapMyHouse\n\ -uint8 type\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonMavlinkStateMavlinkFilePlayingStateChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Playing state of a FlightPlan.\n" +"\n" +"Header header\n" +"\n" +"# State of the mavlink\n" +"uint8 state_playing=0 # Mavlink file is playing\n" +"uint8 state_stopped=1 # Mavlink file is stopped (arg filepath and type are useless in this state)\n" +"uint8 state_paused=2 # Mavlink file is paused\n" +"uint8 state_loaded=3 # Mavlink file is loaded (it will be played at take-off)\n" +"uint8 state\n" +"# flight plan file path from the mavlink ftp root\n" +"string filepath\n" +"# type of the played mavlink file\n" +"uint8 type_flightPlan=0 # Mavlink file for FlightPlan\n" +"uint8 type_mapMyHouse=1 # Mavlink file for MapMyHouse\n" +"uint8 type\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonMavlinkStateMavlinkFilePlayingStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkPlayErrorStateChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkPlayErrorStateChanged.h index 5d42eee..55db16b 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkPlayErrorStateChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMavlinkPlayErrorStateChanged.h @@ -158,41 +158,39 @@ struct Definition< ::bebop_msgs::CommonMavlinkStateMavlinkPlayErrorStateChanged_ { static const char* value() { - return "# CommonMavlinkStateMavlinkPlayErrorStateChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: FlightPlan error.\n\ -\n\ -Header header\n\ -\n\ -# State of play error\n\ -uint8 error_none=0 # There is no error\n\ -uint8 error_notInOutDoorMode=1 # The drone is not in outdoor mode\n\ -uint8 error_gpsNotFixed=2 # The gps is not fixed\n\ -uint8 error_notCalibrated=3 # The magnetometer of the drone is not calibrated\n\ -uint8 error\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonMavlinkStateMavlinkPlayErrorStateChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: FlightPlan error.\n" +"\n" +"Header header\n" +"\n" +"# State of play error\n" +"uint8 error_none=0 # There is no error\n" +"uint8 error_notInOutDoorMode=1 # The drone is not in outdoor mode\n" +"uint8 error_gpsNotFixed=2 # The gps is not fixed\n" +"uint8 error_notCalibrated=3 # The magnetometer of the drone is not calibrated\n" +"uint8 error\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonMavlinkStateMavlinkPlayErrorStateChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMissionItemExecuted.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMissionItemExecuted.h index 380ad3e..62e3f45 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMissionItemExecuted.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonMavlinkStateMissionItemExecuted.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonMavlinkStateMissionItemExecuted_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatChanged.h index 89c5fd7..3029800 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatChanged.h @@ -139,35 +139,33 @@ struct Definition< ::bebop_msgs::CommonOverHeatStateOverHeatChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatRegulationChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatRegulationChanged.h index 4f8354a..61751fd 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatRegulationChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonOverHeatStateOverHeatRegulationChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonOverHeatStateOverHeatRegulationChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonRunStateRunIdChanged.h b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonRunStateRunIdChanged.h index 7f35f21..4480b39 100644 --- a/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonRunStateRunIdChanged.h +++ b/workspace/devel/.private/bebop_msgs/include/bebop_msgs/CommonRunStateRunIdChanged.h @@ -144,37 +144,35 @@ struct Definition< ::bebop_msgs::CommonRunStateRunIdChanged_ { static const char* value() { - return "# CommonRunStateRunIdChanged\n\ -# auto-generated from up stream XML files at\n\ -# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n\ -# To check upstream commit hash, refer to last_build_info file\n\ -# Do not modify this file by hand. Check scripts/meta folder for generator files.\n\ -#\n\ -# SDK Comment: Current run id.\\n A run id is uniquely identifying a run or a flight.\\n For each run is generated on the drone a file which can be used by Academy to sum up the run.\\n Also, each medias taken during a run has a filename containing the run id.\n\ -\n\ -Header header\n\ -\n\ -# Id of the run\n\ -string runId\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -"; + return "# CommonRunStateRunIdChanged\n" +"# auto-generated from up stream XML files at\n" +"# github.com/Parrot-Developers/libARCommands/tree/master/Xml\n" +"# To check upstream commit hash, refer to last_build_info file\n" +"# Do not modify this file by hand. Check scripts/meta folder for generator files.\n" +"#\n" +"# SDK Comment: Current run id.\\n A run id is uniquely identifying a run or a flight.\\n For each run is generated on the drone a file which can be used by Academy to sum up the run.\\n Also, each medias taken during a run has a filename containing the run id.\n" +"\n" +"Header header\n" +"\n" +"# Id of the run\n" +"string runId\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; } static const char* value(const ::bebop_msgs::CommonRunStateRunIdChanged_&) { return value(); } diff --git a/workspace/devel/.private/bebop_msgs/local_setup.bash b/workspace/devel/.private/bebop_msgs/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/bebop_msgs/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/bebop_msgs/local_setup.sh b/workspace/devel/.private/bebop_msgs/local_setup.sh new file mode 100644 index 0000000..3a41b50 --- /dev/null +++ b/workspace/devel/.private/bebop_msgs/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_msgs} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/bebop_msgs/local_setup.zsh b/workspace/devel/.private/bebop_msgs/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/bebop_msgs/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/bebop_msgs/setup.sh b/workspace/devel/.private/bebop_msgs/setup.sh index 702bcc4..26a4071 100644 --- a/workspace/devel/.private/bebop_msgs/setup.sh +++ b/workspace/devel/.private/bebop_msgs/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/bebop_msgs/share/bebop_msgs/cmake/bebop_msgsConfig.cmake b/workspace/devel/.private/bebop_msgs/share/bebop_msgs/cmake/bebop_msgsConfig.cmake index 87d8345..60d87c0 100644 --- a/workspace/devel/.private/bebop_msgs/share/bebop_msgs/cmake/bebop_msgsConfig.cmake +++ b/workspace/devel/.private/bebop_msgs/share/bebop_msgs/cmake/bebop_msgsConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_msgs_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_msgs_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_msgs_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.lisp index 97dfe30..ccaa7c5 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.lisp @@ -131,10 +131,10 @@ "4c105add6586231e3d438d1252e04c7e") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3AccessoryStateConnectedAccessories~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature.~%~%Header header~%~%# Id of the accessory for the session.~%uint8 id~%# Accessory type~%uint8 accessory_type_sequoia=0 # Parrot Sequoia (multispectral camera for agriculture)~%uint8 accessory_type_unknownaccessory_1=1 # UNKNOWNACCESSORY_1 camera (thermal+rgb camera)~%uint8 accessory_type~%# Unique Id of the accessory. This id is unique by accessory_type.~%string uid~%# Software Version of the accessory.~%string swVersion~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3AccessoryStateConnectedAccessories~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature.~%~%Header header~%~%# Id of the accessory for the session.~%uint8 id~%# Accessory type~%uint8 accessory_type_sequoia=0 # Parrot Sequoia (multispectral camera for agriculture)~%uint8 accessory_type_unknownaccessory_1=1 # UNKNOWNACCESSORY_1 camera (thermal+rgb camera)~%uint8 accessory_type~%# Unique Id of the accessory. This id is unique by accessory_type.~%string uid~%# Software Version of the accessory.~%string swVersion~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3AccessoryStateConnectedAccessories))) "Returns full string definition for message of type 'Ardrone3AccessoryStateConnectedAccessories" - (cl:format cl:nil "# Ardrone3AccessoryStateConnectedAccessories~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature.~%~%Header header~%~%# Id of the accessory for the session.~%uint8 id~%# Accessory type~%uint8 accessory_type_sequoia=0 # Parrot Sequoia (multispectral camera for agriculture)~%uint8 accessory_type_unknownaccessory_1=1 # UNKNOWNACCESSORY_1 camera (thermal+rgb camera)~%uint8 accessory_type~%# Unique Id of the accessory. This id is unique by accessory_type.~%string uid~%# Software Version of the accessory.~%string swVersion~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3AccessoryStateConnectedAccessories~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature.~%~%Header header~%~%# Id of the accessory for the session.~%uint8 id~%# Accessory type~%uint8 accessory_type_sequoia=0 # Parrot Sequoia (multispectral camera for agriculture)~%uint8 accessory_type_unknownaccessory_1=1 # UNKNOWNACCESSORY_1 camera (thermal+rgb camera)~%uint8 accessory_type~%# Unique Id of the accessory. This id is unique by accessory_type.~%string uid~%# Software Version of the accessory.~%string swVersion~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.lisp index a6a4a6c..e325fd7 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.lisp @@ -71,10 +71,10 @@ "ca3c0e18079a24e9b39ce000c8d70806") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3AntiflickeringStateelectricFrequencyChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Electric frequency.\\n This piece of information is used for the antiflickering when the [AntiflickeringMode](#1-30-1) is set to *auto*.~%~%Header header~%~%# Type of the electric frequency~%uint8 frequency_fiftyHertz=0 # Electric frequency of the country is 50hz~%uint8 frequency_sixtyHertz=1 # Electric frequency of the country is 60hz~%uint8 frequency~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3AntiflickeringStateelectricFrequencyChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Electric frequency.\\n This piece of information is used for the antiflickering when the [AntiflickeringMode](#1-30-1) is set to *auto*.~%~%Header header~%~%# Type of the electric frequency~%uint8 frequency_fiftyHertz=0 # Electric frequency of the country is 50hz~%uint8 frequency_sixtyHertz=1 # Electric frequency of the country is 60hz~%uint8 frequency~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3AntiflickeringStateelectricFrequencyChanged))) "Returns full string definition for message of type 'Ardrone3AntiflickeringStateelectricFrequencyChanged" - (cl:format cl:nil "# Ardrone3AntiflickeringStateelectricFrequencyChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Electric frequency.\\n This piece of information is used for the antiflickering when the [AntiflickeringMode](#1-30-1) is set to *auto*.~%~%Header header~%~%# Type of the electric frequency~%uint8 frequency_fiftyHertz=0 # Electric frequency of the country is 50hz~%uint8 frequency_sixtyHertz=1 # Electric frequency of the country is 60hz~%uint8 frequency~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3AntiflickeringStateelectricFrequencyChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Electric frequency.\\n This piece of information is used for the antiflickering when the [AntiflickeringMode](#1-30-1) is set to *auto*.~%~%Header header~%~%# Type of the electric frequency~%uint8 frequency_fiftyHertz=0 # Electric frequency of the country is 50hz~%uint8 frequency_sixtyHertz=1 # Electric frequency of the country is 60hz~%uint8 frequency~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.lisp index 8f88930..ed0a0e8 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.lisp @@ -73,10 +73,10 @@ "949916415ccdcdf00022c85192c0ac67") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3AntiflickeringStatemodeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Antiflickering mode.~%~%Header header~%~%# Mode of the anti flickering functionnality~%uint8 mode_auto=0 # Anti flickering based on the electric frequency previously sent~%uint8 mode_FixedFiftyHertz=1 # Anti flickering based on a fixed frequency of 50Hz~%uint8 mode_FixedSixtyHertz=2 # Anti flickering based on a fixed frequency of 60Hz~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3AntiflickeringStatemodeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Antiflickering mode.~%~%Header header~%~%# Mode of the anti flickering functionnality~%uint8 mode_auto=0 # Anti flickering based on the electric frequency previously sent~%uint8 mode_FixedFiftyHertz=1 # Anti flickering based on a fixed frequency of 50Hz~%uint8 mode_FixedSixtyHertz=2 # Anti flickering based on a fixed frequency of 60Hz~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3AntiflickeringStatemodeChanged))) "Returns full string definition for message of type 'Ardrone3AntiflickeringStatemodeChanged" - (cl:format cl:nil "# Ardrone3AntiflickeringStatemodeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Antiflickering mode.~%~%Header header~%~%# Mode of the anti flickering functionnality~%uint8 mode_auto=0 # Anti flickering based on the electric frequency previously sent~%uint8 mode_FixedFiftyHertz=1 # Anti flickering based on a fixed frequency of 50Hz~%uint8 mode_FixedSixtyHertz=2 # Anti flickering based on a fixed frequency of 60Hz~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3AntiflickeringStatemodeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Antiflickering mode.~%~%Header header~%~%# Mode of the anti flickering functionnality~%uint8 mode_auto=0 # Anti flickering based on the electric frequency previously sent~%uint8 mode_FixedFiftyHertz=1 # Anti flickering based on a fixed frequency of 50Hz~%uint8 mode_FixedSixtyHertz=2 # Anti flickering based on a fixed frequency of 60Hz~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.lisp index 461a118..cd24d42 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.lisp @@ -81,10 +81,10 @@ "56079118c93b004f0ffa8a6f3b67bbf9") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3CameraStateOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation.~%~%Header header~%~%# Tilt camera consign for the drone [-100;100]~%int8 tilt~%# Pan camera consign for the drone [-100;100]~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStateOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation.~%~%Header header~%~%# Tilt camera consign for the drone [-100;100]~%int8 tilt~%# Pan camera consign for the drone [-100;100]~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3CameraStateOrientation))) "Returns full string definition for message of type 'Ardrone3CameraStateOrientation" - (cl:format cl:nil "# Ardrone3CameraStateOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation.~%~%Header header~%~%# Tilt camera consign for the drone [-100;100]~%int8 tilt~%# Pan camera consign for the drone [-100;100]~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStateOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation.~%~%Header header~%~%# Tilt camera consign for the drone [-100;100]~%int8 tilt~%# Pan camera consign for the drone [-100;100]~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.lisp index ee9a88b..f31fd4d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.lisp @@ -91,10 +91,10 @@ "8721413d79d1a8c88529f47de1a5ecb0") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3CameraStateOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation with float arguments.~%~%Header header~%~%# Tilt camera consign for the drone [deg]~%float32 tilt~%# Pan camera consign for the drone [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStateOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation with float arguments.~%~%Header header~%~%# Tilt camera consign for the drone [deg]~%float32 tilt~%# Pan camera consign for the drone [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3CameraStateOrientationV2))) "Returns full string definition for message of type 'Ardrone3CameraStateOrientationV2" - (cl:format cl:nil "# Ardrone3CameraStateOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation with float arguments.~%~%Header header~%~%# Tilt camera consign for the drone [deg]~%float32 tilt~%# Pan camera consign for the drone [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStateOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera orientation with float arguments.~%~%Header header~%~%# Tilt camera consign for the drone [deg]~%float32 tilt~%# Pan camera consign for the drone [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.lisp index d65d40e..97ee55a 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.lisp @@ -91,10 +91,10 @@ "cda98074fc63d3bb789505d7a068cced") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3CameraStateVelocityRange~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera Orientation velocity limits.~%~%Header header~%~%# Absolute max tilt velocity [deg/s]~%float32 max_tilt~%# Absolute max pan velocity [deg/s]~%float32 max_pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStateVelocityRange~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera Orientation velocity limits.~%~%Header header~%~%# Absolute max tilt velocity [deg/s]~%float32 max_tilt~%# Absolute max pan velocity [deg/s]~%float32 max_pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3CameraStateVelocityRange))) "Returns full string definition for message of type 'Ardrone3CameraStateVelocityRange" - (cl:format cl:nil "# Ardrone3CameraStateVelocityRange~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera Orientation velocity limits.~%~%Header header~%~%# Absolute max tilt velocity [deg/s]~%float32 max_tilt~%# Absolute max pan velocity [deg/s]~%float32 max_pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStateVelocityRange~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Camera Orientation velocity limits.~%~%Header header~%~%# Absolute max tilt velocity [deg/s]~%float32 max_tilt~%# Absolute max pan velocity [deg/s]~%float32 max_pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.lisp index afb301a..12fd2f0 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.lisp @@ -81,10 +81,10 @@ "56079118c93b004f0ffa8a6f3b67bbf9") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value (in degree)~%int8 tilt~%# Pan value (in degree)~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value (in degree)~%int8 tilt~%# Pan value (in degree)~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3CameraStatedefaultCameraOrientation))) "Returns full string definition for message of type 'Ardrone3CameraStatedefaultCameraOrientation" - (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value (in degree)~%int8 tilt~%# Pan value (in degree)~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientation~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value (in degree)~%int8 tilt~%# Pan value (in degree)~%int8 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.lisp index 9f24818..735e9f5 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.lisp @@ -91,10 +91,10 @@ "8721413d79d1a8c88529f47de1a5ecb0") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value [deg]~%float32 tilt~%# Pan value [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value [deg]~%float32 tilt~%# Pan value [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3CameraStatedefaultCameraOrientationV2))) "Returns full string definition for message of type 'Ardrone3CameraStatedefaultCameraOrientationV2" - (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value [deg]~%float32 tilt~%# Pan value [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3CameraStatedefaultCameraOrientationV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Orientation of the center of the camera.\\n This is the value to send when you want to center the camera.~%~%Header header~%~%# Tilt value [deg]~%float32 tilt~%# Pan value [deg]~%float32 pan~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.lisp index c5388ce..2313bf4 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.lisp @@ -87,10 +87,10 @@ "d999243a44694f8883e478c6f2492144") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3GPSStateHomeTypeAvailabilityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type availability.~%~%Header header~%~%# The type of the return home~%uint8 type_TAKEOFF=0 # The drone has enough information to return to the take off position~%uint8 type_PILOT=1 # The drone has enough information to return to the pilot position~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone has enough information to return to the target of the current (or last) follow me~%uint8 type~%# 1 if this type is available, 0 otherwise~%uint8 available~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3GPSStateHomeTypeAvailabilityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type availability.~%~%Header header~%~%# The type of the return home~%uint8 type_TAKEOFF=0 # The drone has enough information to return to the take off position~%uint8 type_PILOT=1 # The drone has enough information to return to the pilot position~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone has enough information to return to the target of the current (or last) follow me~%uint8 type~%# 1 if this type is available, 0 otherwise~%uint8 available~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3GPSStateHomeTypeAvailabilityChanged))) "Returns full string definition for message of type 'Ardrone3GPSStateHomeTypeAvailabilityChanged" - (cl:format cl:nil "# Ardrone3GPSStateHomeTypeAvailabilityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type availability.~%~%Header header~%~%# The type of the return home~%uint8 type_TAKEOFF=0 # The drone has enough information to return to the take off position~%uint8 type_PILOT=1 # The drone has enough information to return to the pilot position~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone has enough information to return to the target of the current (or last) follow me~%uint8 type~%# 1 if this type is available, 0 otherwise~%uint8 available~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3GPSStateHomeTypeAvailabilityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type availability.~%~%Header header~%~%# The type of the return home~%uint8 type_TAKEOFF=0 # The drone has enough information to return to the take off position~%uint8 type_PILOT=1 # The drone has enough information to return to the pilot position~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone has enough information to return to the target of the current (or last) follow me~%uint8 type~%# 1 if this type is available, 0 otherwise~%uint8 available~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.lisp index 205481c..1740816 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.lisp @@ -75,10 +75,10 @@ "399148a783deb6496d223249b9e3e911") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3GPSStateHomeTypeChosenChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type.\\n This choice is made by the drone, according to the [PreferredHomeType](#1-24-4) and the [HomeTypeAvailability](#1-31-1). The drone will choose the type matching with the user preference only if this type is available. If not, it will chose a type in this order:\\n FOLLOWEE ; TAKEOFF ; PILOT ; FIRST_FIX~%~%Header header~%~%# The type of the return home chosen~%uint8 type_TAKEOFF=0 # The drone will return to the take off position~%uint8 type_PILOT=1 # The drone will return to the pilot position In this case, the drone will use the position given by ARDrone3-SendControllerGPS~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone will return to the target of the current (or last) follow me In this case, the drone will use the position of the target of the followMe (given by ControllerInfo-GPS)~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3GPSStateHomeTypeChosenChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type.\\n This choice is made by the drone, according to the [PreferredHomeType](#1-24-4) and the [HomeTypeAvailability](#1-31-1). The drone will choose the type matching with the user preference only if this type is available. If not, it will chose a type in this order:\\n FOLLOWEE ; TAKEOFF ; PILOT ; FIRST_FIX~%~%Header header~%~%# The type of the return home chosen~%uint8 type_TAKEOFF=0 # The drone will return to the take off position~%uint8 type_PILOT=1 # The drone will return to the pilot position In this case, the drone will use the position given by ARDrone3-SendControllerGPS~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone will return to the target of the current (or last) follow me In this case, the drone will use the position of the target of the followMe (given by ControllerInfo-GPS)~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3GPSStateHomeTypeChosenChanged))) "Returns full string definition for message of type 'Ardrone3GPSStateHomeTypeChosenChanged" - (cl:format cl:nil "# Ardrone3GPSStateHomeTypeChosenChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type.\\n This choice is made by the drone, according to the [PreferredHomeType](#1-24-4) and the [HomeTypeAvailability](#1-31-1). The drone will choose the type matching with the user preference only if this type is available. If not, it will chose a type in this order:\\n FOLLOWEE ; TAKEOFF ; PILOT ; FIRST_FIX~%~%Header header~%~%# The type of the return home chosen~%uint8 type_TAKEOFF=0 # The drone will return to the take off position~%uint8 type_PILOT=1 # The drone will return to the pilot position In this case, the drone will use the position given by ARDrone3-SendControllerGPS~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone will return to the target of the current (or last) follow me In this case, the drone will use the position of the target of the followMe (given by ControllerInfo-GPS)~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3GPSStateHomeTypeChosenChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Home type.\\n This choice is made by the drone, according to the [PreferredHomeType](#1-24-4) and the [HomeTypeAvailability](#1-31-1). The drone will choose the type matching with the user preference only if this type is available. If not, it will chose a type in this order:\\n FOLLOWEE ; TAKEOFF ; PILOT ; FIRST_FIX~%~%Header header~%~%# The type of the return home chosen~%uint8 type_TAKEOFF=0 # The drone will return to the take off position~%uint8 type_PILOT=1 # The drone will return to the pilot position In this case, the drone will use the position given by ARDrone3-SendControllerGPS~%uint8 type_FIRST_FIX=2 # The drone has not enough information, it will return to the first GPS fix~%uint8 type_FOLLOWEE=3 # The drone will return to the target of the current (or last) follow me In this case, the drone will use the position of the target of the followMe (given by ControllerInfo-GPS)~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.lisp index 1e9af62..d68e2d7 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.lisp @@ -61,10 +61,10 @@ "07100adadfd4e952508665bf499f7945") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3GPSStateNumberOfSatelliteChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Number of GPS satellites.~%~%Header header~%~%# The number of satellite~%uint8 numberOfSatellite~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3GPSStateNumberOfSatelliteChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Number of GPS satellites.~%~%Header header~%~%# The number of satellite~%uint8 numberOfSatellite~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3GPSStateNumberOfSatelliteChanged))) "Returns full string definition for message of type 'Ardrone3GPSStateNumberOfSatelliteChanged" - (cl:format cl:nil "# Ardrone3GPSStateNumberOfSatelliteChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Number of GPS satellites.~%~%Header header~%~%# The number of satellite~%uint8 numberOfSatellite~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3GPSStateNumberOfSatelliteChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Number of GPS satellites.~%~%Header header~%~%# The number of satellite~%uint8 numberOfSatellite~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.lisp index c12041d..8f959ce 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.lisp @@ -73,10 +73,10 @@ "2f111b238d7065d202c5d0de1746940a") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# 1 if picture has been taken, 0 otherwise~%uint8 state~%# Mass storage id where the picture was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# 1 if picture has been taken, 0 otherwise~%uint8 state~%# Mass storage id where the picture was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3MediaRecordStatePictureStateChanged))) "Returns full string definition for message of type 'Ardrone3MediaRecordStatePictureStateChanged" - (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# 1 if picture has been taken, 0 otherwise~%uint8 state~%# Mass storage id where the picture was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# 1 if picture has been taken, 0 otherwise~%uint8 state~%# Mass storage id where the picture was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.lisp index 15fe1f6..c52bb4f 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.lisp @@ -95,10 +95,10 @@ "d598a8e443dfa3a713d5b12b036e41a5") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# State of device picture recording~%uint8 state_ready=0 # The picture recording is ready~%uint8 state_busy=1 # The picture recording is busy~%uint8 state_notAvailable=2 # The picture recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Picture camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional picture~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# State of device picture recording~%uint8 state_ready=0 # The picture recording is ready~%uint8 state_busy=1 # The picture recording is busy~%uint8 state_notAvailable=2 # The picture recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Picture camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional picture~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3MediaRecordStatePictureStateChangedV2))) "Returns full string definition for message of type 'Ardrone3MediaRecordStatePictureStateChangedV2" - (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# State of device picture recording~%uint8 state_ready=0 # The picture recording is ready~%uint8 state_busy=1 # The picture recording is busy~%uint8 state_notAvailable=2 # The picture recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Picture camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional picture~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStatePictureStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture state.~%~%Header header~%~%# State of device picture recording~%uint8 state_ready=0 # The picture recording is ready~%uint8 state_busy=1 # The picture recording is busy~%uint8 state_notAvailable=2 # The picture recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Picture camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional picture~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.lisp index 6263db4..dfddfeb 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.lisp @@ -95,10 +95,10 @@ "478002c2ec614a227f494865922fd580") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3MediaRecordStateVideoResolutionState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video resolution.\\n Informs about streaming and recording video resolutions.\\n Note that this is only an indication about what the resolution should be. To know the real resolution, you should get it from the frame.~%~%Header header~%~%# Streaming resolution~%uint8 streaming_res360p=0 # 360p resolution.~%uint8 streaming_res480p=1 # 480p resolution.~%uint8 streaming_res720p=2 # 720p resolution.~%uint8 streaming_res1080p=3 # 1080p resolution.~%uint8 streaming~%# Recording resolution~%uint8 recording_res360p=0 # 360p resolution.~%uint8 recording_res480p=1 # 480p resolution.~%uint8 recording_res720p=2 # 720p resolution.~%uint8 recording_res1080p=3 # 1080p resolution.~%uint8 recording~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStateVideoResolutionState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video resolution.\\n Informs about streaming and recording video resolutions.\\n Note that this is only an indication about what the resolution should be. To know the real resolution, you should get it from the frame.~%~%Header header~%~%# Streaming resolution~%uint8 streaming_res360p=0 # 360p resolution.~%uint8 streaming_res480p=1 # 480p resolution.~%uint8 streaming_res720p=2 # 720p resolution.~%uint8 streaming_res1080p=3 # 1080p resolution.~%uint8 streaming~%# Recording resolution~%uint8 recording_res360p=0 # 360p resolution.~%uint8 recording_res480p=1 # 480p resolution.~%uint8 recording_res720p=2 # 720p resolution.~%uint8 recording_res1080p=3 # 1080p resolution.~%uint8 recording~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3MediaRecordStateVideoResolutionState))) "Returns full string definition for message of type 'Ardrone3MediaRecordStateVideoResolutionState" - (cl:format cl:nil "# Ardrone3MediaRecordStateVideoResolutionState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video resolution.\\n Informs about streaming and recording video resolutions.\\n Note that this is only an indication about what the resolution should be. To know the real resolution, you should get it from the frame.~%~%Header header~%~%# Streaming resolution~%uint8 streaming_res360p=0 # 360p resolution.~%uint8 streaming_res480p=1 # 480p resolution.~%uint8 streaming_res720p=2 # 720p resolution.~%uint8 streaming_res1080p=3 # 1080p resolution.~%uint8 streaming~%# Recording resolution~%uint8 recording_res360p=0 # 360p resolution.~%uint8 recording_res480p=1 # 480p resolution.~%uint8 recording_res720p=2 # 720p resolution.~%uint8 recording_res1080p=3 # 1080p resolution.~%uint8 recording~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStateVideoResolutionState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video resolution.\\n Informs about streaming and recording video resolutions.\\n Note that this is only an indication about what the resolution should be. To know the real resolution, you should get it from the frame.~%~%Header header~%~%# Streaming resolution~%uint8 streaming_res360p=0 # 360p resolution.~%uint8 streaming_res480p=1 # 480p resolution.~%uint8 streaming_res720p=2 # 720p resolution.~%uint8 streaming_res1080p=3 # 1080p resolution.~%uint8 streaming~%# Recording resolution~%uint8 recording_res360p=0 # 360p resolution.~%uint8 recording_res480p=1 # 480p resolution.~%uint8 recording_res720p=2 # 720p resolution.~%uint8 recording_res1080p=3 # 1080p resolution.~%uint8 recording~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.lisp index 0edb34d..3d3898b 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.lisp @@ -87,10 +87,10 @@ "367143a56607cca6e57e42c6e770ab2a") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture record state.~%~%Header header~%~%# State of video~%uint8 state_stopped=0 # Video was stopped~%uint8 state_started=1 # Video was started~%uint8 state_failed=2 # Video was failed~%uint8 state_autostopped=3 # Video was auto stopped~%uint8 state~%# Mass storage id where the video was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture record state.~%~%Header header~%~%# State of video~%uint8 state_stopped=0 # Video was stopped~%uint8 state_started=1 # Video was started~%uint8 state_failed=2 # Video was failed~%uint8 state_autostopped=3 # Video was auto stopped~%uint8 state~%# Mass storage id where the video was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3MediaRecordStateVideoStateChanged))) "Returns full string definition for message of type 'Ardrone3MediaRecordStateVideoStateChanged" - (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture record state.~%~%Header header~%~%# State of video~%uint8 state_stopped=0 # Video was stopped~%uint8 state_started=1 # Video was started~%uint8 state_failed=2 # Video was failed~%uint8 state_autostopped=3 # Video was auto stopped~%uint8 state~%# Mass storage id where the video was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Picture record state.~%~%Header header~%~%# State of video~%uint8 state_stopped=0 # Video was stopped~%uint8 state_started=1 # Video was started~%uint8 state_failed=2 # Video was failed~%uint8 state_autostopped=3 # Video was auto stopped~%uint8 state~%# Mass storage id where the video was recorded~%uint8 mass_storage_id~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.lisp index 4c8b9c7..512aa6d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.lisp @@ -95,10 +95,10 @@ "a340391fac53d7779ead611c124980e6") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video record state.~%~%Header header~%~%# State of device video recording~%uint8 state_stopped=0 # Video is stopped~%uint8 state_started=1 # Video is started~%uint8 state_notAvailable=2 # The video recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Video camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional video~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video record state.~%~%Header header~%~%# State of device video recording~%uint8 state_stopped=0 # Video is stopped~%uint8 state_started=1 # Video is started~%uint8 state_notAvailable=2 # The video recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Video camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional video~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3MediaRecordStateVideoStateChangedV2))) "Returns full string definition for message of type 'Ardrone3MediaRecordStateVideoStateChangedV2" - (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video record state.~%~%Header header~%~%# State of device video recording~%uint8 state_stopped=0 # Video is stopped~%uint8 state_started=1 # Video is started~%uint8 state_notAvailable=2 # The video recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Video camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional video~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaRecordStateVideoStateChangedV2~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video record state.~%~%Header header~%~%# State of device video recording~%uint8 state_stopped=0 # Video is stopped~%uint8 state_started=1 # Video is started~%uint8 state_notAvailable=2 # The video recording is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error_camera_ko=2 # Video camera is out of order~%uint8 error_memoryFull=3 # Memory full ; cannot save one additional video~%uint8 error_lowBattery=4 # Battery is too low to start/keep recording.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.lisp index b2e68cc..bd0d6f0 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.lisp @@ -73,10 +73,10 @@ "4647d465f8e97fd2dcb5f7341b70a007") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoEnableChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video stream state.~%~%Header header~%~%# Current video streaming status.~%uint8 enabled_enabled=0 # Video streaming is enabled.~%uint8 enabled_disabled=1 # Video streaming is disabled.~%uint8 enabled_error=2 # Video streaming failed to start.~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoEnableChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video stream state.~%~%Header header~%~%# Current video streaming status.~%uint8 enabled_enabled=0 # Video streaming is enabled.~%uint8 enabled_disabled=1 # Video streaming is disabled.~%uint8 enabled_error=2 # Video streaming failed to start.~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3MediaStreamingStateVideoEnableChanged))) "Returns full string definition for message of type 'Ardrone3MediaStreamingStateVideoEnableChanged" - (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoEnableChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video stream state.~%~%Header header~%~%# Current video streaming status.~%uint8 enabled_enabled=0 # Video streaming is enabled.~%uint8 enabled_disabled=1 # Video streaming is disabled.~%uint8 enabled_error=2 # Video streaming failed to start.~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoEnableChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Video stream state.~%~%Header header~%~%# Current video streaming status.~%uint8 enabled_enabled=0 # Video streaming is enabled.~%uint8 enabled_disabled=1 # Video streaming is disabled.~%uint8 enabled_error=2 # Video streaming failed to start.~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.lisp index 8a92d2f..9bc321d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.lisp @@ -73,10 +73,10 @@ "4a2bbaab0b63209c90ee07d53c0c62d1") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoStreamModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# stream mode~%uint8 mode_low_latency=0 # Minimize latency with average reliability (best for piloting).~%uint8 mode_high_reliability=1 # Maximize the reliability with an average latency (best when streaming quality is important but not the latency).~%uint8 mode_high_reliability_low_framerate=2 # Maximize the reliability using a framerate decimation with an average latency (best when streaming quality is important but not the latency).~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoStreamModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# stream mode~%uint8 mode_low_latency=0 # Minimize latency with average reliability (best for piloting).~%uint8 mode_high_reliability=1 # Maximize the reliability with an average latency (best when streaming quality is important but not the latency).~%uint8 mode_high_reliability_low_framerate=2 # Maximize the reliability using a framerate decimation with an average latency (best when streaming quality is important but not the latency).~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3MediaStreamingStateVideoStreamModeChanged))) "Returns full string definition for message of type 'Ardrone3MediaStreamingStateVideoStreamModeChanged" - (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoStreamModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# stream mode~%uint8 mode_low_latency=0 # Minimize latency with average reliability (best for piloting).~%uint8 mode_high_reliability=1 # Maximize the reliability with an average latency (best when streaming quality is important but not the latency).~%uint8 mode_high_reliability_low_framerate=2 # Maximize the reliability using a framerate decimation with an average latency (best when streaming quality is important but not the latency).~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3MediaStreamingStateVideoStreamModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# stream mode~%uint8 mode_low_latency=0 # Minimize latency with average reliability (best for piloting).~%uint8 mode_high_reliability=1 # Maximize the reliability with an average latency (best when streaming quality is important but not the latency).~%uint8 mode_high_reliability_low_framerate=2 # Maximize the reliability using a framerate decimation with an average latency (best when streaming quality is important but not the latency).~%uint8 mode~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.lisp index adb8685..213b52e 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.lisp @@ -49,10 +49,10 @@ "d7be0bb39af8fb9129d5a76e6b63a290") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3NetworkStateAllWifiAuthChannelChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels completed.\\n When receiving this event, the list of [AvailableWifiChannels](#1-14-2) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateAllWifiAuthChannelChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels completed.\\n When receiving this event, the list of [AvailableWifiChannels](#1-14-2) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3NetworkStateAllWifiAuthChannelChanged))) "Returns full string definition for message of type 'Ardrone3NetworkStateAllWifiAuthChannelChanged" - (cl:format cl:nil "# Ardrone3NetworkStateAllWifiAuthChannelChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels completed.\\n When receiving this event, the list of [AvailableWifiChannels](#1-14-2) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateAllWifiAuthChannelChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels completed.\\n When receiving this event, the list of [AvailableWifiChannels](#1-14-2) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.lisp index 1a5fb97..0a57bea 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.lisp @@ -49,10 +49,10 @@ "d7be0bb39af8fb9129d5a76e6b63a290") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3NetworkStateAllWifiScanChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan ended.\\n When receiving this event, the list of [WifiScanResults](#1-14-0) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateAllWifiScanChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan ended.\\n When receiving this event, the list of [WifiScanResults](#1-14-0) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3NetworkStateAllWifiScanChanged))) "Returns full string definition for message of type 'Ardrone3NetworkStateAllWifiScanChanged" - (cl:format cl:nil "# Ardrone3NetworkStateAllWifiScanChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan ended.\\n When receiving this event, the list of [WifiScanResults](#1-14-0) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateAllWifiScanChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan ended.\\n When receiving this event, the list of [WifiScanResults](#1-14-0) is complete.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.lisp index fef6c8d..2988d19 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.lisp @@ -95,10 +95,10 @@ "c7b1ccebf54f52f3836dbbe717c16c94") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3NetworkStateWifiAuthChannelListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels.\\n Please note that the list is not complete until you receive the event [AvailableWifiChannelsCompleted](#1-14-3).~%~%Header header~%~%# The band of this channel : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# The authorized channel.~%uint8 channel~%# Bit 0 is 1 if channel is authorized outside (0 otherwise) ; Bit 1 is 1 if channel is authorized inside (0 otherwise)~%uint8 in_or_out~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateWifiAuthChannelListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels.\\n Please note that the list is not complete until you receive the event [AvailableWifiChannelsCompleted](#1-14-3).~%~%Header header~%~%# The band of this channel : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# The authorized channel.~%uint8 channel~%# Bit 0 is 1 if channel is authorized outside (0 otherwise) ; Bit 1 is 1 if channel is authorized inside (0 otherwise)~%uint8 in_or_out~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3NetworkStateWifiAuthChannelListChanged))) "Returns full string definition for message of type 'Ardrone3NetworkStateWifiAuthChannelListChanged" - (cl:format cl:nil "# Ardrone3NetworkStateWifiAuthChannelListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels.\\n Please note that the list is not complete until you receive the event [AvailableWifiChannelsCompleted](#1-14-3).~%~%Header header~%~%# The band of this channel : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# The authorized channel.~%uint8 channel~%# Bit 0 is 1 if channel is authorized outside (0 otherwise) ; Bit 1 is 1 if channel is authorized inside (0 otherwise)~%uint8 in_or_out~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateWifiAuthChannelListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Available wifi channels.\\n Please note that the list is not complete until you receive the event [AvailableWifiChannelsCompleted](#1-14-3).~%~%Header header~%~%# The band of this channel : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# The authorized channel.~%uint8 channel~%# Bit 0 is 1 if channel is authorized outside (0 otherwise) ; Bit 1 is 1 if channel is authorized inside (0 otherwise)~%uint8 in_or_out~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.lisp index e143a03..492bc3a 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.lisp @@ -125,10 +125,10 @@ "887b79816b1cfc1c69c34200f03104a8") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3NetworkStateWifiScanListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan results.\\n Please note that the list is not complete until you receive the event [WifiScanEnded](#1-14-1).~%~%Header header~%~%# SSID of the AP~%string ssid~%# RSSI of the AP in dbm (negative value)~%int16 rssi~%# The band : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# Channel of the AP~%uint8 channel~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateWifiScanListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan results.\\n Please note that the list is not complete until you receive the event [WifiScanEnded](#1-14-1).~%~%Header header~%~%# SSID of the AP~%string ssid~%# RSSI of the AP in dbm (negative value)~%int16 rssi~%# The band : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# Channel of the AP~%uint8 channel~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3NetworkStateWifiScanListChanged))) "Returns full string definition for message of type 'Ardrone3NetworkStateWifiScanListChanged" - (cl:format cl:nil "# Ardrone3NetworkStateWifiScanListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan results.\\n Please note that the list is not complete until you receive the event [WifiScanEnded](#1-14-1).~%~%Header header~%~%# SSID of the AP~%string ssid~%# RSSI of the AP in dbm (negative value)~%int16 rssi~%# The band : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# Channel of the AP~%uint8 channel~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3NetworkStateWifiScanListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Wifi scan results.\\n Please note that the list is not complete until you receive the event [WifiScanEnded](#1-14-1).~%~%Header header~%~%# SSID of the AP~%string ssid~%# RSSI of the AP in dbm (negative value)~%int16 rssi~%# The band : 2.4 GHz or 5 GHz~%uint8 band_2_4ghz=0 # 2.4 GHz band~%uint8 band_5ghz=1 # 5 GHz band~%uint8 band~%# Channel of the AP~%uint8 channel~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.lisp index 87233e5..759f864 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.lisp @@ -75,10 +75,10 @@ "46f306a2a04707d5805d22a04d72b46e") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PROStateFeatures~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Pro features.~%~%Header header~%~%# Bitfield representing enabled features.~%uint64 features~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PROStateFeatures~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Pro features.~%~%Header header~%~%# Bitfield representing enabled features.~%uint64 features~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PROStateFeatures))) "Returns full string definition for message of type 'Ardrone3PROStateFeatures" - (cl:format cl:nil "# Ardrone3PROStateFeatures~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Pro features.~%~%Header header~%~%# Bitfield representing enabled features.~%uint64 features~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PROStateFeatures~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Pro features.~%~%Header header~%~%# Bitfield representing enabled features.~%uint64 features~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.lisp index b209973..b8be00d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.lisp @@ -70,10 +70,10 @@ "35ac9dc6b6c80598705871c83379a4f9") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateAirSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones air speed changed\\n Expressed in the drones referential.~%~%Header header~%~%# Speed relative to air on x axis (speed is always > 0) (in m/s)~%float32 airSpeed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAirSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones air speed changed\\n Expressed in the drones referential.~%~%Header header~%~%# Speed relative to air on x axis (speed is always > 0) (in m/s)~%float32 airSpeed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateAirSpeedChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateAirSpeedChanged" - (cl:format cl:nil "# Ardrone3PilotingStateAirSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones air speed changed\\n Expressed in the drones referential.~%~%Header header~%~%# Speed relative to air on x axis (speed is always > 0) (in m/s)~%float32 airSpeed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAirSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones air speed changed\\n Expressed in the drones referential.~%~%Header header~%~%# Speed relative to air on x axis (speed is always > 0) (in m/s)~%float32 airSpeed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.lisp index 227e97c..e6c538d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.lisp @@ -79,10 +79,10 @@ "c40d562736a7573efc225e24b8785de0") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateAlertStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Alert state.~%~%Header header~%~%# Drone alert state~%uint8 state_none=0 # No alert~%uint8 state_user=1 # User emergency alert~%uint8 state_cut_out=2 # Cut out alert~%uint8 state_critical_battery=3 # Critical battery alert~%uint8 state_low_battery=4 # Low battery alert~%uint8 state_too_much_angle=5 # The angle of the drone is too high~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAlertStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Alert state.~%~%Header header~%~%# Drone alert state~%uint8 state_none=0 # No alert~%uint8 state_user=1 # User emergency alert~%uint8 state_cut_out=2 # Cut out alert~%uint8 state_critical_battery=3 # Critical battery alert~%uint8 state_low_battery=4 # Low battery alert~%uint8 state_too_much_angle=5 # The angle of the drone is too high~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateAlertStateChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateAlertStateChanged" - (cl:format cl:nil "# Ardrone3PilotingStateAlertStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Alert state.~%~%Header header~%~%# Drone alert state~%uint8 state_none=0 # No alert~%uint8 state_user=1 # User emergency alert~%uint8 state_cut_out=2 # Cut out alert~%uint8 state_critical_battery=3 # Critical battery alert~%uint8 state_low_battery=4 # Low battery alert~%uint8 state_too_much_angle=5 # The angle of the drone is too high~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAlertStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Alert state.~%~%Header header~%~%# Drone alert state~%uint8 state_none=0 # No alert~%uint8 state_user=1 # User emergency alert~%uint8 state_cut_out=2 # Cut out alert~%uint8 state_critical_battery=3 # Critical battery alert~%uint8 state_low_battery=4 # Low battery alert~%uint8 state_too_much_angle=5 # The angle of the drone is too high~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.lisp index 212de9e..4651f34 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.lisp @@ -78,10 +78,10 @@ "5073f650d09c8192d358641b48a0204b") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateAltitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones altitude changed.\\n The altitude reported is the altitude above the take off point.\\n To get the altitude above sea level, see [PositionChanged](#1-4-4).~%~%Header header~%~%# Altitude in meters~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAltitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones altitude changed.\\n The altitude reported is the altitude above the take off point.\\n To get the altitude above sea level, see [PositionChanged](#1-4-4).~%~%Header header~%~%# Altitude in meters~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateAltitudeChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateAltitudeChanged" - (cl:format cl:nil "# Ardrone3PilotingStateAltitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones altitude changed.\\n The altitude reported is the altitude above the take off point.\\n To get the altitude above sea level, see [PositionChanged](#1-4-4).~%~%Header header~%~%# Altitude in meters~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAltitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones altitude changed.\\n The altitude reported is the altitude above the take off point.\\n To get the altitude above sea level, see [PositionChanged](#1-4-4).~%~%Header header~%~%# Altitude in meters~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.lisp index c318b4b..45de44d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.lisp @@ -112,10 +112,10 @@ "e16d253ac46e3d525d41cd25c5023ecc") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateAttitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones attitude changed.~%~%Header header~%~%# roll value (in radian)~%float32 roll~%# Pitch value (in radian)~%float32 pitch~%# Yaw value (in radian)~%float32 yaw~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAttitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones attitude changed.~%~%Header header~%~%# roll value (in radian)~%float32 roll~%# Pitch value (in radian)~%float32 pitch~%# Yaw value (in radian)~%float32 yaw~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateAttitudeChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateAttitudeChanged" - (cl:format cl:nil "# Ardrone3PilotingStateAttitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones attitude changed.~%~%Header header~%~%# roll value (in radian)~%float32 roll~%# Pitch value (in radian)~%float32 pitch~%# Yaw value (in radian)~%float32 yaw~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAttitudeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones attitude changed.~%~%Header header~%~%# roll value (in radian)~%float32 roll~%# Pitch value (in radian)~%float32 pitch~%# Yaw value (in radian)~%float32 yaw~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.lisp index 9f7a289..5dec4c0 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.lisp @@ -61,10 +61,10 @@ "da95463f5af1db345e11ec4ce9b23d3f") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateAutoTakeOffModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Auto takeoff mode~%~%Header header~%~%# State of automatic take off mode (1 if enabled)~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAutoTakeOffModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Auto takeoff mode~%~%Header header~%~%# State of automatic take off mode (1 if enabled)~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateAutoTakeOffModeChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateAutoTakeOffModeChanged" - (cl:format cl:nil "# Ardrone3PilotingStateAutoTakeOffModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Auto takeoff mode~%~%Header header~%~%# State of automatic take off mode (1 if enabled)~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateAutoTakeOffModeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Auto takeoff mode~%~%Header header~%~%# State of automatic take off mode (1 if enabled)~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.lisp index c5a1bb8..fbc43c7 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.lisp @@ -49,10 +49,10 @@ "d7be0bb39af8fb9129d5a76e6b63a290") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateFlatTrimChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drone acknowledges that flat trim was correctly processed.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateFlatTrimChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drone acknowledges that flat trim was correctly processed.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateFlatTrimChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateFlatTrimChanged" - (cl:format cl:nil "# Ardrone3PilotingStateFlatTrimChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drone acknowledges that flat trim was correctly processed.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateFlatTrimChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drone acknowledges that flat trim was correctly processed.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.lisp index 95249c2..eee405d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.lisp @@ -85,10 +85,10 @@ "f628b761a9125ace909b8b2c789eb09e") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateFlyingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Flying state.~%~%Header header~%~%# Drone flying state~%uint8 state_landed=0 # Landed state~%uint8 state_takingoff=1 # Taking off state~%uint8 state_hovering=2 # Hovering / Circling (for fixed wings) state~%uint8 state_flying=3 # Flying state~%uint8 state_landing=4 # Landing state~%uint8 state_emergency=5 # Emergency state~%uint8 state_usertakeoff=6 # User take off state. Waiting for user action to take off.~%uint8 state_motor_ramping=7 # Motor ramping state (for fixed wings).~%uint8 state_emergency_landing=8 # Emergency landing state. Drone autopilot has detected defective sensor(s). Only Yaw argument in PCMD is taken into account. All others flying commands are ignored.~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateFlyingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Flying state.~%~%Header header~%~%# Drone flying state~%uint8 state_landed=0 # Landed state~%uint8 state_takingoff=1 # Taking off state~%uint8 state_hovering=2 # Hovering / Circling (for fixed wings) state~%uint8 state_flying=3 # Flying state~%uint8 state_landing=4 # Landing state~%uint8 state_emergency=5 # Emergency state~%uint8 state_usertakeoff=6 # User take off state. Waiting for user action to take off.~%uint8 state_motor_ramping=7 # Motor ramping state (for fixed wings).~%uint8 state_emergency_landing=8 # Emergency landing state. Drone autopilot has detected defective sensor(s). Only Yaw argument in PCMD is taken into account. All others flying commands are ignored.~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateFlyingStateChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateFlyingStateChanged" - (cl:format cl:nil "# Ardrone3PilotingStateFlyingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Flying state.~%~%Header header~%~%# Drone flying state~%uint8 state_landed=0 # Landed state~%uint8 state_takingoff=1 # Taking off state~%uint8 state_hovering=2 # Hovering / Circling (for fixed wings) state~%uint8 state_flying=3 # Flying state~%uint8 state_landing=4 # Landing state~%uint8 state_emergency=5 # Emergency state~%uint8 state_usertakeoff=6 # User take off state. Waiting for user action to take off.~%uint8 state_motor_ramping=7 # Motor ramping state (for fixed wings).~%uint8 state_emergency_landing=8 # Emergency landing state. Drone autopilot has detected defective sensor(s). Only Yaw argument in PCMD is taken into account. All others flying commands are ignored.~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateFlyingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Flying state.~%~%Header header~%~%# Drone flying state~%uint8 state_landed=0 # Landed state~%uint8 state_takingoff=1 # Taking off state~%uint8 state_hovering=2 # Hovering / Circling (for fixed wings) state~%uint8 state_flying=3 # Flying state~%uint8 state_landing=4 # Landing state~%uint8 state_emergency=5 # Emergency state~%uint8 state_usertakeoff=6 # User take off state. Waiting for user action to take off.~%uint8 state_motor_ramping=7 # Motor ramping state (for fixed wings).~%uint8 state_emergency_landing=8 # Emergency landing state. Drone autopilot has detected defective sensor(s). Only Yaw argument in PCMD is taken into account. All others flying commands are ignored.~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.lisp index 9358aae..cc45de6 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.lisp @@ -184,10 +184,10 @@ "ac3eedcc2193887dd8d2257bf807fbae") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateGpsLocationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones location changed.\\n This event is meant to replace [PositionChanged](#1-4-4).~%~%Header header~%~%# Latitude location in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude location in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude location in meters.~%float64 altitude~%# Latitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 latitude_accuracy~%# Longitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 longitude_accuracy~%# Altitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 altitude_accuracy~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateGpsLocationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones location changed.\\n This event is meant to replace [PositionChanged](#1-4-4).~%~%Header header~%~%# Latitude location in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude location in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude location in meters.~%float64 altitude~%# Latitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 latitude_accuracy~%# Longitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 longitude_accuracy~%# Altitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 altitude_accuracy~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateGpsLocationChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateGpsLocationChanged" - (cl:format cl:nil "# Ardrone3PilotingStateGpsLocationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones location changed.\\n This event is meant to replace [PositionChanged](#1-4-4).~%~%Header header~%~%# Latitude location in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude location in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude location in meters.~%float64 altitude~%# Latitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 latitude_accuracy~%# Longitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 longitude_accuracy~%# Altitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 altitude_accuracy~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateGpsLocationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones location changed.\\n This event is meant to replace [PositionChanged](#1-4-4).~%~%Header header~%~%# Latitude location in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude location in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude location in meters.~%float64 altitude~%# Latitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 latitude_accuracy~%# Longitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 longitude_accuracy~%# Altitude location error in meters (1 sigma/standard deviation) -1 if not available.~%int8 altitude_accuracy~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.lisp index 106d0f1..860c2a3 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.lisp @@ -71,10 +71,10 @@ "9cfc779639f11cdcc053988fd10033e0") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateLandingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Landing state.\\n Only available for fixed wings (which have two landing modes).~%~%Header header~%~%# Drone landing state~%uint8 state_linear=0 # Linear landing~%uint8 state_spiral=1 # Spiral landing~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateLandingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Landing state.\\n Only available for fixed wings (which have two landing modes).~%~%Header header~%~%# Drone landing state~%uint8 state_linear=0 # Linear landing~%uint8 state_spiral=1 # Spiral landing~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateLandingStateChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateLandingStateChanged" - (cl:format cl:nil "# Ardrone3PilotingStateLandingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Landing state.\\n Only available for fixed wings (which have two landing modes).~%~%Header header~%~%# Drone landing state~%uint8 state_linear=0 # Linear landing~%uint8 state_spiral=1 # Spiral landing~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateLandingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Landing state.\\n Only available for fixed wings (which have two landing modes).~%~%Header header~%~%# Drone landing state~%uint8 state_linear=0 # Linear landing~%uint8 state_spiral=1 # Spiral landing~%uint8 state~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.lisp index b7e44c5..3feaded 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.lisp @@ -101,10 +101,10 @@ "a0ed1aa9e290b08479307e09890d8141") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateNavigateHomeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Return home state.\\n Availability is related to gps fix, magnetometer calibration.~%~%Header header~%~%# State of navigate home~%uint8 state_available=0 # Navigate home is available~%uint8 state_inProgress=1 # Navigate home is in progress~%uint8 state_unavailable=2 # Navigate home is not available~%uint8 state_pending=3 # Navigate home has been received, but its process is pending~%uint8 state~%# Reason of the state~%uint8 reason_userRequest=0 # User requested a navigate home (available->inProgress)~%uint8 reason_connectionLost=1 # Connection between controller and product lost (available->inProgress)~%uint8 reason_lowBattery=2 # Low battery occurred (available->inProgress)~%uint8 reason_finished=3 # Navigate home is finished (inProgress->available)~%uint8 reason_stopped=4 # Navigate home has been stopped (inProgress->available)~%uint8 reason_disabled=5 # Navigate home disabled by product (inProgress->unavailable or available->unavailable)~%uint8 reason_enabled=6 # Navigate home enabled by product (unavailable->available)~%uint8 reason~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateNavigateHomeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Return home state.\\n Availability is related to gps fix, magnetometer calibration.~%~%Header header~%~%# State of navigate home~%uint8 state_available=0 # Navigate home is available~%uint8 state_inProgress=1 # Navigate home is in progress~%uint8 state_unavailable=2 # Navigate home is not available~%uint8 state_pending=3 # Navigate home has been received, but its process is pending~%uint8 state~%# Reason of the state~%uint8 reason_userRequest=0 # User requested a navigate home (available->inProgress)~%uint8 reason_connectionLost=1 # Connection between controller and product lost (available->inProgress)~%uint8 reason_lowBattery=2 # Low battery occurred (available->inProgress)~%uint8 reason_finished=3 # Navigate home is finished (inProgress->available)~%uint8 reason_stopped=4 # Navigate home has been stopped (inProgress->available)~%uint8 reason_disabled=5 # Navigate home disabled by product (inProgress->unavailable or available->unavailable)~%uint8 reason_enabled=6 # Navigate home enabled by product (unavailable->available)~%uint8 reason~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateNavigateHomeStateChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateNavigateHomeStateChanged" - (cl:format cl:nil "# Ardrone3PilotingStateNavigateHomeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Return home state.\\n Availability is related to gps fix, magnetometer calibration.~%~%Header header~%~%# State of navigate home~%uint8 state_available=0 # Navigate home is available~%uint8 state_inProgress=1 # Navigate home is in progress~%uint8 state_unavailable=2 # Navigate home is not available~%uint8 state_pending=3 # Navigate home has been received, but its process is pending~%uint8 state~%# Reason of the state~%uint8 reason_userRequest=0 # User requested a navigate home (available->inProgress)~%uint8 reason_connectionLost=1 # Connection between controller and product lost (available->inProgress)~%uint8 reason_lowBattery=2 # Low battery occurred (available->inProgress)~%uint8 reason_finished=3 # Navigate home is finished (inProgress->available)~%uint8 reason_stopped=4 # Navigate home has been stopped (inProgress->available)~%uint8 reason_disabled=5 # Navigate home disabled by product (inProgress->unavailable or available->unavailable)~%uint8 reason_enabled=6 # Navigate home enabled by product (unavailable->available)~%uint8 reason~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateNavigateHomeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Return home state.\\n Availability is related to gps fix, magnetometer calibration.~%~%Header header~%~%# State of navigate home~%uint8 state_available=0 # Navigate home is available~%uint8 state_inProgress=1 # Navigate home is in progress~%uint8 state_unavailable=2 # Navigate home is not available~%uint8 state_pending=3 # Navigate home has been received, but its process is pending~%uint8 state~%# Reason of the state~%uint8 reason_userRequest=0 # User requested a navigate home (available->inProgress)~%uint8 reason_connectionLost=1 # Connection between controller and product lost (available->inProgress)~%uint8 reason_lowBattery=2 # Low battery occurred (available->inProgress)~%uint8 reason_finished=3 # Navigate home is finished (inProgress->available)~%uint8 reason_stopped=4 # Navigate home has been stopped (inProgress->available)~%uint8 reason_disabled=5 # Navigate home disabled by product (inProgress->unavailable or available->unavailable)~%uint8 reason_enabled=6 # Navigate home enabled by product (unavailable->available)~%uint8 reason~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.lisp index 7dd603d..eb6abd2 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.lisp @@ -136,10 +136,10 @@ "efcb5e90e0d4480435ca44db61865c3b") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStatePositionChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones position changed.~%~%Header header~%~%# Latitude position in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude position in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude in meters (from GPS)~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStatePositionChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones position changed.~%~%Header header~%~%# Latitude position in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude position in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude in meters (from GPS)~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStatePositionChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStatePositionChanged" - (cl:format cl:nil "# Ardrone3PilotingStatePositionChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones position changed.~%~%Header header~%~%# Latitude position in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude position in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude in meters (from GPS)~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStatePositionChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones position changed.~%~%Header header~%~%# Latitude position in decimal degrees (500.0 if not available)~%float64 latitude~%# Longitude position in decimal degrees (500.0 if not available)~%float64 longitude~%# Altitude in meters (from GPS)~%float64 altitude~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.lisp index 17ec82d..b00452a 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.lisp @@ -112,10 +112,10 @@ "a8b7ba33cedd9aff188b6d7cc81fcfab") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStateSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones speed changed.\\n Expressed in the NED referential (North-East-Down).~%~%Header header~%~%# Speed relative to the North (when drone moves to the north, speed is > 0) (in m/s)~%float32 speedX~%# Speed relative to the East (when drone moves to the east, speed is > 0) (in m/s)~%float32 speedY~%# Speed on the z axis (when drone moves down, speed is > 0) (in m/s)~%float32 speedZ~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones speed changed.\\n Expressed in the NED referential (North-East-Down).~%~%Header header~%~%# Speed relative to the North (when drone moves to the north, speed is > 0) (in m/s)~%float32 speedX~%# Speed relative to the East (when drone moves to the east, speed is > 0) (in m/s)~%float32 speedY~%# Speed on the z axis (when drone moves down, speed is > 0) (in m/s)~%float32 speedZ~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStateSpeedChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStateSpeedChanged" - (cl:format cl:nil "# Ardrone3PilotingStateSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones speed changed.\\n Expressed in the NED referential (North-East-Down).~%~%Header header~%~%# Speed relative to the North (when drone moves to the north, speed is > 0) (in m/s)~%float32 speedX~%# Speed relative to the East (when drone moves to the east, speed is > 0) (in m/s)~%float32 speedY~%# Speed on the z axis (when drone moves down, speed is > 0) (in m/s)~%float32 speedZ~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStateSpeedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Drones speed changed.\\n Expressed in the NED referential (North-East-Down).~%~%Header header~%~%# Speed relative to the North (when drone moves to the north, speed is > 0) (in m/s)~%float32 speedX~%# Speed relative to the East (when drone moves to the east, speed is > 0) (in m/s)~%float32 speedY~%# Speed on the z axis (when drone moves down, speed is > 0) (in m/s)~%float32 speedZ~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.lisp index e19486b..6059ee9 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.lisp @@ -203,10 +203,10 @@ "f356580a128658358cde541e12e3218b") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# Ardrone3PilotingStatemoveToChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: The drone moves or moved to a given location.~%~%Header header~%~%# Latitude of the location (in degrees) to reach~%float64 latitude~%# Longitude of the location (in degrees) to reach~%float64 longitude~%# Altitude above sea level (in m) to reach~%float64 altitude~%# Orientation mode of the move to~%uint8 orientation_mode_NONE=0 # The drone wont change its orientation~%uint8 orientation_mode_TO_TARGET=1 # The drone will make a rotation to look in direction of the given location~%uint8 orientation_mode_HEADING_START=2 # The drone will orientate itself to the given heading before moving to the location~%uint8 orientation_mode_HEADING_DURING=3 # The drone will orientate itself to the given heading while moving to the location~%uint8 orientation_mode~%# Heading (relative to the North in degrees). This value is only used if the orientation mode is HEADING_START or HEADING_DURING~%float32 heading~%# Status of the move to~%uint8 status_RUNNING=0 # The drone is actually flying to the given position~%uint8 status_DONE=1 # The drone has reached the target~%uint8 status_CANCELED=2 # The move to has been canceled, either by a new moveTo command or by a CancelMoveTo command.~%uint8 status_ERROR=3 # The move to has not been finished or started because of an error.~%uint8 status~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStatemoveToChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: The drone moves or moved to a given location.~%~%Header header~%~%# Latitude of the location (in degrees) to reach~%float64 latitude~%# Longitude of the location (in degrees) to reach~%float64 longitude~%# Altitude above sea level (in m) to reach~%float64 altitude~%# Orientation mode of the move to~%uint8 orientation_mode_NONE=0 # The drone wont change its orientation~%uint8 orientation_mode_TO_TARGET=1 # The drone will make a rotation to look in direction of the given location~%uint8 orientation_mode_HEADING_START=2 # The drone will orientate itself to the given heading before moving to the location~%uint8 orientation_mode_HEADING_DURING=3 # The drone will orientate itself to the given heading while moving to the location~%uint8 orientation_mode~%# Heading (relative to the North in degrees). This value is only used if the orientation mode is HEADING_START or HEADING_DURING~%float32 heading~%# Status of the move to~%uint8 status_RUNNING=0 # The drone is actually flying to the given position~%uint8 status_DONE=1 # The drone has reached the target~%uint8 status_CANCELED=2 # The move to has been canceled, either by a new moveTo command or by a CancelMoveTo command.~%uint8 status_ERROR=3 # The move to has not been finished or started because of an error.~%uint8 status~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'Ardrone3PilotingStatemoveToChanged))) "Returns full string definition for message of type 'Ardrone3PilotingStatemoveToChanged" - (cl:format cl:nil "# Ardrone3PilotingStatemoveToChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: The drone moves or moved to a given location.~%~%Header header~%~%# Latitude of the location (in degrees) to reach~%float64 latitude~%# Longitude of the location (in degrees) to reach~%float64 longitude~%# Altitude above sea level (in m) to reach~%float64 altitude~%# Orientation mode of the move to~%uint8 orientation_mode_NONE=0 # The drone wont change its orientation~%uint8 orientation_mode_TO_TARGET=1 # The drone will make a rotation to look in direction of the given location~%uint8 orientation_mode_HEADING_START=2 # The drone will orientate itself to the given heading before moving to the location~%uint8 orientation_mode_HEADING_DURING=3 # The drone will orientate itself to the given heading while moving to the location~%uint8 orientation_mode~%# Heading (relative to the North in degrees). This value is only used if the orientation mode is HEADING_START or HEADING_DURING~%float32 heading~%# Status of the move to~%uint8 status_RUNNING=0 # The drone is actually flying to the given position~%uint8 status_DONE=1 # The drone has reached the target~%uint8 status_CANCELED=2 # The move to has been canceled, either by a new moveTo command or by a CancelMoveTo command.~%uint8 status_ERROR=3 # The move to has not been finished or started because of an error.~%uint8 status~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# Ardrone3PilotingStatemoveToChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: The drone moves or moved to a given location.~%~%Header header~%~%# Latitude of the location (in degrees) to reach~%float64 latitude~%# Longitude of the location (in degrees) to reach~%float64 longitude~%# Altitude above sea level (in m) to reach~%float64 altitude~%# Orientation mode of the move to~%uint8 orientation_mode_NONE=0 # The drone wont change its orientation~%uint8 orientation_mode_TO_TARGET=1 # The drone will make a rotation to look in direction of the given location~%uint8 orientation_mode_HEADING_START=2 # The drone will orientate itself to the given heading before moving to the location~%uint8 orientation_mode_HEADING_DURING=3 # The drone will orientate itself to the given heading while moving to the location~%uint8 orientation_mode~%# Heading (relative to the North in degrees). This value is only used if the orientation mode is HEADING_START or HEADING_DURING~%float32 heading~%# Status of the move to~%uint8 status_RUNNING=0 # The drone is actually flying to the given position~%uint8 status_DONE=1 # The drone has reached the target~%uint8 status_CANCELED=2 # The move to has been canceled, either by a new moveTo command or by a CancelMoveTo command.~%uint8 status_ERROR=3 # The move to has not been finished or started because of an error.~%uint8 status~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.lisp index 2cbb709..970d943 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.lisp @@ -73,10 +73,10 @@ "5c334c4f3ab8d1ba8b608eeadaa52a06") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonARLibsVersionsStateControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonARLibsVersionsStateControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonARLibsVersionsStateControllerLibARCommandsVersion))) "Returns full string definition for message of type 'CommonARLibsVersionsStateControllerLibARCommandsVersion" - (cl:format cl:nil "# CommonARLibsVersionsStateControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonARLibsVersionsStateControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.lisp index 6eda59a..f503118 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.lisp @@ -73,10 +73,10 @@ "5c334c4f3ab8d1ba8b608eeadaa52a06") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonARLibsVersionsStateDeviceLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonARLibsVersionsStateDeviceLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonARLibsVersionsStateDeviceLibARCommandsVersion))) "Returns full string definition for message of type 'CommonARLibsVersionsStateDeviceLibARCommandsVersion" - (cl:format cl:nil "# CommonARLibsVersionsStateDeviceLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonARLibsVersionsStateDeviceLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.lisp index 53bc729..4f73494 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.lisp @@ -73,10 +73,10 @@ "5c334c4f3ab8d1ba8b608eeadaa52a06") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonARLibsVersionsStateSkyControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonARLibsVersionsStateSkyControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonARLibsVersionsStateSkyControllerLibARCommandsVersion))) "Returns full string definition for message of type 'CommonARLibsVersionsStateSkyControllerLibARCommandsVersion" - (cl:format cl:nil "# CommonARLibsVersionsStateSkyControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonARLibsVersionsStateSkyControllerLibARCommandsVersion~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# version of libARCommands (1.2.3.4 format)~%string version~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.lisp index 232f526..4aef991 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.lisp @@ -99,10 +99,10 @@ "e157f9e28ff119a959d19b46621057dd") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Accessory config.~%~%Header header~%~%# Accessory configuration reported by firmware.~%uint8 newAccessory_UNCONFIGURED=0 # No accessory configuration set. Controller needs to set one.~%uint8 newAccessory_NO_ACCESSORY=1 # No accessory.~%uint8 newAccessory_STD_WHEELS=2 # Standard wheels~%uint8 newAccessory_TRUCK_WHEELS=3 # Truck wheels~%uint8 newAccessory_HULL=4 # Hull~%uint8 newAccessory_HYDROFOIL=5 # Hydrofoil~%uint8 newAccessory_IN_PROGRESS=6 # Configuration in progress.~%uint8 newAccessory~%# Error code.~%uint8 error_OK=0 # No error. Accessory config change successful.~%uint8 error_UNKNOWN=1 # Cannot change accessory configuration for some reason.~%uint8 error_FLYING=2 # Cannot change accessory configuration while flying.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Accessory config.~%~%Header header~%~%# Accessory configuration reported by firmware.~%uint8 newAccessory_UNCONFIGURED=0 # No accessory configuration set. Controller needs to set one.~%uint8 newAccessory_NO_ACCESSORY=1 # No accessory.~%uint8 newAccessory_STD_WHEELS=2 # Standard wheels~%uint8 newAccessory_TRUCK_WHEELS=3 # Truck wheels~%uint8 newAccessory_HULL=4 # Hull~%uint8 newAccessory_HYDROFOIL=5 # Hydrofoil~%uint8 newAccessory_IN_PROGRESS=6 # Configuration in progress.~%uint8 newAccessory~%# Error code.~%uint8 error_OK=0 # No error. Accessory config change successful.~%uint8 error_UNKNOWN=1 # Cannot change accessory configuration for some reason.~%uint8 error_FLYING=2 # Cannot change accessory configuration while flying.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonAccessoryStateAccessoryConfigChanged))) "Returns full string definition for message of type 'CommonAccessoryStateAccessoryConfigChanged" - (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Accessory config.~%~%Header header~%~%# Accessory configuration reported by firmware.~%uint8 newAccessory_UNCONFIGURED=0 # No accessory configuration set. Controller needs to set one.~%uint8 newAccessory_NO_ACCESSORY=1 # No accessory.~%uint8 newAccessory_STD_WHEELS=2 # Standard wheels~%uint8 newAccessory_TRUCK_WHEELS=3 # Truck wheels~%uint8 newAccessory_HULL=4 # Hull~%uint8 newAccessory_HYDROFOIL=5 # Hydrofoil~%uint8 newAccessory_IN_PROGRESS=6 # Configuration in progress.~%uint8 newAccessory~%# Error code.~%uint8 error_OK=0 # No error. Accessory config change successful.~%uint8 error_UNKNOWN=1 # Cannot change accessory configuration for some reason.~%uint8 error_FLYING=2 # Cannot change accessory configuration while flying.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Accessory config.~%~%Header header~%~%# Accessory configuration reported by firmware.~%uint8 newAccessory_UNCONFIGURED=0 # No accessory configuration set. Controller needs to set one.~%uint8 newAccessory_NO_ACCESSORY=1 # No accessory.~%uint8 newAccessory_STD_WHEELS=2 # Standard wheels~%uint8 newAccessory_TRUCK_WHEELS=3 # Truck wheels~%uint8 newAccessory_HULL=4 # Hull~%uint8 newAccessory_HYDROFOIL=5 # Hydrofoil~%uint8 newAccessory_IN_PROGRESS=6 # Configuration in progress.~%uint8 newAccessory~%# Error code.~%uint8 error_OK=0 # No error. Accessory config change successful.~%uint8 error_UNKNOWN=1 # Cannot change accessory configuration for some reason.~%uint8 error_FLYING=2 # Cannot change accessory configuration while flying.~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.lisp index 434d36e..54f7ac5 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.lisp @@ -61,10 +61,10 @@ "fce93efbb8b61357f131a1998ab02e91") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigModificationEnabled~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Availability to declare or not an accessory.~%~%Header header~%~%# 1 if the modification of the accessory Config is enabled, 0 otherwise~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigModificationEnabled~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Availability to declare or not an accessory.~%~%Header header~%~%# 1 if the modification of the accessory Config is enabled, 0 otherwise~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonAccessoryStateAccessoryConfigModificationEnabled))) "Returns full string definition for message of type 'CommonAccessoryStateAccessoryConfigModificationEnabled" - (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigModificationEnabled~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Availability to declare or not an accessory.~%~%Header header~%~%# 1 if the modification of the accessory Config is enabled, 0 otherwise~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAccessoryStateAccessoryConfigModificationEnabled~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Availability to declare or not an accessory.~%~%Header header~%~%# 1 if the modification of the accessory Config is enabled, 0 otherwise~%uint8 enabled~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.lisp index be8c385..09b50f1 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.lisp @@ -77,10 +77,10 @@ "5c5ca2fc44e5f348a92c49ef9e03b7d2") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonAccessoryStateSupportedAccessoriesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Supported accessories list.~%~%Header header~%~%# Accessory configurations supported by the product.~%uint8 accessory_NO_ACCESSORY=0 # No accessory.~%uint8 accessory_STD_WHEELS=1 # Standard wheels~%uint8 accessory_TRUCK_WHEELS=2 # Truck wheels~%uint8 accessory_HULL=3 # Hull~%uint8 accessory_HYDROFOIL=4 # Hydrofoil~%uint8 accessory~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAccessoryStateSupportedAccessoriesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Supported accessories list.~%~%Header header~%~%# Accessory configurations supported by the product.~%uint8 accessory_NO_ACCESSORY=0 # No accessory.~%uint8 accessory_STD_WHEELS=1 # Standard wheels~%uint8 accessory_TRUCK_WHEELS=2 # Truck wheels~%uint8 accessory_HULL=3 # Hull~%uint8 accessory_HYDROFOIL=4 # Hydrofoil~%uint8 accessory~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonAccessoryStateSupportedAccessoriesListChanged))) "Returns full string definition for message of type 'CommonAccessoryStateSupportedAccessoriesListChanged" - (cl:format cl:nil "# CommonAccessoryStateSupportedAccessoriesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Supported accessories list.~%~%Header header~%~%# Accessory configurations supported by the product.~%uint8 accessory_NO_ACCESSORY=0 # No accessory.~%uint8 accessory_STD_WHEELS=1 # Standard wheels~%uint8 accessory_TRUCK_WHEELS=2 # Truck wheels~%uint8 accessory_HULL=3 # Hull~%uint8 accessory_HYDROFOIL=4 # Hydrofoil~%uint8 accessory~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAccessoryStateSupportedAccessoriesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Supported accessories list.~%~%Header header~%~%# Accessory configurations supported by the product.~%uint8 accessory_NO_ACCESSORY=0 # No accessory.~%uint8 accessory_STD_WHEELS=1 # Standard wheels~%uint8 accessory_TRUCK_WHEELS=2 # Truck wheels~%uint8 accessory_HULL=3 # Hull~%uint8 accessory_HYDROFOIL=4 # Hydrofoil~%uint8 accessory~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAnimationsStateList.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAnimationsStateList.lisp index bee5d6f..dacaca5 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAnimationsStateList.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAnimationsStateList.lisp @@ -135,10 +135,10 @@ "c89b289a8f935a33f0451effae3f9508") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonAnimationsStateList~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Paramaterless animations state list.~%~%Header header~%~%# Animation type.~%uint8 anim_HEADLIGHTS_FLASH=0 # Flash headlights.~%uint8 anim_HEADLIGHTS_BLINK=1 # Blink headlights.~%uint8 anim_HEADLIGHTS_OSCILLATION=2 # Oscillating headlights.~%uint8 anim_SPIN=3 # Spin animation.~%uint8 anim_TAP=4 # Tap animation.~%uint8 anim_SLOW_SHAKE=5 # Slow shake animation.~%uint8 anim_METRONOME=6 # Metronome animation.~%uint8 anim_ONDULATION=7 # Standing dance animation.~%uint8 anim_SPIN_JUMP=8 # Spin jump animation.~%uint8 anim_SPIN_TO_POSTURE=9 # Spin that end in standing posture, or in jumper if it was standing animation.~%uint8 anim_SPIRAL=10 # Spiral animation.~%uint8 anim_SLALOM=11 # Slalom animation.~%uint8 anim_BOOST=12 # Boost animation.~%uint8 anim_LOOPING=13 # Make a looping. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_RIGHT=14 # Make a barrel roll of 180 degree turning on right. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_LEFT=15 # Make a barrel roll of 180 degree turning on left. (Only for WingX)~%uint8 anim_BACKSWAP=16 # Put the drone upside down. (Only for WingX)~%uint8 anim~%# State of the animation~%uint8 state_stopped=0 # animation is stopped~%uint8 state_started=1 # animation is started~%uint8 state_notAvailable=2 # The animation is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAnimationsStateList~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Paramaterless animations state list.~%~%Header header~%~%# Animation type.~%uint8 anim_HEADLIGHTS_FLASH=0 # Flash headlights.~%uint8 anim_HEADLIGHTS_BLINK=1 # Blink headlights.~%uint8 anim_HEADLIGHTS_OSCILLATION=2 # Oscillating headlights.~%uint8 anim_SPIN=3 # Spin animation.~%uint8 anim_TAP=4 # Tap animation.~%uint8 anim_SLOW_SHAKE=5 # Slow shake animation.~%uint8 anim_METRONOME=6 # Metronome animation.~%uint8 anim_ONDULATION=7 # Standing dance animation.~%uint8 anim_SPIN_JUMP=8 # Spin jump animation.~%uint8 anim_SPIN_TO_POSTURE=9 # Spin that end in standing posture, or in jumper if it was standing animation.~%uint8 anim_SPIRAL=10 # Spiral animation.~%uint8 anim_SLALOM=11 # Slalom animation.~%uint8 anim_BOOST=12 # Boost animation.~%uint8 anim_LOOPING=13 # Make a looping. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_RIGHT=14 # Make a barrel roll of 180 degree turning on right. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_LEFT=15 # Make a barrel roll of 180 degree turning on left. (Only for WingX)~%uint8 anim_BACKSWAP=16 # Put the drone upside down. (Only for WingX)~%uint8 anim~%# State of the animation~%uint8 state_stopped=0 # animation is stopped~%uint8 state_started=1 # animation is started~%uint8 state_notAvailable=2 # The animation is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonAnimationsStateList))) "Returns full string definition for message of type 'CommonAnimationsStateList" - (cl:format cl:nil "# CommonAnimationsStateList~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Paramaterless animations state list.~%~%Header header~%~%# Animation type.~%uint8 anim_HEADLIGHTS_FLASH=0 # Flash headlights.~%uint8 anim_HEADLIGHTS_BLINK=1 # Blink headlights.~%uint8 anim_HEADLIGHTS_OSCILLATION=2 # Oscillating headlights.~%uint8 anim_SPIN=3 # Spin animation.~%uint8 anim_TAP=4 # Tap animation.~%uint8 anim_SLOW_SHAKE=5 # Slow shake animation.~%uint8 anim_METRONOME=6 # Metronome animation.~%uint8 anim_ONDULATION=7 # Standing dance animation.~%uint8 anim_SPIN_JUMP=8 # Spin jump animation.~%uint8 anim_SPIN_TO_POSTURE=9 # Spin that end in standing posture, or in jumper if it was standing animation.~%uint8 anim_SPIRAL=10 # Spiral animation.~%uint8 anim_SLALOM=11 # Slalom animation.~%uint8 anim_BOOST=12 # Boost animation.~%uint8 anim_LOOPING=13 # Make a looping. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_RIGHT=14 # Make a barrel roll of 180 degree turning on right. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_LEFT=15 # Make a barrel roll of 180 degree turning on left. (Only for WingX)~%uint8 anim_BACKSWAP=16 # Put the drone upside down. (Only for WingX)~%uint8 anim~%# State of the animation~%uint8 state_stopped=0 # animation is stopped~%uint8 state_started=1 # animation is started~%uint8 state_notAvailable=2 # The animation is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAnimationsStateList~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Paramaterless animations state list.~%~%Header header~%~%# Animation type.~%uint8 anim_HEADLIGHTS_FLASH=0 # Flash headlights.~%uint8 anim_HEADLIGHTS_BLINK=1 # Blink headlights.~%uint8 anim_HEADLIGHTS_OSCILLATION=2 # Oscillating headlights.~%uint8 anim_SPIN=3 # Spin animation.~%uint8 anim_TAP=4 # Tap animation.~%uint8 anim_SLOW_SHAKE=5 # Slow shake animation.~%uint8 anim_METRONOME=6 # Metronome animation.~%uint8 anim_ONDULATION=7 # Standing dance animation.~%uint8 anim_SPIN_JUMP=8 # Spin jump animation.~%uint8 anim_SPIN_TO_POSTURE=9 # Spin that end in standing posture, or in jumper if it was standing animation.~%uint8 anim_SPIRAL=10 # Spiral animation.~%uint8 anim_SLALOM=11 # Slalom animation.~%uint8 anim_BOOST=12 # Boost animation.~%uint8 anim_LOOPING=13 # Make a looping. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_RIGHT=14 # Make a barrel roll of 180 degree turning on right. (Only for WingX)~%uint8 anim_BARREL_ROLL_180_LEFT=15 # Make a barrel roll of 180 degree turning on left. (Only for WingX)~%uint8 anim_BACKSWAP=16 # Put the drone upside down. (Only for WingX)~%uint8 anim~%# State of the animation~%uint8 state_stopped=0 # animation is stopped~%uint8 state_started=1 # animation is started~%uint8 state_notAvailable=2 # The animation is not available~%uint8 state~%# Error to explain the state~%uint8 error_ok=0 # No Error~%uint8 error_unknown=1 # Unknown generic error~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.lisp index 79b722b..82fcac8 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.lisp @@ -61,10 +61,10 @@ "c32c9979998ec419afee553d1e1e2e03") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonAudioStateAudioStreamingRunning~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Audio stream direction.~%~%Header header~%~%# Bit field for TX and RX running bit 0 is 1 if Drone TX is running bit 1 is 1 if Drone RX is running~%uint8 running~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAudioStateAudioStreamingRunning~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Audio stream direction.~%~%Header header~%~%# Bit field for TX and RX running bit 0 is 1 if Drone TX is running bit 1 is 1 if Drone RX is running~%uint8 running~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonAudioStateAudioStreamingRunning))) "Returns full string definition for message of type 'CommonAudioStateAudioStreamingRunning" - (cl:format cl:nil "# CommonAudioStateAudioStreamingRunning~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Audio stream direction.~%~%Header header~%~%# Bit field for TX and RX running bit 0 is 1 if Drone TX is running bit 1 is 1 if Drone RX is running~%uint8 running~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonAudioStateAudioStreamingRunning~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Audio stream direction.~%~%Header header~%~%# Bit field for TX and RX running bit 0 is 1 if Drone TX is running bit 1 is 1 if Drone RX is running~%uint8 running~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.lisp index 30cb523..b700262 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.lisp @@ -75,10 +75,10 @@ "ad3a0a9ecffc26cb8ac4221cda1c0e54") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Axis to calibrate during calibration process.~%~%Header header~%~%# The axis to calibrate~%uint8 axis_xAxis=0 # If the current calibration axis should be the x axis~%uint8 axis_yAxis=1 # If the current calibration axis should be the y axis~%uint8 axis_zAxis=2 # If the current calibration axis should be the z axis~%uint8 axis_none=3 # If none of the axis should be calibrated~%uint8 axis~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Axis to calibrate during calibration process.~%~%Header header~%~%# The axis to calibrate~%uint8 axis_xAxis=0 # If the current calibration axis should be the x axis~%uint8 axis_yAxis=1 # If the current calibration axis should be the y axis~%uint8 axis_zAxis=2 # If the current calibration axis should be the z axis~%uint8 axis_none=3 # If none of the axis should be calibrated~%uint8 axis~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged))) "Returns full string definition for message of type 'CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Axis to calibrate during calibration process.~%~%Header header~%~%# The axis to calibrate~%uint8 axis_xAxis=0 # If the current calibration axis should be the x axis~%uint8 axis_yAxis=1 # If the current calibration axis should be the y axis~%uint8 axis_zAxis=2 # If the current calibration axis should be the z axis~%uint8 axis_none=3 # If none of the axis should be calibrated~%uint8 axis~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Axis to calibrate during calibration process.~%~%Header header~%~%# The axis to calibrate~%uint8 axis_xAxis=0 # If the current calibration axis should be the x axis~%uint8 axis_yAxis=1 # If the current calibration axis should be the y axis~%uint8 axis_zAxis=2 # If the current calibration axis should be the z axis~%uint8 axis_none=3 # If none of the axis should be calibrated~%uint8 axis~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.lisp index f8f1442..4dc2773 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.lisp @@ -61,10 +61,10 @@ "fec0779f61291fcb78f86989a9b9f10e") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationRequiredState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration required.~%~%Header header~%~%# 1 if calibration is required, 0 if current calibration is still valid~%uint8 required~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationRequiredState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration required.~%~%Header header~%~%# 1 if calibration is required, 0 if current calibration is still valid~%uint8 required~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCalibrationStateMagnetoCalibrationRequiredState))) "Returns full string definition for message of type 'CommonCalibrationStateMagnetoCalibrationRequiredState" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationRequiredState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration required.~%~%Header header~%~%# 1 if calibration is required, 0 if current calibration is still valid~%uint8 required~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationRequiredState~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration required.~%~%Header header~%~%# 1 if calibration is required, 0 if current calibration is still valid~%uint8 required~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.lisp index 084fd88..813feaa 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.lisp @@ -61,10 +61,10 @@ "2277a8a251c1c5f5970171a6e7e5eab0") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStartedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration process state.~%~%Header header~%~%# 1 if calibration has started, 0 otherwise~%uint8 started~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStartedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration process state.~%~%Header header~%~%# 1 if calibration has started, 0 otherwise~%uint8 started~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCalibrationStateMagnetoCalibrationStartedChanged))) "Returns full string definition for message of type 'CommonCalibrationStateMagnetoCalibrationStartedChanged" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStartedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration process state.~%~%Header header~%~%# 1 if calibration has started, 0 otherwise~%uint8 started~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStartedChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Calibration process state.~%~%Header header~%~%# 1 if calibration has started, 0 otherwise~%uint8 started~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.lisp index 4b3435c..16a9da7 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.lisp @@ -97,10 +97,10 @@ "89c04aa89f066c20fb00b541abd28d8c") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Magneto calib process axis state.~%~%Header header~%~%# State of the x axis (roll) calibration : 1 if calibration is done, 0 otherwise~%uint8 xAxisCalibration~%# State of the y axis (pitch) calibration : 1 if calibration is done, 0 otherwise~%uint8 yAxisCalibration~%# State of the z axis (yaw) calibration : 1 if calibration is done, 0 otherwise~%uint8 zAxisCalibration~%# 1 if calibration has failed, 0 otherwise. If this arg is 1, consider all previous arg as 0~%uint8 calibrationFailed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Magneto calib process axis state.~%~%Header header~%~%# State of the x axis (roll) calibration : 1 if calibration is done, 0 otherwise~%uint8 xAxisCalibration~%# State of the y axis (pitch) calibration : 1 if calibration is done, 0 otherwise~%uint8 yAxisCalibration~%# State of the z axis (yaw) calibration : 1 if calibration is done, 0 otherwise~%uint8 zAxisCalibration~%# 1 if calibration has failed, 0 otherwise. If this arg is 1, consider all previous arg as 0~%uint8 calibrationFailed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCalibrationStateMagnetoCalibrationStateChanged))) "Returns full string definition for message of type 'CommonCalibrationStateMagnetoCalibrationStateChanged" - (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Magneto calib process axis state.~%~%Header header~%~%# State of the x axis (roll) calibration : 1 if calibration is done, 0 otherwise~%uint8 xAxisCalibration~%# State of the y axis (pitch) calibration : 1 if calibration is done, 0 otherwise~%uint8 yAxisCalibration~%# State of the z axis (yaw) calibration : 1 if calibration is done, 0 otherwise~%uint8 zAxisCalibration~%# 1 if calibration has failed, 0 otherwise. If this arg is 1, consider all previous arg as 0~%uint8 calibrationFailed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStateMagnetoCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Magneto calib process axis state.~%~%Header header~%~%# State of the x axis (roll) calibration : 1 if calibration is done, 0 otherwise~%uint8 xAxisCalibration~%# State of the y axis (pitch) calibration : 1 if calibration is done, 0 otherwise~%uint8 yAxisCalibration~%# State of the z axis (yaw) calibration : 1 if calibration is done, 0 otherwise~%uint8 zAxisCalibration~%# 1 if calibration has failed, 0 otherwise. If this arg is 1, consider all previous arg as 0~%uint8 calibrationFailed~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.lisp index a5512c8..7eb4f5b 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.lisp @@ -87,10 +87,10 @@ "1d222c31db9ca732c48a9aa11e2f3afa") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCalibrationStatePitotCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# State of pitot calibration~%uint8 state_done=0 # Calibration is ok~%uint8 state_ready=1 # Calibration is started, waiting user action~%uint8 state_in_progress=2 # Calibration is in progress~%uint8 state_required=3 # Calibration is required~%uint8 state~%# lastError : 1 if an error occured and 0 if not~%uint8 lastError~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStatePitotCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# State of pitot calibration~%uint8 state_done=0 # Calibration is ok~%uint8 state_ready=1 # Calibration is started, waiting user action~%uint8 state_in_progress=2 # Calibration is in progress~%uint8 state_required=3 # Calibration is required~%uint8 state~%# lastError : 1 if an error occured and 0 if not~%uint8 lastError~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCalibrationStatePitotCalibrationStateChanged))) "Returns full string definition for message of type 'CommonCalibrationStatePitotCalibrationStateChanged" - (cl:format cl:nil "# CommonCalibrationStatePitotCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# State of pitot calibration~%uint8 state_done=0 # Calibration is ok~%uint8 state_ready=1 # Calibration is started, waiting user action~%uint8 state_in_progress=2 # Calibration is in progress~%uint8 state_required=3 # Calibration is required~%uint8 state~%# lastError : 1 if an error occured and 0 if not~%uint8 lastError~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCalibrationStatePitotCalibrationStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: ~%~%Header header~%~%# State of pitot calibration~%uint8 state_done=0 # Calibration is ok~%uint8 state_ready=1 # Calibration is started, waiting user action~%uint8 state_in_progress=2 # Calibration is in progress~%uint8 state_required=3 # Calibration is required~%uint8 state~%# lastError : 1 if an error occured and 0 if not~%uint8 lastError~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.lisp index cce02ac..5eb3c3c 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.lisp @@ -123,10 +123,10 @@ "6cde652314f80f4da435ec6429960e6d") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonChargerStateChargingInfo~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Charging information.~%~%Header header~%~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase_DISCHARGING=5 # The battery is discharging; Other arguments refers to the last charge.~%uint8 phase~%# The charge rate. If phase is DISCHARGING, refers to the last charge.~%uint8 rate_UNKNOWN=0 # The charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%# The charging intensity, in dA. (12dA = 1,2A) ; If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 intensity~%# The full charging time estimated, in minute. If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 fullChargingTime~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateChargingInfo~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Charging information.~%~%Header header~%~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase_DISCHARGING=5 # The battery is discharging; Other arguments refers to the last charge.~%uint8 phase~%# The charge rate. If phase is DISCHARGING, refers to the last charge.~%uint8 rate_UNKNOWN=0 # The charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%# The charging intensity, in dA. (12dA = 1,2A) ; If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 intensity~%# The full charging time estimated, in minute. If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 fullChargingTime~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonChargerStateChargingInfo))) "Returns full string definition for message of type 'CommonChargerStateChargingInfo" - (cl:format cl:nil "# CommonChargerStateChargingInfo~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Charging information.~%~%Header header~%~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase_DISCHARGING=5 # The battery is discharging; Other arguments refers to the last charge.~%uint8 phase~%# The charge rate. If phase is DISCHARGING, refers to the last charge.~%uint8 rate_UNKNOWN=0 # The charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%# The charging intensity, in dA. (12dA = 1,2A) ; If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 intensity~%# The full charging time estimated, in minute. If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 fullChargingTime~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateChargingInfo~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Charging information.~%~%Header header~%~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase_DISCHARGING=5 # The battery is discharging; Other arguments refers to the last charge.~%uint8 phase~%# The charge rate. If phase is DISCHARGING, refers to the last charge.~%uint8 rate_UNKNOWN=0 # The charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%# The charging intensity, in dA. (12dA = 1,2A) ; If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 intensity~%# The full charging time estimated, in minute. If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known.~%uint8 fullChargingTime~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.lisp index 4037f12..025fcf2 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.lisp @@ -99,10 +99,10 @@ "18629b25e8e73562aa089390b0f02505") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonChargerStateCurrentChargeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current charge state.~%~%Header header~%~%# Charger status.~%uint8 status_DISCHARGING=0 # The battery is discharging.~%uint8 status_CHARGING_SLOW=1 # The battery is charging at a slow rate about 512 mA.~%uint8 status_CHARGING_MODERATE=2 # The battery is charging at a moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 status_CHARGING_FAST=3 # The battery is charging at a the fastest rate.~%uint8 status_BATTERY_FULL=4 # The charger is plugged and the battery is fully charged.~%uint8 status~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateCurrentChargeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current charge state.~%~%Header header~%~%# Charger status.~%uint8 status_DISCHARGING=0 # The battery is discharging.~%uint8 status_CHARGING_SLOW=1 # The battery is charging at a slow rate about 512 mA.~%uint8 status_CHARGING_MODERATE=2 # The battery is charging at a moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 status_CHARGING_FAST=3 # The battery is charging at a the fastest rate.~%uint8 status_BATTERY_FULL=4 # The charger is plugged and the battery is fully charged.~%uint8 status~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonChargerStateCurrentChargeStateChanged))) "Returns full string definition for message of type 'CommonChargerStateCurrentChargeStateChanged" - (cl:format cl:nil "# CommonChargerStateCurrentChargeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current charge state.~%~%Header header~%~%# Charger status.~%uint8 status_DISCHARGING=0 # The battery is discharging.~%uint8 status_CHARGING_SLOW=1 # The battery is charging at a slow rate about 512 mA.~%uint8 status_CHARGING_MODERATE=2 # The battery is charging at a moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 status_CHARGING_FAST=3 # The battery is charging at a the fastest rate.~%uint8 status_BATTERY_FULL=4 # The charger is plugged and the battery is fully charged.~%uint8 status~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateCurrentChargeStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current charge state.~%~%Header header~%~%# Charger status.~%uint8 status_DISCHARGING=0 # The battery is discharging.~%uint8 status_CHARGING_SLOW=1 # The battery is charging at a slow rate about 512 mA.~%uint8 status_CHARGING_MODERATE=2 # The battery is charging at a moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 status_CHARGING_FAST=3 # The battery is charging at a the fastest rate.~%uint8 status_BATTERY_FULL=4 # The charger is plugged and the battery is fully charged.~%uint8 status~%# The current charging phase.~%uint8 phase_UNKNOWN=0 # The charge phase is unknown or irrelevant.~%uint8 phase_CONSTANT_CURRENT_1=1 # First phase of the charging process. The battery is charging with constant current.~%uint8 phase_CONSTANT_CURRENT_2=2 # Second phase of the charging process. The battery is charging with constant current, with a higher voltage than the first phase.~%uint8 phase_CONSTANT_VOLTAGE=3 # Last part of the charging process. The battery is charging with a constant voltage.~%uint8 phase_CHARGED=4 # The battery is fully charged.~%uint8 phase~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.lisp index f109b7c..72adf18 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.lisp @@ -75,10 +75,10 @@ "e9b711bb39581d8a588c2bb4a104345b") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonChargerStateLastChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Last charge rate.~%~%Header header~%~%# The charge rate recorded by the firmware for the last charge.~%uint8 rate_UNKNOWN=0 # The last charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateLastChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Last charge rate.~%~%Header header~%~%# The charge rate recorded by the firmware for the last charge.~%uint8 rate_UNKNOWN=0 # The last charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonChargerStateLastChargeRateChanged))) "Returns full string definition for message of type 'CommonChargerStateLastChargeRateChanged" - (cl:format cl:nil "# CommonChargerStateLastChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Last charge rate.~%~%Header header~%~%# The charge rate recorded by the firmware for the last charge.~%uint8 rate_UNKNOWN=0 # The last charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateLastChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Last charge rate.~%~%Header header~%~%# The charge rate recorded by the firmware for the last charge.~%uint8 rate_UNKNOWN=0 # The last charge rate is not known.~%uint8 rate_SLOW=1 # Slow charge rate.~%uint8 rate_MODERATE=2 # Moderate charge rate.~%uint8 rate_FAST=3 # Fast charge rate.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.lisp index 53152e6..e12ccac 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.lisp @@ -73,10 +73,10 @@ "941b1a17fd6fd05c4901386c552253e8") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonChargerStateMaxChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Max charge rate.~%~%Header header~%~%# The current maximum charge rate.~%uint8 rate_SLOW=0 # Fully charge the battery at a slow rate. Typically limit max charge current to 512 mA.~%uint8 rate_MODERATE=1 # Almost fully-charge the battery at moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 rate_FAST=2 # Almost fully-charge the battery at the highest possible rate supported by the charger.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateMaxChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Max charge rate.~%~%Header header~%~%# The current maximum charge rate.~%uint8 rate_SLOW=0 # Fully charge the battery at a slow rate. Typically limit max charge current to 512 mA.~%uint8 rate_MODERATE=1 # Almost fully-charge the battery at moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 rate_FAST=2 # Almost fully-charge the battery at the highest possible rate supported by the charger.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonChargerStateMaxChargeRateChanged))) "Returns full string definition for message of type 'CommonChargerStateMaxChargeRateChanged" - (cl:format cl:nil "# CommonChargerStateMaxChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Max charge rate.~%~%Header header~%~%# The current maximum charge rate.~%uint8 rate_SLOW=0 # Fully charge the battery at a slow rate. Typically limit max charge current to 512 mA.~%uint8 rate_MODERATE=1 # Almost fully-charge the battery at moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 rate_FAST=2 # Almost fully-charge the battery at the highest possible rate supported by the charger.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonChargerStateMaxChargeRateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Max charge rate.~%~%Header header~%~%# The current maximum charge rate.~%uint8 rate_SLOW=0 # Fully charge the battery at a slow rate. Typically limit max charge current to 512 mA.~%uint8 rate_MODERATE=1 # Almost fully-charge the battery at moderate rate (> 512 mA) but slower than the fastest rate.~%uint8 rate_FAST=2 # Almost fully-charge the battery at the highest possible rate supported by the charger.~%uint8 rate~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.lisp index dac0e57..054c14a 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.lisp @@ -49,10 +49,10 @@ "d7be0bb39af8fb9129d5a76e6b63a290") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateAllStatesChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: All states have been sent.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateAllStatesChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: All states have been sent.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateAllStatesChanged))) "Returns full string definition for message of type 'CommonCommonStateAllStatesChanged" - (cl:format cl:nil "# CommonCommonStateAllStatesChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: All states have been sent.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateAllStatesChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: All states have been sent.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.lisp index fd06cc6..f79f10b 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.lisp @@ -61,10 +61,10 @@ "951b528c732f1981c7e11a1c57775136") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateBatteryStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Battery state.~%~%Header header~%~%# Battery percentage~%uint8 percent~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateBatteryStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Battery state.~%~%Header header~%~%# Battery percentage~%uint8 percent~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateBatteryStateChanged))) "Returns full string definition for message of type 'CommonCommonStateBatteryStateChanged" - (cl:format cl:nil "# CommonCommonStateBatteryStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Battery state.~%~%Header header~%~%# Battery percentage~%uint8 percent~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateBatteryStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Battery state.~%~%Header header~%~%# Battery percentage~%uint8 percent~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.lisp index 9d39ca6..4bc14f6 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.lisp @@ -85,10 +85,10 @@ "86539e5f9157f2f0855dd0d95cb534f2") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateCountryListKnown~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of countries known by the drone.~%~%Header header~%~%# List entry attribute Bitfield. 0x01: First: indicate its the first element of the list. 0x02: Last: indicate its the last element of the list. 0x04: Empty: indicate the list is empty (implies First/Last). All other arguments should be ignored.~%uint8 listFlags~%# Following of country code with ISO 3166 format, separated by ;. Be careful of the command size allowed by the network used. If necessary, split the list in several commands.~%string countryCodes~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateCountryListKnown~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of countries known by the drone.~%~%Header header~%~%# List entry attribute Bitfield. 0x01: First: indicate its the first element of the list. 0x02: Last: indicate its the last element of the list. 0x04: Empty: indicate the list is empty (implies First/Last). All other arguments should be ignored.~%uint8 listFlags~%# Following of country code with ISO 3166 format, separated by ;. Be careful of the command size allowed by the network used. If necessary, split the list in several commands.~%string countryCodes~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateCountryListKnown))) "Returns full string definition for message of type 'CommonCommonStateCountryListKnown" - (cl:format cl:nil "# CommonCommonStateCountryListKnown~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of countries known by the drone.~%~%Header header~%~%# List entry attribute Bitfield. 0x01: First: indicate its the first element of the list. 0x02: Last: indicate its the last element of the list. 0x04: Empty: indicate the list is empty (implies First/Last). All other arguments should be ignored.~%uint8 listFlags~%# Following of country code with ISO 3166 format, separated by ;. Be careful of the command size allowed by the network used. If necessary, split the list in several commands.~%string countryCodes~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateCountryListKnown~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: List of countries known by the drone.~%~%Header header~%~%# List entry attribute Bitfield. 0x01: First: indicate its the first element of the list. 0x02: Last: indicate its the last element of the list. 0x04: Empty: indicate the list is empty (implies First/Last). All other arguments should be ignored.~%uint8 listFlags~%# Following of country code with ISO 3166 format, separated by ;. Be careful of the command size allowed by the network used. If necessary, split the list in several commands.~%string countryCodes~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.lisp index 985f2f8..9ab9ea8 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.lisp @@ -73,10 +73,10 @@ "7b1c2ad09d95986b33cc46dd275d6aad") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateCurrentDateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Date changed.\\n Corresponds to the latest date set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Date with ISO-8601 format~%string date~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateCurrentDateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Date changed.\\n Corresponds to the latest date set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Date with ISO-8601 format~%string date~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateCurrentDateChanged))) "Returns full string definition for message of type 'CommonCommonStateCurrentDateChanged" - (cl:format cl:nil "# CommonCommonStateCurrentDateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Date changed.\\n Corresponds to the latest date set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Date with ISO-8601 format~%string date~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateCurrentDateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Date changed.\\n Corresponds to the latest date set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Date with ISO-8601 format~%string date~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.lisp index f8afb1b..7ce9362 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.lisp @@ -73,10 +73,10 @@ "5efc9584d0b45a4422ec41d222235ff2") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateCurrentTimeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Time changed.\\n Corresponds to the latest time set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Time with ISO-8601 format~%string time~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateCurrentTimeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Time changed.\\n Corresponds to the latest time set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Time with ISO-8601 format~%string time~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateCurrentTimeChanged))) "Returns full string definition for message of type 'CommonCommonStateCurrentTimeChanged" - (cl:format cl:nil "# CommonCommonStateCurrentTimeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Time changed.\\n Corresponds to the latest time set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Time with ISO-8601 format~%string time~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateCurrentTimeChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Time changed.\\n Corresponds to the latest time set on the drone.\\n\\n **Please note that you should not care about this event if you are using the libARController API as this library is handling the connection process for you.**~%~%Header header~%~%# Time with ISO-8601 format~%string time~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.lisp index a248707..8db7f9c 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.lisp @@ -117,10 +117,10 @@ "54ba89d250643620665f04ab5991b8ef") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateDeprecatedMassStorageContentChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content changed.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateDeprecatedMassStorageContentChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content changed.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateDeprecatedMassStorageContentChanged))) "Returns full string definition for message of type 'CommonCommonStateDeprecatedMassStorageContentChanged" - (cl:format cl:nil "# CommonCommonStateDeprecatedMassStorageContentChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content changed.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateDeprecatedMassStorageContentChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content changed.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.lisp index 12496ee..c5fc7ab 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.lisp @@ -131,10 +131,10 @@ "a6f27bb44bd06f7e0a5be4f3c064ceea") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateMassStorageContent~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageContent~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateMassStorageContent))) "Returns full string definition for message of type 'CommonCommonStateMassStorageContent" - (cl:format cl:nil "# CommonCommonStateMassStorageContent~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageContent~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of puds~%uint16 nbPuds~%# Number of crash logs~%uint16 nbCrashLogs~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.lisp index caaca7d..f04a4fd 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.lisp @@ -103,10 +103,10 @@ "a6aacd7db5d55f185b1fbb8276f7019f") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateMassStorageContentForCurrentRun~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content for current run.\\n Only counts the files related to the current run (see [RunId](#0-30-0))~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageContentForCurrentRun~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content for current run.\\n Only counts the files related to the current run (see [RunId](#0-30-0))~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateMassStorageContentForCurrentRun))) "Returns full string definition for message of type 'CommonCommonStateMassStorageContentForCurrentRun" - (cl:format cl:nil "# CommonCommonStateMassStorageContentForCurrentRun~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content for current run.\\n Only counts the files related to the current run (see [RunId](#0-30-0))~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageContentForCurrentRun~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage content for current run.\\n Only counts the files related to the current run (see [RunId](#0-30-0))~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Number of photos (does not include raw photos)~%uint16 nbPhotos~%# Number of videos~%uint16 nbVideos~%# Number of raw photos~%uint16 nbRawPhotos~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.lisp index fded9d2..907ffc8 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.lisp @@ -99,10 +99,10 @@ "2749dbbf018a8a51c35552e6e0aac2ff") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateMassStorageInfoRemainingListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage remaining data list.~%~%Header header~%~%# Mass storage free space in MBytes~%uint32 free_space~%# Mass storage record time reamining in minute~%uint16 rec_time~%# Mass storage photo remaining~%uint32 photo_remaining~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageInfoRemainingListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage remaining data list.~%~%Header header~%~%# Mass storage free space in MBytes~%uint32 free_space~%# Mass storage record time reamining in minute~%uint16 rec_time~%# Mass storage photo remaining~%uint32 photo_remaining~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateMassStorageInfoRemainingListChanged))) "Returns full string definition for message of type 'CommonCommonStateMassStorageInfoRemainingListChanged" - (cl:format cl:nil "# CommonCommonStateMassStorageInfoRemainingListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage remaining data list.~%~%Header header~%~%# Mass storage free space in MBytes~%uint32 free_space~%# Mass storage record time reamining in minute~%uint16 rec_time~%# Mass storage photo remaining~%uint32 photo_remaining~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageInfoRemainingListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage remaining data list.~%~%Header header~%~%# Mass storage free space in MBytes~%uint32 free_space~%# Mass storage record time reamining in minute~%uint16 rec_time~%# Mass storage photo remaining~%uint32 photo_remaining~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.lisp index 17d4d2c..28c6cb3 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.lisp @@ -133,10 +133,10 @@ "2ca92d7dc2cd357b6c1f89b1084ed001") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateMassStorageInfoStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage info state list.~%~%Header header~%~%# Mass storage state id (unique)~%uint8 mass_storage_id~%# Mass storage size in MBytes~%uint32 size~%# Mass storage used size in MBytes~%uint32 used_size~%# Mass storage plugged (1 if mass storage is plugged, otherwise 0)~%uint8 plugged~%# Mass storage full information state (1 if mass storage full, 0 otherwise).~%uint8 full~%# Mass storage internal type state (1 if mass storage is internal, 0 otherwise)~%uint8 internal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageInfoStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage info state list.~%~%Header header~%~%# Mass storage state id (unique)~%uint8 mass_storage_id~%# Mass storage size in MBytes~%uint32 size~%# Mass storage used size in MBytes~%uint32 used_size~%# Mass storage plugged (1 if mass storage is plugged, otherwise 0)~%uint8 plugged~%# Mass storage full information state (1 if mass storage full, 0 otherwise).~%uint8 full~%# Mass storage internal type state (1 if mass storage is internal, 0 otherwise)~%uint8 internal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateMassStorageInfoStateListChanged))) "Returns full string definition for message of type 'CommonCommonStateMassStorageInfoStateListChanged" - (cl:format cl:nil "# CommonCommonStateMassStorageInfoStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage info state list.~%~%Header header~%~%# Mass storage state id (unique)~%uint8 mass_storage_id~%# Mass storage size in MBytes~%uint32 size~%# Mass storage used size in MBytes~%uint32 used_size~%# Mass storage plugged (1 if mass storage is plugged, otherwise 0)~%uint8 plugged~%# Mass storage full information state (1 if mass storage full, 0 otherwise).~%uint8 full~%# Mass storage internal type state (1 if mass storage is internal, 0 otherwise)~%uint8 internal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageInfoStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage info state list.~%~%Header header~%~%# Mass storage state id (unique)~%uint8 mass_storage_id~%# Mass storage size in MBytes~%uint32 size~%# Mass storage used size in MBytes~%uint32 used_size~%# Mass storage plugged (1 if mass storage is plugged, otherwise 0)~%uint8 plugged~%# Mass storage full information state (1 if mass storage full, 0 otherwise).~%uint8 full~%# Mass storage internal type state (1 if mass storage is internal, 0 otherwise)~%uint8 internal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.lisp index 3664acc..4bd2715 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.lisp @@ -85,10 +85,10 @@ "61c5221f7b7aeb8bcb1cc127a775a32c") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateMassStorageStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage state list.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Mass storage name~%string name~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage state list.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Mass storage name~%string name~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateMassStorageStateListChanged))) "Returns full string definition for message of type 'CommonCommonStateMassStorageStateListChanged" - (cl:format cl:nil "# CommonCommonStateMassStorageStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage state list.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Mass storage name~%string name~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateMassStorageStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mass storage state list.~%~%Header header~%~%# Mass storage id (unique)~%uint8 mass_storage_id~%# Mass storage name~%string name~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateProductModel.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateProductModel.lisp index 0e6547b..ce67c6d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateProductModel.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateProductModel.lisp @@ -97,10 +97,10 @@ "5577551dc33e452626f964eb7a27a391") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateProductModel~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Product sub-model.\\n This can be used to customize the UI depending on the product.~%~%Header header~%~%# The Model of the product.~%uint8 model_RS_TRAVIS=0 # Travis (RS taxi) model.~%uint8 model_RS_MARS=1 # Mars (RS space) model~%uint8 model_RS_SWAT=2 # SWAT (RS SWAT) model~%uint8 model_RS_MCLANE=3 # Mc Lane (RS police) model~%uint8 model_RS_BLAZE=4 # Blaze (RS fire) model~%uint8 model_RS_ORAK=5 # Orak (RS carbon hydrofoil) model~%uint8 model_RS_NEWZ=6 # New Z (RS wooden hydrofoil) model~%uint8 model_JS_MARSHALL=7 # Marshall (JS fire) model~%uint8 model_JS_DIESEL=8 # Diesel (JS SWAT) model~%uint8 model_JS_BUZZ=9 # Buzz (JS space) model~%uint8 model_JS_MAX=10 # Max (JS F1) model~%uint8 model_JS_JETT=11 # Jett (JS flames) model~%uint8 model_JS_TUKTUK=12 # Tuk-Tuk (JS taxi) model~%uint8 model_SW_BLACK=13 # Swing black model~%uint8 model_SW_WHITE=14 # Swing white model~%uint8 model~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateProductModel~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Product sub-model.\\n This can be used to customize the UI depending on the product.~%~%Header header~%~%# The Model of the product.~%uint8 model_RS_TRAVIS=0 # Travis (RS taxi) model.~%uint8 model_RS_MARS=1 # Mars (RS space) model~%uint8 model_RS_SWAT=2 # SWAT (RS SWAT) model~%uint8 model_RS_MCLANE=3 # Mc Lane (RS police) model~%uint8 model_RS_BLAZE=4 # Blaze (RS fire) model~%uint8 model_RS_ORAK=5 # Orak (RS carbon hydrofoil) model~%uint8 model_RS_NEWZ=6 # New Z (RS wooden hydrofoil) model~%uint8 model_JS_MARSHALL=7 # Marshall (JS fire) model~%uint8 model_JS_DIESEL=8 # Diesel (JS SWAT) model~%uint8 model_JS_BUZZ=9 # Buzz (JS space) model~%uint8 model_JS_MAX=10 # Max (JS F1) model~%uint8 model_JS_JETT=11 # Jett (JS flames) model~%uint8 model_JS_TUKTUK=12 # Tuk-Tuk (JS taxi) model~%uint8 model_SW_BLACK=13 # Swing black model~%uint8 model_SW_WHITE=14 # Swing white model~%uint8 model~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateProductModel))) "Returns full string definition for message of type 'CommonCommonStateProductModel" - (cl:format cl:nil "# CommonCommonStateProductModel~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Product sub-model.\\n This can be used to customize the UI depending on the product.~%~%Header header~%~%# The Model of the product.~%uint8 model_RS_TRAVIS=0 # Travis (RS taxi) model.~%uint8 model_RS_MARS=1 # Mars (RS space) model~%uint8 model_RS_SWAT=2 # SWAT (RS SWAT) model~%uint8 model_RS_MCLANE=3 # Mc Lane (RS police) model~%uint8 model_RS_BLAZE=4 # Blaze (RS fire) model~%uint8 model_RS_ORAK=5 # Orak (RS carbon hydrofoil) model~%uint8 model_RS_NEWZ=6 # New Z (RS wooden hydrofoil) model~%uint8 model_JS_MARSHALL=7 # Marshall (JS fire) model~%uint8 model_JS_DIESEL=8 # Diesel (JS SWAT) model~%uint8 model_JS_BUZZ=9 # Buzz (JS space) model~%uint8 model_JS_MAX=10 # Max (JS F1) model~%uint8 model_JS_JETT=11 # Jett (JS flames) model~%uint8 model_JS_TUKTUK=12 # Tuk-Tuk (JS taxi) model~%uint8 model_SW_BLACK=13 # Swing black model~%uint8 model_SW_WHITE=14 # Swing white model~%uint8 model~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateProductModel~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Product sub-model.\\n This can be used to customize the UI depending on the product.~%~%Header header~%~%# The Model of the product.~%uint8 model_RS_TRAVIS=0 # Travis (RS taxi) model.~%uint8 model_RS_MARS=1 # Mars (RS space) model~%uint8 model_RS_SWAT=2 # SWAT (RS SWAT) model~%uint8 model_RS_MCLANE=3 # Mc Lane (RS police) model~%uint8 model_RS_BLAZE=4 # Blaze (RS fire) model~%uint8 model_RS_ORAK=5 # Orak (RS carbon hydrofoil) model~%uint8 model_RS_NEWZ=6 # New Z (RS wooden hydrofoil) model~%uint8 model_JS_MARSHALL=7 # Marshall (JS fire) model~%uint8 model_JS_DIESEL=8 # Diesel (JS SWAT) model~%uint8 model_JS_BUZZ=9 # Buzz (JS space) model~%uint8 model_JS_MAX=10 # Max (JS F1) model~%uint8 model_JS_JETT=11 # Jett (JS flames) model~%uint8 model_JS_TUKTUK=12 # Tuk-Tuk (JS taxi) model~%uint8 model_SW_BLACK=13 # Swing black model~%uint8 model_SW_WHITE=14 # Swing white model~%uint8 model~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.lisp index 71d10ee..56a695d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.lisp @@ -91,10 +91,10 @@ "21324261f7a8c1805999cb90c3c5949b") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateSensorsStatesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Sensors state list.~%~%Header header~%~%# Sensor name~%uint8 sensorName_IMU=0 # Inertial Measurement Unit sensor~%uint8 sensorName_barometer=1 # Barometer sensor~%uint8 sensorName_ultrasound=2 # Ultrasonic sensor~%uint8 sensorName_GPS=3 # GPS sensor~%uint8 sensorName_magnetometer=4 # Magnetometer sensor~%uint8 sensorName_vertical_camera=5 # Vertical Camera sensor~%uint8 sensorName~%# Sensor state (1 if the sensor is OK, 0 if the sensor is NOT OK)~%uint8 sensorState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateSensorsStatesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Sensors state list.~%~%Header header~%~%# Sensor name~%uint8 sensorName_IMU=0 # Inertial Measurement Unit sensor~%uint8 sensorName_barometer=1 # Barometer sensor~%uint8 sensorName_ultrasound=2 # Ultrasonic sensor~%uint8 sensorName_GPS=3 # GPS sensor~%uint8 sensorName_magnetometer=4 # Magnetometer sensor~%uint8 sensorName_vertical_camera=5 # Vertical Camera sensor~%uint8 sensorName~%# Sensor state (1 if the sensor is OK, 0 if the sensor is NOT OK)~%uint8 sensorState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateSensorsStatesListChanged))) "Returns full string definition for message of type 'CommonCommonStateSensorsStatesListChanged" - (cl:format cl:nil "# CommonCommonStateSensorsStatesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Sensors state list.~%~%Header header~%~%# Sensor name~%uint8 sensorName_IMU=0 # Inertial Measurement Unit sensor~%uint8 sensorName_barometer=1 # Barometer sensor~%uint8 sensorName_ultrasound=2 # Ultrasonic sensor~%uint8 sensorName_GPS=3 # GPS sensor~%uint8 sensorName_magnetometer=4 # Magnetometer sensor~%uint8 sensorName_vertical_camera=5 # Vertical Camera sensor~%uint8 sensorName~%# Sensor state (1 if the sensor is OK, 0 if the sensor is NOT OK)~%uint8 sensorState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateSensorsStatesListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Sensors state list.~%~%Header header~%~%# Sensor name~%uint8 sensorName_IMU=0 # Inertial Measurement Unit sensor~%uint8 sensorName_barometer=1 # Barometer sensor~%uint8 sensorName_ultrasound=2 # Ultrasonic sensor~%uint8 sensorName_GPS=3 # GPS sensor~%uint8 sensorName_magnetometer=4 # Magnetometer sensor~%uint8 sensorName_vertical_camera=5 # Vertical Camera sensor~%uint8 sensorName~%# Sensor state (1 if the sensor is OK, 0 if the sensor is NOT OK)~%uint8 sensorState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.lisp index 5a55299..2270ac3 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.lisp @@ -101,10 +101,10 @@ "2af0a016042e73c407f0fbf66360342c") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateVideoRecordingTimestamp~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current or last video recording timestamp.\\n Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.\\n **Please note that values dont persist after drone reboot**~%~%Header header~%~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.~%uint64 startTimestamp~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970. 0 mean that video is still recording.~%uint64 stopTimestamp~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateVideoRecordingTimestamp~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current or last video recording timestamp.\\n Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.\\n **Please note that values dont persist after drone reboot**~%~%Header header~%~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.~%uint64 startTimestamp~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970. 0 mean that video is still recording.~%uint64 stopTimestamp~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateVideoRecordingTimestamp))) "Returns full string definition for message of type 'CommonCommonStateVideoRecordingTimestamp" - (cl:format cl:nil "# CommonCommonStateVideoRecordingTimestamp~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current or last video recording timestamp.\\n Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.\\n **Please note that values dont persist after drone reboot**~%~%Header header~%~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.~%uint64 startTimestamp~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970. 0 mean that video is still recording.~%uint64 stopTimestamp~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateVideoRecordingTimestamp~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current or last video recording timestamp.\\n Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.\\n **Please note that values dont persist after drone reboot**~%~%Header header~%~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970.~%uint64 startTimestamp~%# Timestamp in milliseconds since 00:00:00 UTC on 1 January 1970. 0 mean that video is still recording.~%uint64 stopTimestamp~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.lisp index 4e9d4d1..9bf13fc 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.lisp @@ -67,10 +67,10 @@ "ad96f0dce593efdfb07802778d15cae9") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonCommonStateWifiSignalChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Rssi (Wifi Signal between controller and product) changed.~%~%Header header~%~%# RSSI of the signal between controller and the product (in dbm)~%int16 rssi~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateWifiSignalChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Rssi (Wifi Signal between controller and product) changed.~%~%Header header~%~%# RSSI of the signal between controller and the product (in dbm)~%int16 rssi~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonCommonStateWifiSignalChanged))) "Returns full string definition for message of type 'CommonCommonStateWifiSignalChanged" - (cl:format cl:nil "# CommonCommonStateWifiSignalChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Rssi (Wifi Signal between controller and product) changed.~%~%Header header~%~%# RSSI of the signal between controller and the product (in dbm)~%int16 rssi~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonCommonStateWifiSignalChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Rssi (Wifi Signal between controller and product) changed.~%~%Header header~%~%# RSSI of the signal between controller and the product (in dbm)~%int16 rssi~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.lisp index cf77214..8d16d1d 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.lisp @@ -61,10 +61,10 @@ "b47d280696828874e694f8c4035109de") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonFlightPlanStateAvailabilityStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan availability.\\n Availability is linked to GPS fix, magnetometer calibration, sensor states...~%~%Header header~%~%# Running a flightPlan file is available (1 running a flightPlan file is available, otherwise 0)~%uint8 AvailabilityState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonFlightPlanStateAvailabilityStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan availability.\\n Availability is linked to GPS fix, magnetometer calibration, sensor states...~%~%Header header~%~%# Running a flightPlan file is available (1 running a flightPlan file is available, otherwise 0)~%uint8 AvailabilityState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonFlightPlanStateAvailabilityStateChanged))) "Returns full string definition for message of type 'CommonFlightPlanStateAvailabilityStateChanged" - (cl:format cl:nil "# CommonFlightPlanStateAvailabilityStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan availability.\\n Availability is linked to GPS fix, magnetometer calibration, sensor states...~%~%Header header~%~%# Running a flightPlan file is available (1 running a flightPlan file is available, otherwise 0)~%uint8 AvailabilityState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonFlightPlanStateAvailabilityStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan availability.\\n Availability is linked to GPS fix, magnetometer calibration, sensor states...~%~%Header header~%~%# Running a flightPlan file is available (1 running a flightPlan file is available, otherwise 0)~%uint8 AvailabilityState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.lisp index df9553b..023d0c1 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.lisp @@ -89,10 +89,10 @@ "61463ac9d27f6b9f7cbcf76649da9cd3") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonFlightPlanStateComponentStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan components state list.~%~%Header header~%~%# Drone FlightPlan component id (unique)~%uint8 component_GPS=0 # Drone GPS component. State is 0 when the drone needs a GPS fix.~%uint8 component_Calibration=1 # Drone Calibration component. State is 0 when the sensors of the drone needs to be calibrated.~%uint8 component_Mavlink_File=2 # Mavlink file component. State is 0 when the mavlink file is missing or contains error.~%uint8 component_TakeOff=3 # Drone Take off component. State is 0 when the drone cannot take-off.~%uint8 component_WaypointsBeyondGeofence=4 # Component for waypoints beyond the geofence. State is 0 when one or more waypoints are beyond the geofence.~%uint8 component~%# State of the FlightPlan component (1 FlightPlan component OK, otherwise 0)~%uint8 State~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonFlightPlanStateComponentStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan components state list.~%~%Header header~%~%# Drone FlightPlan component id (unique)~%uint8 component_GPS=0 # Drone GPS component. State is 0 when the drone needs a GPS fix.~%uint8 component_Calibration=1 # Drone Calibration component. State is 0 when the sensors of the drone needs to be calibrated.~%uint8 component_Mavlink_File=2 # Mavlink file component. State is 0 when the mavlink file is missing or contains error.~%uint8 component_TakeOff=3 # Drone Take off component. State is 0 when the drone cannot take-off.~%uint8 component_WaypointsBeyondGeofence=4 # Component for waypoints beyond the geofence. State is 0 when one or more waypoints are beyond the geofence.~%uint8 component~%# State of the FlightPlan component (1 FlightPlan component OK, otherwise 0)~%uint8 State~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonFlightPlanStateComponentStateListChanged))) "Returns full string definition for message of type 'CommonFlightPlanStateComponentStateListChanged" - (cl:format cl:nil "# CommonFlightPlanStateComponentStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan components state list.~%~%Header header~%~%# Drone FlightPlan component id (unique)~%uint8 component_GPS=0 # Drone GPS component. State is 0 when the drone needs a GPS fix.~%uint8 component_Calibration=1 # Drone Calibration component. State is 0 when the sensors of the drone needs to be calibrated.~%uint8 component_Mavlink_File=2 # Mavlink file component. State is 0 when the mavlink file is missing or contains error.~%uint8 component_TakeOff=3 # Drone Take off component. State is 0 when the drone cannot take-off.~%uint8 component_WaypointsBeyondGeofence=4 # Component for waypoints beyond the geofence. State is 0 when one or more waypoints are beyond the geofence.~%uint8 component~%# State of the FlightPlan component (1 FlightPlan component OK, otherwise 0)~%uint8 State~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonFlightPlanStateComponentStateListChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan components state list.~%~%Header header~%~%# Drone FlightPlan component id (unique)~%uint8 component_GPS=0 # Drone GPS component. State is 0 when the drone needs a GPS fix.~%uint8 component_Calibration=1 # Drone Calibration component. State is 0 when the sensors of the drone needs to be calibrated.~%uint8 component_Mavlink_File=2 # Mavlink file component. State is 0 when the mavlink file is missing or contains error.~%uint8 component_TakeOff=3 # Drone Take off component. State is 0 when the drone cannot take-off.~%uint8 component_WaypointsBeyondGeofence=4 # Component for waypoints beyond the geofence. State is 0 when one or more waypoints are beyond the geofence.~%uint8 component~%# State of the FlightPlan component (1 FlightPlan component OK, otherwise 0)~%uint8 State~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.lisp index a0c9428..8823b08 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.lisp @@ -61,10 +61,10 @@ "589c834fe271c4b4d92bfc1fd4d150a2") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonFlightPlanStateLockStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan lock state.\\n Represents the fact that the controller is able or not to stop or pause a playing FlightPlan~%~%Header header~%~%# 1 if FlightPlan is locked: cant pause or stop FlightPlan. 0 if FlightPlan is unlocked: pause or stop available.~%uint8 LockState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonFlightPlanStateLockStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan lock state.\\n Represents the fact that the controller is able or not to stop or pause a playing FlightPlan~%~%Header header~%~%# 1 if FlightPlan is locked: cant pause or stop FlightPlan. 0 if FlightPlan is unlocked: pause or stop available.~%uint8 LockState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonFlightPlanStateLockStateChanged))) "Returns full string definition for message of type 'CommonFlightPlanStateLockStateChanged" - (cl:format cl:nil "# CommonFlightPlanStateLockStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan lock state.\\n Represents the fact that the controller is able or not to stop or pause a playing FlightPlan~%~%Header header~%~%# 1 if FlightPlan is locked: cant pause or stop FlightPlan. 0 if FlightPlan is unlocked: pause or stop available.~%uint8 LockState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonFlightPlanStateLockStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan lock state.\\n Represents the fact that the controller is able or not to stop or pause a playing FlightPlan~%~%Header header~%~%# 1 if FlightPlan is locked: cant pause or stop FlightPlan. 0 if FlightPlan is unlocked: pause or stop available.~%uint8 LockState~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.lisp index f687054..0f39b48 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.lisp @@ -73,10 +73,10 @@ "467d71c05ef2257e4a6881abae5c114a") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonHeadlightsStateintensityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Lighting LEDs intensity.~%~%Header header~%~%# The intensity value for the left LED (0 through 255).~%uint8 left~%# The intensity value for the right LED (0 through 255).~%uint8 right~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonHeadlightsStateintensityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Lighting LEDs intensity.~%~%Header header~%~%# The intensity value for the left LED (0 through 255).~%uint8 left~%# The intensity value for the right LED (0 through 255).~%uint8 right~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonHeadlightsStateintensityChanged))) "Returns full string definition for message of type 'CommonHeadlightsStateintensityChanged" - (cl:format cl:nil "# CommonHeadlightsStateintensityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Lighting LEDs intensity.~%~%Header header~%~%# The intensity value for the left LED (0 through 255).~%uint8 left~%# The intensity value for the right LED (0 through 255).~%uint8 right~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonHeadlightsStateintensityChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Lighting LEDs intensity.~%~%Header header~%~%# The intensity value for the left LED (0 through 255).~%uint8 left~%# The intensity value for the right LED (0 through 255).~%uint8 right~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.lisp index 3234a28..580df09 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.lisp @@ -115,10 +115,10 @@ "1938cf62aa5e1b7b530a32681de3f4da") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonMavlinkStateMavlinkFilePlayingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Playing state of a FlightPlan.~%~%Header header~%~%# State of the mavlink~%uint8 state_playing=0 # Mavlink file is playing~%uint8 state_stopped=1 # Mavlink file is stopped (arg filepath and type are useless in this state)~%uint8 state_paused=2 # Mavlink file is paused~%uint8 state_loaded=3 # Mavlink file is loaded (it will be played at take-off)~%uint8 state~%# flight plan file path from the mavlink ftp root~%string filepath~%# type of the played mavlink file~%uint8 type_flightPlan=0 # Mavlink file for FlightPlan~%uint8 type_mapMyHouse=1 # Mavlink file for MapMyHouse~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonMavlinkStateMavlinkFilePlayingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Playing state of a FlightPlan.~%~%Header header~%~%# State of the mavlink~%uint8 state_playing=0 # Mavlink file is playing~%uint8 state_stopped=1 # Mavlink file is stopped (arg filepath and type are useless in this state)~%uint8 state_paused=2 # Mavlink file is paused~%uint8 state_loaded=3 # Mavlink file is loaded (it will be played at take-off)~%uint8 state~%# flight plan file path from the mavlink ftp root~%string filepath~%# type of the played mavlink file~%uint8 type_flightPlan=0 # Mavlink file for FlightPlan~%uint8 type_mapMyHouse=1 # Mavlink file for MapMyHouse~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonMavlinkStateMavlinkFilePlayingStateChanged))) "Returns full string definition for message of type 'CommonMavlinkStateMavlinkFilePlayingStateChanged" - (cl:format cl:nil "# CommonMavlinkStateMavlinkFilePlayingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Playing state of a FlightPlan.~%~%Header header~%~%# State of the mavlink~%uint8 state_playing=0 # Mavlink file is playing~%uint8 state_stopped=1 # Mavlink file is stopped (arg filepath and type are useless in this state)~%uint8 state_paused=2 # Mavlink file is paused~%uint8 state_loaded=3 # Mavlink file is loaded (it will be played at take-off)~%uint8 state~%# flight plan file path from the mavlink ftp root~%string filepath~%# type of the played mavlink file~%uint8 type_flightPlan=0 # Mavlink file for FlightPlan~%uint8 type_mapMyHouse=1 # Mavlink file for MapMyHouse~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonMavlinkStateMavlinkFilePlayingStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Playing state of a FlightPlan.~%~%Header header~%~%# State of the mavlink~%uint8 state_playing=0 # Mavlink file is playing~%uint8 state_stopped=1 # Mavlink file is stopped (arg filepath and type are useless in this state)~%uint8 state_paused=2 # Mavlink file is paused~%uint8 state_loaded=3 # Mavlink file is loaded (it will be played at take-off)~%uint8 state~%# flight plan file path from the mavlink ftp root~%string filepath~%# type of the played mavlink file~%uint8 type_flightPlan=0 # Mavlink file for FlightPlan~%uint8 type_mapMyHouse=1 # Mavlink file for MapMyHouse~%uint8 type~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.lisp index f7ee57a..4ae5568 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.lisp @@ -75,10 +75,10 @@ "5b9181d0c169113a4ceac9ebedd1a8b4") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonMavlinkStateMavlinkPlayErrorStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan error.~%~%Header header~%~%# State of play error~%uint8 error_none=0 # There is no error~%uint8 error_notInOutDoorMode=1 # The drone is not in outdoor mode~%uint8 error_gpsNotFixed=2 # The gps is not fixed~%uint8 error_notCalibrated=3 # The magnetometer of the drone is not calibrated~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonMavlinkStateMavlinkPlayErrorStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan error.~%~%Header header~%~%# State of play error~%uint8 error_none=0 # There is no error~%uint8 error_notInOutDoorMode=1 # The drone is not in outdoor mode~%uint8 error_gpsNotFixed=2 # The gps is not fixed~%uint8 error_notCalibrated=3 # The magnetometer of the drone is not calibrated~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonMavlinkStateMavlinkPlayErrorStateChanged))) "Returns full string definition for message of type 'CommonMavlinkStateMavlinkPlayErrorStateChanged" - (cl:format cl:nil "# CommonMavlinkStateMavlinkPlayErrorStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan error.~%~%Header header~%~%# State of play error~%uint8 error_none=0 # There is no error~%uint8 error_notInOutDoorMode=1 # The drone is not in outdoor mode~%uint8 error_gpsNotFixed=2 # The gps is not fixed~%uint8 error_notCalibrated=3 # The magnetometer of the drone is not calibrated~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonMavlinkStateMavlinkPlayErrorStateChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: FlightPlan error.~%~%Header header~%~%# State of play error~%uint8 error_none=0 # There is no error~%uint8 error_notInOutDoorMode=1 # The drone is not in outdoor mode~%uint8 error_gpsNotFixed=2 # The gps is not fixed~%uint8 error_notCalibrated=3 # The magnetometer of the drone is not calibrated~%uint8 error~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.lisp index d59d2d7..d188ad0 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.lisp @@ -67,10 +67,10 @@ "43f8b630624670ebf7b3ae671d2b84e3") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonMavlinkStateMissionItemExecuted~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mission item has been executed.~%~%Header header~%~%# Index of the mission item. This is the place of the mission item in the list of the items of the mission. Begins at 0.~%uint32 idx~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonMavlinkStateMissionItemExecuted~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mission item has been executed.~%~%Header header~%~%# Index of the mission item. This is the place of the mission item in the list of the items of the mission. Begins at 0.~%uint32 idx~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonMavlinkStateMissionItemExecuted))) "Returns full string definition for message of type 'CommonMavlinkStateMissionItemExecuted" - (cl:format cl:nil "# CommonMavlinkStateMissionItemExecuted~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mission item has been executed.~%~%Header header~%~%# Index of the mission item. This is the place of the mission item in the list of the items of the mission. Begins at 0.~%uint32 idx~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonMavlinkStateMissionItemExecuted~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Mission item has been executed.~%~%Header header~%~%# Index of the mission item. This is the place of the mission item in the list of the items of the mission. Begins at 0.~%uint32 idx~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.lisp index ef85a9c..fce4187 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.lisp @@ -49,10 +49,10 @@ "d7be0bb39af8fb9129d5a76e6b63a290") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonOverHeatStateOverHeatChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat temperature reached.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonOverHeatStateOverHeatChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat temperature reached.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonOverHeatStateOverHeatChanged))) "Returns full string definition for message of type 'CommonOverHeatStateOverHeatChanged" - (cl:format cl:nil "# CommonOverHeatStateOverHeatChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat temperature reached.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonOverHeatStateOverHeatChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat temperature reached.~%~%Header header~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.lisp index a5af99e..b1846a4 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.lisp @@ -61,10 +61,10 @@ "bf8d95b38ecdac1938cfe7740e96d4c2") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonOverHeatStateOverHeatRegulationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat regulation type.~%~%Header header~%~%# Type of overheat regulation : 0 for ventilation, 1 for switch off~%uint8 regulationType~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonOverHeatStateOverHeatRegulationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat regulation type.~%~%Header header~%~%# Type of overheat regulation : 0 for ventilation, 1 for switch off~%uint8 regulationType~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonOverHeatStateOverHeatRegulationChanged))) "Returns full string definition for message of type 'CommonOverHeatStateOverHeatRegulationChanged" - (cl:format cl:nil "# CommonOverHeatStateOverHeatRegulationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat regulation type.~%~%Header header~%~%# Type of overheat regulation : 0 for ventilation, 1 for switch off~%uint8 regulationType~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonOverHeatStateOverHeatRegulationChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Overheat regulation type.~%~%Header header~%~%# Type of overheat regulation : 0 for ventilation, 1 for switch off~%uint8 regulationType~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.lisp b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.lisp index da8c638..54c4e58 100644 --- a/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.lisp +++ b/workspace/devel/.private/bebop_msgs/share/common-lisp/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.lisp @@ -73,10 +73,10 @@ "b7ac1570fb76100e35b4cf4959b304cb") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# CommonRunStateRunIdChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current run id.\\n A run id is uniquely identifying a run or a flight.\\n For each run is generated on the drone a file which can be used by Academy to sum up the run.\\n Also, each medias taken during a run has a filename containing the run id.~%~%Header header~%~%# Id of the run~%string runId~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonRunStateRunIdChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current run id.\\n A run id is uniquely identifying a run or a flight.\\n For each run is generated on the drone a file which can be used by Academy to sum up the run.\\n Also, each medias taken during a run has a filename containing the run id.~%~%Header header~%~%# Id of the run~%string runId~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'CommonRunStateRunIdChanged))) "Returns full string definition for message of type 'CommonRunStateRunIdChanged" - (cl:format cl:nil "# CommonRunStateRunIdChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current run id.\\n A run id is uniquely identifying a run or a flight.\\n For each run is generated on the drone a file which can be used by Academy to sum up the run.\\n Also, each medias taken during a run has a filename containing the run id.~%~%Header header~%~%# Id of the run~%string runId~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%~%")) + (cl:format cl:nil "# CommonRunStateRunIdChanged~%# auto-generated from up stream XML files at~%# github.com/Parrot-Developers/libARCommands/tree/master/Xml~%# To check upstream commit hash, refer to last_build_info file~%# Do not modify this file by hand. Check scripts/meta folder for generator files.~%#~%# SDK Comment: Current run id.\\n A run id is uniquely identifying a run or a flight.\\n For each run is generated on the drone a file which can be used by Academy to sum up the run.\\n Also, each medias taken during a run has a filename containing the run id.~%~%Header header~%~%# Id of the run~%string runId~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.js index 6db8357..a75969a 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.js @@ -147,8 +147,6 @@ class Ardrone3AccessoryStateConnectedAccessories { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.js index 35677f2..df37498 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.js @@ -106,8 +106,6 @@ class Ardrone3AntiflickeringStateelectricFrequencyChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.js index c5a3cd4..4fecb2b 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.js @@ -107,8 +107,6 @@ class Ardrone3AntiflickeringStatemodeChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.js index 0a61162..6238ed1 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.js @@ -117,8 +117,6 @@ class Ardrone3CameraStateOrientation { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.js index f705eee..2f2858f 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.js @@ -117,8 +117,6 @@ class Ardrone3CameraStateOrientationV2 { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.js index c9e10c0..bd36f65 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.js @@ -117,8 +117,6 @@ class Ardrone3CameraStateVelocityRange { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.js index 1357f68..9c46a5c 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.js @@ -117,8 +117,6 @@ class Ardrone3CameraStatedefaultCameraOrientation { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.js index 2deba48..81842de 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.js @@ -117,8 +117,6 @@ class Ardrone3CameraStatedefaultCameraOrientationV2 { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.js index e26d187..6d5cc9c 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.js @@ -121,8 +121,6 @@ class Ardrone3GPSStateHomeTypeAvailabilityChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.js index 6e10837..6ebc650 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.js @@ -108,8 +108,6 @@ class Ardrone3GPSStateHomeTypeChosenChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.js index 2b81bd9..19caaf6 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.js @@ -104,8 +104,6 @@ class Ardrone3GPSStateNumberOfSatelliteChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.js index 81971f5..b85818e 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.js @@ -117,8 +117,6 @@ class Ardrone3MediaRecordStatePictureStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.js index 6d76b03..6b2cea8 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.js @@ -125,8 +125,6 @@ class Ardrone3MediaRecordStatePictureStateChangedV2 { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.js index a3971db..317a399 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.js @@ -125,8 +125,6 @@ class Ardrone3MediaRecordStateVideoResolutionState { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.js index 823013f..3d20df7 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.js @@ -121,8 +121,6 @@ class Ardrone3MediaRecordStateVideoStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.js index 92472f8..6f05914 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.js @@ -125,8 +125,6 @@ class Ardrone3MediaRecordStateVideoStateChangedV2 { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.js index aaadb8f..5f69eb2 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.js @@ -107,8 +107,6 @@ class Ardrone3MediaStreamingStateVideoEnableChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.js index de0b46c..91c5e98 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.js @@ -107,8 +107,6 @@ class Ardrone3MediaStreamingStateVideoStreamModeChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.js index 5b35dd1..05dea11 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.js @@ -91,8 +91,6 @@ class Ardrone3NetworkStateAllWifiAuthChannelChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.js index fced6cf..f260f48 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.js @@ -91,8 +91,6 @@ class Ardrone3NetworkStateAllWifiScanChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.js index f996cf3..58bf817 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.js @@ -132,8 +132,6 @@ class Ardrone3NetworkStateWifiAuthChannelListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.js index 2a38ac6..5726545 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.js @@ -146,8 +146,6 @@ class Ardrone3NetworkStateWifiScanListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.js index ad39c43..dfd3ec5 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.js @@ -104,8 +104,6 @@ class Ardrone3PROStateFeatures { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.js index 6f1bf18..b2ab266 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.js @@ -104,8 +104,6 @@ class Ardrone3PilotingStateAirSpeedChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.js index 649461a..9fbe4d7 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.js @@ -110,8 +110,6 @@ class Ardrone3PilotingStateAlertStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.js index 44eea31..8db1bde 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.js @@ -104,8 +104,6 @@ class Ardrone3PilotingStateAltitudeChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.js index 288580b..76ee5b9 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.js @@ -130,8 +130,6 @@ class Ardrone3PilotingStateAttitudeChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.js index 87fad5f..6038f2d 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.js @@ -104,8 +104,6 @@ class Ardrone3PilotingStateAutoTakeOffModeChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.js index ad4fdc2..579d1f4 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.js @@ -91,8 +91,6 @@ class Ardrone3PilotingStateFlatTrimChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.js index 34c9345..43d42dd 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.js @@ -113,8 +113,6 @@ class Ardrone3PilotingStateFlyingStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.js index cf9fdb3..467bf52 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.js @@ -169,8 +169,6 @@ class Ardrone3PilotingStateGpsLocationChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.js index c231ba3..5f8746a 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.js @@ -106,8 +106,6 @@ class Ardrone3PilotingStateLandingStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.js index ba6f55f..807329f 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.js @@ -128,8 +128,6 @@ class Ardrone3PilotingStateNavigateHomeStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.js index e014277..275d94b 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.js @@ -130,8 +130,6 @@ class Ardrone3PilotingStatePositionChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.js index e5445f4..3433227 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.js @@ -130,8 +130,6 @@ class Ardrone3PilotingStateSpeedChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.js index 8d339e2..fc218e3 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.js @@ -177,8 +177,6 @@ class Ardrone3PilotingStatemoveToChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.js index 242f76d..e5fae86 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.js @@ -105,8 +105,6 @@ class CommonARLibsVersionsStateControllerLibARCommandsVersion { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.js index 7c8d162..6b5ac45 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.js @@ -105,8 +105,6 @@ class CommonARLibsVersionsStateDeviceLibARCommandsVersion { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.js index bacf100..9a5739b 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.js @@ -105,8 +105,6 @@ class CommonARLibsVersionsStateSkyControllerLibARCommandsVersion { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.js index 9cd2126..b5101e4 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.js @@ -127,8 +127,6 @@ class CommonAccessoryStateAccessoryConfigChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.js index 0a41b92..62b485c 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.js @@ -104,8 +104,6 @@ class CommonAccessoryStateAccessoryConfigModificationEnabled { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.js index 993c53f..ea5d233 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.js @@ -109,8 +109,6 @@ class CommonAccessoryStateSupportedAccessoriesListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAnimationsStateList.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAnimationsStateList.js index c58b3ef..d2a0091 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAnimationsStateList.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAnimationsStateList.js @@ -152,8 +152,6 @@ class CommonAnimationsStateList { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.js index 3ad2c53..bf977e3 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.js @@ -104,8 +104,6 @@ class CommonAudioStateAudioStreamingRunning { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.js index 10d8e66..5b0cfbf 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.js @@ -108,8 +108,6 @@ class CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.js index 4ffea99..b8487e6 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.js @@ -104,8 +104,6 @@ class CommonCalibrationStateMagnetoCalibrationRequiredState { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.js index 7f10e05..d3089af 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.js @@ -104,8 +104,6 @@ class CommonCalibrationStateMagnetoCalibrationStartedChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.js index b6864e0..2735ea4 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.js @@ -143,8 +143,6 @@ class CommonCalibrationStateMagnetoCalibrationStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.js index 0065672..75b8714 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.js @@ -121,8 +121,6 @@ class CommonCalibrationStatePitotCalibrationStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.js index f5a9e5d..adbf505 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.js @@ -153,8 +153,6 @@ class CommonChargerStateChargingInfo { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.js index 665528f..a3ac87b 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.js @@ -127,8 +127,6 @@ class CommonChargerStateCurrentChargeStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.js index 5b46ef2..0642dce 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.js @@ -108,8 +108,6 @@ class CommonChargerStateLastChargeRateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.js index b52b6a5..7e99a23 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.js @@ -107,8 +107,6 @@ class CommonChargerStateMaxChargeRateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.js index 36589d9..b6f29e6 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.js @@ -91,8 +91,6 @@ class CommonCommonStateAllStatesChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.js index d661b4d..2422ffb 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.js @@ -104,8 +104,6 @@ class CommonCommonStateBatteryStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.js index 12b6a87..814e5e7 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.js @@ -118,8 +118,6 @@ class CommonCommonStateCountryListKnown { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.js index 13ff328..0a7bac5 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.js @@ -105,8 +105,6 @@ class CommonCommonStateCurrentDateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.js index 1fcf402..215e785 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.js @@ -105,8 +105,6 @@ class CommonCommonStateCurrentTimeChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.js index 4b63b89..5132fb8 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.js @@ -156,8 +156,6 @@ class CommonCommonStateDeprecatedMassStorageContentChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.js index 1af167d..80c95e0 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.js @@ -169,8 +169,6 @@ class CommonCommonStateMassStorageContent { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.js index c063d1d..6e54fce 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.js @@ -143,8 +143,6 @@ class CommonCommonStateMassStorageContentForCurrentRun { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.js index 6acfe24..ff345e4 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.js @@ -130,8 +130,6 @@ class CommonCommonStateMassStorageInfoRemainingListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.js index 4984eb1..f28f17e 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.js @@ -169,8 +169,6 @@ class CommonCommonStateMassStorageInfoStateListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.js index 69d2d4b..826f3b5 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.js @@ -118,8 +118,6 @@ class CommonCommonStateMassStorageStateListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateProductModel.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateProductModel.js index 8a2bacb..2120335 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateProductModel.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateProductModel.js @@ -119,8 +119,6 @@ class CommonCommonStateProductModel { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.js index 0eb1ac9..ce3eaa9 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.js @@ -123,8 +123,6 @@ class CommonCommonStateSensorsStatesListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.js index 5fdd7da..be39f29 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.js @@ -117,8 +117,6 @@ class CommonCommonStateVideoRecordingTimestamp { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.js index 8a21325..53b1933 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.js @@ -104,8 +104,6 @@ class CommonCommonStateWifiSignalChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.js index 5206ff9..85227b5 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.js @@ -104,8 +104,6 @@ class CommonFlightPlanStateAvailabilityStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.js index 24df7f6..c09cfef 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.js @@ -122,8 +122,6 @@ class CommonFlightPlanStateComponentStateListChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.js index 51c7ae0..2bfcf37 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.js @@ -104,8 +104,6 @@ class CommonFlightPlanStateLockStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.js index 2233526..59e612e 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.js @@ -117,8 +117,6 @@ class CommonHeadlightsStateintensityChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.js index d65bdbf..4efc484 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.js @@ -137,8 +137,6 @@ class CommonMavlinkStateMavlinkFilePlayingStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.js index 17e88a7..6887dad 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.js @@ -108,8 +108,6 @@ class CommonMavlinkStateMavlinkPlayErrorStateChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.js index b1be5a9..7aad73a 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.js @@ -104,8 +104,6 @@ class CommonMavlinkStateMissionItemExecuted { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.js index 880a6ca..ae8d6d2 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.js @@ -91,8 +91,6 @@ class CommonOverHeatStateOverHeatChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.js index 4605378..95c2aaf 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.js @@ -104,8 +104,6 @@ class CommonOverHeatStateOverHeatRegulationChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.js b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.js index 6cb5357..fd9ad91 100644 --- a/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.js +++ b/workspace/devel/.private/bebop_msgs/share/gennodejs/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.js @@ -105,8 +105,6 @@ class CommonRunStateRunIdChanged { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id `; diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.l index 9fac1c6..eae19ec 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AccessoryStateConnectedAccessories.l @@ -143,8 +143,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.l index 6ad7b25..a78da5e 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStateelectricFrequencyChanged.l @@ -104,8 +104,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.l index e7e7cc0..46c1917 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3AntiflickeringStatemodeChanged.l @@ -108,8 +108,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.l index 5e498a6..c209f51 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientation.l @@ -111,8 +111,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.l index 3985fae..1bcf29b 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateOrientationV2.l @@ -109,8 +109,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.l index 732b3ce..cfb64b8 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStateVelocityRange.l @@ -109,8 +109,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.l index 973d992..c8700b5 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientation.l @@ -111,8 +111,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.l index 4a18419..fae5979 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3CameraStatedefaultCameraOrientationV2.l @@ -109,8 +109,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.l index 43639a7..034d145 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeAvailabilityChanged.l @@ -125,8 +125,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.l index 5dfcc61..db0ad9a 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateHomeTypeChosenChanged.l @@ -112,8 +112,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.l index 0c6fd1b..35f9fde 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3GPSStateNumberOfSatelliteChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.l index 3aadbac..8e0cd13 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChanged.l @@ -109,8 +109,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.l index 4a5d51a..4a6cda1 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStatePictureStateChangedV2.l @@ -141,8 +141,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.l index 2a63bad..3b564b6 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoResolutionState.l @@ -141,8 +141,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.l index 030a608..d56dd23 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChanged.l @@ -125,8 +125,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.l index a54a140..bc9612d 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaRecordStateVideoStateChangedV2.l @@ -141,8 +141,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.l index 00c670e..3b53d78 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoEnableChanged.l @@ -108,8 +108,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.l index c8557eb..f2892dc 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3MediaStreamingStateVideoStreamModeChanged.l @@ -108,8 +108,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.l index 33472ec..345a25f 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiAuthChannelChanged.l @@ -83,8 +83,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.l index 1520732..08bfe37 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateAllWifiScanChanged.l @@ -83,8 +83,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.l index 65d01d1..a4b08f2 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiAuthChannelListChanged.l @@ -130,8 +130,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.l index a83293f..e3f063f 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3NetworkStateWifiScanListChanged.l @@ -143,8 +143,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.l index bc6e9fb..e42c121 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PROStateFeatures.l @@ -117,8 +117,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.l index 5765a4c..6c3629a 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAirSpeedChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.l index 7d839e8..8dd745c 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAlertStateChanged.l @@ -120,8 +120,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.l index 7f93832..e953106 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAltitudeChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.l index e9b2525..b832593 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAttitudeChanged.l @@ -122,8 +122,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.l index f322be6..faa43e6 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateAutoTakeOffModeChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.l index d59cdbc..d5c24a9 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlatTrimChanged.l @@ -83,8 +83,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.l index 73748a9..839abfa 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateFlyingStateChanged.l @@ -132,8 +132,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.l index 07701a9..8007143 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateGpsLocationChanged.l @@ -164,8 +164,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.l index 34e1442..3f4080e 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateLandingStateChanged.l @@ -104,8 +104,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.l index 3afdb60..41de7cb 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateNavigateHomeStateChanged.l @@ -153,8 +153,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.l index 08fd1fe..8a0a090 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatePositionChanged.l @@ -122,8 +122,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.l index 347f275..0dd72b6 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStateSpeedChanged.l @@ -122,8 +122,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.l index 0c4a6e6..de3d126 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/Ardrone3PilotingStatemoveToChanged.l @@ -193,8 +193,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.l index 340c1fe..0101842 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateControllerLibARCommandsVersion.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.l index ca3a337..a11189e 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateDeviceLibARCommandsVersion.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.l index 0ced53c..e5a5842 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonARLibsVersionsStateSkyControllerLibARCommandsVersion.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.l index 1047dd3..61c0d31 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigChanged.l @@ -149,8 +149,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.l index 7fa2e54..2fc9abb 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateAccessoryConfigModificationEnabled.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.l index db5088e..8617a40 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAccessoryStateSupportedAccessoriesListChanged.l @@ -116,8 +116,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAnimationsStateList.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAnimationsStateList.l index bbe9462..b4fe11c 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAnimationsStateList.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAnimationsStateList.l @@ -210,8 +210,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.l index da66e5f..8e7d9cb 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonAudioStateAudioStreamingRunning.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.l index 3a913be..27f634b 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.l @@ -112,8 +112,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.l index d6d3afa..e9a480c 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationRequiredState.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.l index a7721cc..56e23ab 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStartedChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.l index 358db13..ffeacd3 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStateMagnetoCalibrationStateChanged.l @@ -135,8 +135,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.l index 9d67a28..81ba6f9 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCalibrationStatePitotCalibrationStateChanged.l @@ -125,8 +125,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.l index e5158ca..4685042 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateChargingInfo.l @@ -175,8 +175,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.l index d250250..a55cd70 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateCurrentChargeStateChanged.l @@ -149,8 +149,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.l index 736b60c..06c2646 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateLastChargeRateChanged.l @@ -112,8 +112,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.l index ca344f0..a0b60d5 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonChargerStateMaxChargeRateChanged.l @@ -108,8 +108,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.l index eb54407..0fa341a 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateAllStatesChanged.l @@ -83,8 +83,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.l index 38bad22..2fbc294 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateBatteryStateChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.l index bb0dc81..559e41b 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCountryListKnown.l @@ -109,8 +109,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.l index 610f3e9..af9b5e0 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentDateChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.l index f331eda..8409382 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateCurrentTimeChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.l index f64cd81..30c5652 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateDeprecatedMassStorageContentChanged.l @@ -148,8 +148,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.l index b574eb5..8f6d5c6 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContent.l @@ -161,8 +161,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.l index f9aafc2..8e41c55 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageContentForCurrentRun.l @@ -135,8 +135,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.l index ef03b7c..3378e8e 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoRemainingListChanged.l @@ -122,8 +122,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.l index 26b77da..7128f77 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageInfoStateListChanged.l @@ -161,8 +161,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.l index 1df6a9d..e4c17a0 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateMassStorageStateListChanged.l @@ -109,8 +109,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateProductModel.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateProductModel.l index 132a5e2..c7ec13b 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateProductModel.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateProductModel.l @@ -156,8 +156,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.l index 2b02401..efcb2c4 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateSensorsStatesListChanged.l @@ -133,8 +133,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.l index 3957c2a..8fdb4c7 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateVideoRecordingTimestamp.l @@ -151,8 +151,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.l index ae14c43..f2f75c8 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonCommonStateWifiSignalChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.l index 46a9d75..2758cc9 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateAvailabilityStateChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.l index 1438b0f..da5225b 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateComponentStateListChanged.l @@ -129,8 +129,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.l index 1d4e57b..171deb7 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonFlightPlanStateLockStateChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.l index d608532..deb7068 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonHeadlightsStateintensityChanged.l @@ -109,8 +109,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.l index ed97fd5..87f1393 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkFilePlayingStateChanged.l @@ -146,8 +146,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.l index ea2d632..2226c6a 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMavlinkPlayErrorStateChanged.l @@ -112,8 +112,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.l index a666e6f..2783431 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonMavlinkStateMissionItemExecuted.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.l index d3b7941..fcb4197 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatChanged.l @@ -83,8 +83,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.l index efc62d9..b5dbb50 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonOverHeatStateOverHeatRegulationChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.l b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.l index 1a7d08b..b815bca 100644 --- a/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.l +++ b/workspace/devel/.private/bebop_msgs/share/roseus/ros/bebop_msgs/msg/CommonRunStateRunIdChanged.l @@ -96,8 +96,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ") diff --git a/workspace/devel/.private/bebop_tools/_setup_util.py b/workspace/devel/.private/bebop_tools/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/bebop_tools/_setup_util.py +++ b/workspace/devel/.private/bebop_tools/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/bebop_tools/cmake.lock b/workspace/devel/.private/bebop_tools/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/bebop_tools/local_setup.bash b/workspace/devel/.private/bebop_tools/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/bebop_tools/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/bebop_tools/local_setup.sh b/workspace/devel/.private/bebop_tools/local_setup.sh new file mode 100644 index 0000000..5647ee6 --- /dev/null +++ b/workspace/devel/.private/bebop_tools/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_tools} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/bebop_tools/local_setup.zsh b/workspace/devel/.private/bebop_tools/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/bebop_tools/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/bebop_tools/setup.sh b/workspace/devel/.private/bebop_tools/setup.sh index 3b96877..2fd96eb 100644 --- a/workspace/devel/.private/bebop_tools/setup.sh +++ b/workspace/devel/.private/bebop_tools/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/bebop_tools/share/bebop_tools/cmake/bebop_toolsConfig.cmake b/workspace/devel/.private/bebop_tools/share/bebop_tools/cmake/bebop_toolsConfig.cmake index 80fd93c..3679f10 100644 --- a/workspace/devel/.private/bebop_tools/share/bebop_tools/cmake/bebop_toolsConfig.cmake +++ b/workspace/devel/.private/bebop_tools/share/bebop_tools/cmake/bebop_toolsConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND bebop_tools_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND bebop_tools_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND bebop_tools_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/demo_teleop/_setup_util.py b/workspace/devel/.private/demo_teleop/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/demo_teleop/_setup_util.py +++ b/workspace/devel/.private/demo_teleop/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/demo_teleop/cmake.lock b/workspace/devel/.private/demo_teleop/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/demo_teleop/local_setup.bash b/workspace/devel/.private/demo_teleop/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/demo_teleop/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/demo_teleop/local_setup.sh b/workspace/devel/.private/demo_teleop/local_setup.sh new file mode 100644 index 0000000..f134039 --- /dev/null +++ b/workspace/devel/.private/demo_teleop/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/demo_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/demo_teleop/local_setup.zsh b/workspace/devel/.private/demo_teleop/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/demo_teleop/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/demo_teleop/setup.sh b/workspace/devel/.private/demo_teleop/setup.sh index 9115d5f..7de5337 100644 --- a/workspace/devel/.private/demo_teleop/setup.sh +++ b/workspace/devel/.private/demo_teleop/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/demo_teleop/share/demo_teleop/cmake/demo_teleopConfig.cmake b/workspace/devel/.private/demo_teleop/share/demo_teleop/cmake/demo_teleopConfig.cmake index ff38a73..7d1cf58 100644 --- a/workspace/devel/.private/demo_teleop/share/demo_teleop/cmake/demo_teleopConfig.cmake +++ b/workspace/devel/.private/demo_teleop/share/demo_teleop/cmake/demo_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND demo_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND demo_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND demo_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/detect_targets/_setup_util.py b/workspace/devel/.private/detect_targets/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/detect_targets/_setup_util.py +++ b/workspace/devel/.private/detect_targets/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/detect_targets/cmake.lock b/workspace/devel/.private/detect_targets/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h b/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h new file mode 100644 index 0000000..5b6f729 --- /dev/null +++ b/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h @@ -0,0 +1,543 @@ +//#line 2 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" +// ********************************************************* +// +// File autogenerated for the detect_targets package +// by the dynamic_reconfigure package. +// Please do not edit. +// +// ********************************************************/ + +#ifndef __detect_targets__DERIVATIVENODECONFIG_H__ +#define __detect_targets__DERIVATIVENODECONFIG_H__ + +#if __cplusplus >= 201103L +#define DYNAMIC_RECONFIGURE_FINAL final +#else +#define DYNAMIC_RECONFIGURE_FINAL +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace detect_targets +{ + class DerivativeNodeConfigStatics; + + class DerivativeNodeConfig + { + public: + class AbstractParamDescription : public dynamic_reconfigure::ParamDescription + { + public: + AbstractParamDescription(std::string n, std::string t, uint32_t l, + std::string d, std::string e) + { + name = n; + type = t; + level = l; + description = d; + edit_method = e; + } + + virtual void clamp(DerivativeNodeConfig &config, const DerivativeNodeConfig &max, const DerivativeNodeConfig &min) const = 0; + virtual void calcLevel(uint32_t &level, const DerivativeNodeConfig &config1, const DerivativeNodeConfig &config2) const = 0; + virtual void fromServer(const ros::NodeHandle &nh, DerivativeNodeConfig &config) const = 0; + virtual void toServer(const ros::NodeHandle &nh, const DerivativeNodeConfig &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, DerivativeNodeConfig &config) const = 0; + virtual void toMessage(dynamic_reconfigure::Config &msg, const DerivativeNodeConfig &config) const = 0; + virtual void getValue(const DerivativeNodeConfig &config, boost::any &val) const = 0; + }; + + typedef boost::shared_ptr AbstractParamDescriptionPtr; + typedef boost::shared_ptr AbstractParamDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class ParamDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractParamDescription + { + public: + ParamDescription(std::string a_name, std::string a_type, uint32_t a_level, + std::string a_description, std::string a_edit_method, T DerivativeNodeConfig::* a_f) : + AbstractParamDescription(a_name, a_type, a_level, a_description, a_edit_method), + field(a_f) + {} + + T (DerivativeNodeConfig::* field); + + virtual void clamp(DerivativeNodeConfig &config, const DerivativeNodeConfig &max, const DerivativeNodeConfig &min) const + { + if (config.*field > max.*field) + config.*field = max.*field; + + if (config.*field < min.*field) + config.*field = min.*field; + } + + virtual void calcLevel(uint32_t &comb_level, const DerivativeNodeConfig &config1, const DerivativeNodeConfig &config2) const + { + if (config1.*field != config2.*field) + comb_level |= level; + } + + virtual void fromServer(const ros::NodeHandle &nh, DerivativeNodeConfig &config) const + { + nh.getParam(name, config.*field); + } + + virtual void toServer(const ros::NodeHandle &nh, const DerivativeNodeConfig &config) const + { + nh.setParam(name, config.*field); + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, DerivativeNodeConfig &config) const + { + return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field); + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const DerivativeNodeConfig &config) const + { + dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field); + } + + virtual void getValue(const DerivativeNodeConfig &config, boost::any &val) const + { + val = config.*field; + } + }; + + class AbstractGroupDescription : public dynamic_reconfigure::Group + { + public: + AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s) + { + name = n; + type = t; + parent = p; + state = s; + id = i; + } + + std::vector abstract_parameters; + bool state; + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &config) const =0; + virtual void updateParams(boost::any &cfg, DerivativeNodeConfig &top) const= 0; + virtual void setInitialState(boost::any &cfg) const = 0; + + + void convertParams() + { + for(std::vector::const_iterator i = abstract_parameters.begin(); i != abstract_parameters.end(); ++i) + { + parameters.push_back(dynamic_reconfigure::ParamDescription(**i)); + } + } + }; + + typedef boost::shared_ptr AbstractGroupDescriptionPtr; + typedef boost::shared_ptr AbstractGroupDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class GroupDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractGroupDescription + { + public: + GroupDescription(std::string a_name, std::string a_type, int a_parent, int a_id, bool a_s, T PT::* a_f) : AbstractGroupDescription(a_name, a_type, a_parent, a_id, a_s), field(a_f) + { + } + + GroupDescription(const GroupDescription& g): AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups) + { + parameters = g.parameters; + abstract_parameters = g.abstract_parameters; + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + if(!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field)) + return false; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + if(!(*i)->fromMessage(msg, n)) + return false; + } + + return true; + } + + virtual void setInitialState(boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + T* group = &((*config).*field); + group->state = state; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = boost::any(&((*config).*field)); + (*i)->setInitialState(n); + } + + } + + virtual void updateParams(boost::any &cfg, DerivativeNodeConfig &top) const + { + PT* config = boost::any_cast(cfg); + + T* f = &((*config).*field); + f->setParams(top, abstract_parameters); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + (*i)->updateParams(n, top); + } + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const + { + const PT config = boost::any_cast(cfg); + dynamic_reconfigure::ConfigTools::appendGroup(msg, name, id, parent, config.*field); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + (*i)->toMessage(msg, config.*field); + } + } + + T (PT::* field); + std::vector groups; + }; + +class DEFAULT +{ + public: + DEFAULT() + { + state = true; + name = "Default"; + } + + void setParams(DerivativeNodeConfig &config, const std::vector params) + { + for (std::vector::const_iterator _i = params.begin(); _i != params.end(); ++_i) + { + boost::any val; + (*_i)->getValue(config, val); + + if("k"==(*_i)->name){k = boost::any_cast(val);} + if("size"==(*_i)->name){size = boost::any_cast(val);} + if("poly_order"==(*_i)->name){poly_order = boost::any_cast(val);} + if("refresh_time"==(*_i)->name){refresh_time = boost::any_cast(val);} + if("deriv"==(*_i)->name){deriv = boost::any_cast(val);} + } + } + + double k; +int size; +int poly_order; +double refresh_time; +int deriv; + + bool state; + std::string name; + + +}groups; + + + +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double k; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + int size; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + int poly_order; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double refresh_time; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + int deriv; +//#line 228 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + bool __fromMessage__(dynamic_reconfigure::Config &msg) + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + + int count = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + if ((*i)->fromMessage(msg, *this)) + count++; + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i ++) + { + if ((*i)->id == 0) + { + boost::any n = boost::any(this); + (*i)->updateParams(n, *this); + (*i)->fromMessage(msg, n); + } + } + + if (count != dynamic_reconfigure::ConfigTools::size(msg)) + { + ROS_ERROR("DerivativeNodeConfig::__fromMessage__ called with an unexpected parameter."); + ROS_ERROR("Booleans:"); + for (unsigned int i = 0; i < msg.bools.size(); i++) + ROS_ERROR(" %s", msg.bools[i].name.c_str()); + ROS_ERROR("Integers:"); + for (unsigned int i = 0; i < msg.ints.size(); i++) + ROS_ERROR(" %s", msg.ints[i].name.c_str()); + ROS_ERROR("Doubles:"); + for (unsigned int i = 0; i < msg.doubles.size(); i++) + ROS_ERROR(" %s", msg.doubles[i].name.c_str()); + ROS_ERROR("Strings:"); + for (unsigned int i = 0; i < msg.strs.size(); i++) + ROS_ERROR(" %s", msg.strs[i].name.c_str()); + // @todo Check that there are no duplicates. Make this error more + // explicit. + return false; + } + return true; + } + + // This version of __toMessage__ is used during initialization of + // statics when __getParamDescriptions__ can't be called yet. + void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector &__param_descriptions__, const std::vector &__group_descriptions__) const + { + dynamic_reconfigure::ConfigTools::clear(msg); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toMessage(msg, *this); + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + if((*i)->id == 0) + { + (*i)->toMessage(msg, *this); + } + } + } + + void __toMessage__(dynamic_reconfigure::Config &msg) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + __toMessage__(msg, __param_descriptions__, __group_descriptions__); + } + + void __toServer__(const ros::NodeHandle &nh) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toServer(nh, *this); + } + + void __fromServer__(const ros::NodeHandle &nh) + { + static bool setup=false; + + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->fromServer(nh, *this); + + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i++){ + if (!setup && (*i)->id == 0) { + setup = true; + boost::any n = boost::any(this); + (*i)->setInitialState(n); + } + } + } + + void __clamp__() + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const DerivativeNodeConfig &__max__ = __getMax__(); + const DerivativeNodeConfig &__min__ = __getMin__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->clamp(*this, __max__, __min__); + } + + uint32_t __level__(const DerivativeNodeConfig &config) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + uint32_t level = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->calcLevel(level, config, *this); + return level; + } + + static const dynamic_reconfigure::ConfigDescription &__getDescriptionMessage__(); + static const DerivativeNodeConfig &__getDefault__(); + static const DerivativeNodeConfig &__getMax__(); + static const DerivativeNodeConfig &__getMin__(); + static const std::vector &__getParamDescriptions__(); + static const std::vector &__getGroupDescriptions__(); + + private: + static const DerivativeNodeConfigStatics *__get_statics__(); + }; + + template <> // Max and min are ignored for strings. + inline void DerivativeNodeConfig::ParamDescription::clamp(DerivativeNodeConfig &config, const DerivativeNodeConfig &max, const DerivativeNodeConfig &min) const + { + (void) config; + (void) min; + (void) max; + return; + } + + class DerivativeNodeConfigStatics + { + friend class DerivativeNodeConfig; + + DerivativeNodeConfigStatics() + { +DerivativeNodeConfig::GroupDescription Default("Default", "", 0, 0, true, &DerivativeNodeConfig::groups); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.k = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.k = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.k = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("k", "double", 0, "K", "", &DerivativeNodeConfig::k))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("k", "double", 0, "K", "", &DerivativeNodeConfig::k))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.size = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.size = 20; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.size = 3; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("size", "int", 0, "Size of the Savinsky Golay filter", "", &DerivativeNodeConfig::size))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("size", "int", 0, "Size of the Savinsky Golay filter", "", &DerivativeNodeConfig::size))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.poly_order = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.poly_order = 20; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.poly_order = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("poly_order", "int", 0, "Order of the polynome of the Savinsky Golay filter", "", &DerivativeNodeConfig::poly_order))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("poly_order", "int", 0, "Order of the polynome of the Savinsky Golay filter", "", &DerivativeNodeConfig::poly_order))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.refresh_time = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.refresh_time = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.refresh_time = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &DerivativeNodeConfig::refresh_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &DerivativeNodeConfig::refresh_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.deriv = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.deriv = 2147483647; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.deriv = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("deriv", "int", 0, "Derivative order", "", &DerivativeNodeConfig::deriv))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(DerivativeNodeConfig::AbstractParamDescriptionConstPtr(new DerivativeNodeConfig::ParamDescription("deriv", "int", 0, "Derivative order", "", &DerivativeNodeConfig::deriv))); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.convertParams(); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __group_descriptions__.push_back(DerivativeNodeConfig::AbstractGroupDescriptionConstPtr(new DerivativeNodeConfig::GroupDescription(Default))); +//#line 366 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + __description_message__.groups.push_back(**i); + } + __max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__); + __min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__); + __default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__); + } + std::vector __param_descriptions__; + std::vector __group_descriptions__; + DerivativeNodeConfig __max__; + DerivativeNodeConfig __min__; + DerivativeNodeConfig __default__; + dynamic_reconfigure::ConfigDescription __description_message__; + + static const DerivativeNodeConfigStatics *get_instance() + { + // Split this off in a separate function because I know that + // instance will get initialized the first time get_instance is + // called, and I am guaranteeing that get_instance gets called at + // most once. + static DerivativeNodeConfigStatics instance; + return &instance; + } + }; + + inline const dynamic_reconfigure::ConfigDescription &DerivativeNodeConfig::__getDescriptionMessage__() + { + return __get_statics__()->__description_message__; + } + + inline const DerivativeNodeConfig &DerivativeNodeConfig::__getDefault__() + { + return __get_statics__()->__default__; + } + + inline const DerivativeNodeConfig &DerivativeNodeConfig::__getMax__() + { + return __get_statics__()->__max__; + } + + inline const DerivativeNodeConfig &DerivativeNodeConfig::__getMin__() + { + return __get_statics__()->__min__; + } + + inline const std::vector &DerivativeNodeConfig::__getParamDescriptions__() + { + return __get_statics__()->__param_descriptions__; + } + + inline const std::vector &DerivativeNodeConfig::__getGroupDescriptions__() + { + return __get_statics__()->__group_descriptions__; + } + + inline const DerivativeNodeConfigStatics *DerivativeNodeConfig::__get_statics__() + { + const static DerivativeNodeConfigStatics *statics; + + if (statics) // Common case + return statics; + + boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__); + + if (statics) // In case we lost a race. + return statics; + + statics = DerivativeNodeConfigStatics::get_instance(); + + return statics; + } + + +} + +#undef DYNAMIC_RECONFIGURE_FINAL + +#endif // __DERIVATIVENODERECONFIGURATOR_H__ diff --git a/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h b/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h new file mode 100644 index 0000000..bf04289 --- /dev/null +++ b/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h @@ -0,0 +1,487 @@ +//#line 2 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" +// ********************************************************* +// +// File autogenerated for the detect_targets package +// by the dynamic_reconfigure package. +// Please do not edit. +// +// ********************************************************/ + +#ifndef __detect_targets__INPUTNODECONFIG_H__ +#define __detect_targets__INPUTNODECONFIG_H__ + +#if __cplusplus >= 201103L +#define DYNAMIC_RECONFIGURE_FINAL final +#else +#define DYNAMIC_RECONFIGURE_FINAL +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace detect_targets +{ + class InputNodeConfigStatics; + + class InputNodeConfig + { + public: + class AbstractParamDescription : public dynamic_reconfigure::ParamDescription + { + public: + AbstractParamDescription(std::string n, std::string t, uint32_t l, + std::string d, std::string e) + { + name = n; + type = t; + level = l; + description = d; + edit_method = e; + } + + virtual void clamp(InputNodeConfig &config, const InputNodeConfig &max, const InputNodeConfig &min) const = 0; + virtual void calcLevel(uint32_t &level, const InputNodeConfig &config1, const InputNodeConfig &config2) const = 0; + virtual void fromServer(const ros::NodeHandle &nh, InputNodeConfig &config) const = 0; + virtual void toServer(const ros::NodeHandle &nh, const InputNodeConfig &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, InputNodeConfig &config) const = 0; + virtual void toMessage(dynamic_reconfigure::Config &msg, const InputNodeConfig &config) const = 0; + virtual void getValue(const InputNodeConfig &config, boost::any &val) const = 0; + }; + + typedef boost::shared_ptr AbstractParamDescriptionPtr; + typedef boost::shared_ptr AbstractParamDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class ParamDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractParamDescription + { + public: + ParamDescription(std::string a_name, std::string a_type, uint32_t a_level, + std::string a_description, std::string a_edit_method, T InputNodeConfig::* a_f) : + AbstractParamDescription(a_name, a_type, a_level, a_description, a_edit_method), + field(a_f) + {} + + T (InputNodeConfig::* field); + + virtual void clamp(InputNodeConfig &config, const InputNodeConfig &max, const InputNodeConfig &min) const + { + if (config.*field > max.*field) + config.*field = max.*field; + + if (config.*field < min.*field) + config.*field = min.*field; + } + + virtual void calcLevel(uint32_t &comb_level, const InputNodeConfig &config1, const InputNodeConfig &config2) const + { + if (config1.*field != config2.*field) + comb_level |= level; + } + + virtual void fromServer(const ros::NodeHandle &nh, InputNodeConfig &config) const + { + nh.getParam(name, config.*field); + } + + virtual void toServer(const ros::NodeHandle &nh, const InputNodeConfig &config) const + { + nh.setParam(name, config.*field); + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, InputNodeConfig &config) const + { + return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field); + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const InputNodeConfig &config) const + { + dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field); + } + + virtual void getValue(const InputNodeConfig &config, boost::any &val) const + { + val = config.*field; + } + }; + + class AbstractGroupDescription : public dynamic_reconfigure::Group + { + public: + AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s) + { + name = n; + type = t; + parent = p; + state = s; + id = i; + } + + std::vector abstract_parameters; + bool state; + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &config) const =0; + virtual void updateParams(boost::any &cfg, InputNodeConfig &top) const= 0; + virtual void setInitialState(boost::any &cfg) const = 0; + + + void convertParams() + { + for(std::vector::const_iterator i = abstract_parameters.begin(); i != abstract_parameters.end(); ++i) + { + parameters.push_back(dynamic_reconfigure::ParamDescription(**i)); + } + } + }; + + typedef boost::shared_ptr AbstractGroupDescriptionPtr; + typedef boost::shared_ptr AbstractGroupDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class GroupDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractGroupDescription + { + public: + GroupDescription(std::string a_name, std::string a_type, int a_parent, int a_id, bool a_s, T PT::* a_f) : AbstractGroupDescription(a_name, a_type, a_parent, a_id, a_s), field(a_f) + { + } + + GroupDescription(const GroupDescription& g): AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups) + { + parameters = g.parameters; + abstract_parameters = g.abstract_parameters; + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + if(!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field)) + return false; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + if(!(*i)->fromMessage(msg, n)) + return false; + } + + return true; + } + + virtual void setInitialState(boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + T* group = &((*config).*field); + group->state = state; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = boost::any(&((*config).*field)); + (*i)->setInitialState(n); + } + + } + + virtual void updateParams(boost::any &cfg, InputNodeConfig &top) const + { + PT* config = boost::any_cast(cfg); + + T* f = &((*config).*field); + f->setParams(top, abstract_parameters); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + (*i)->updateParams(n, top); + } + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const + { + const PT config = boost::any_cast(cfg); + dynamic_reconfigure::ConfigTools::appendGroup(msg, name, id, parent, config.*field); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + (*i)->toMessage(msg, config.*field); + } + } + + T (PT::* field); + std::vector groups; + }; + +class DEFAULT +{ + public: + DEFAULT() + { + state = true; + name = "Default"; + } + + void setParams(InputNodeConfig &config, const std::vector params) + { + for (std::vector::const_iterator _i = params.begin(); _i != params.end(); ++_i) + { + boost::any val; + (*_i)->getValue(config, val); + + if("value"==(*_i)->name){value = boost::any_cast(val);} + } + } + + double value; + + bool state; + std::string name; + + +}groups; + + + +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double value; +//#line 228 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + bool __fromMessage__(dynamic_reconfigure::Config &msg) + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + + int count = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + if ((*i)->fromMessage(msg, *this)) + count++; + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i ++) + { + if ((*i)->id == 0) + { + boost::any n = boost::any(this); + (*i)->updateParams(n, *this); + (*i)->fromMessage(msg, n); + } + } + + if (count != dynamic_reconfigure::ConfigTools::size(msg)) + { + ROS_ERROR("InputNodeConfig::__fromMessage__ called with an unexpected parameter."); + ROS_ERROR("Booleans:"); + for (unsigned int i = 0; i < msg.bools.size(); i++) + ROS_ERROR(" %s", msg.bools[i].name.c_str()); + ROS_ERROR("Integers:"); + for (unsigned int i = 0; i < msg.ints.size(); i++) + ROS_ERROR(" %s", msg.ints[i].name.c_str()); + ROS_ERROR("Doubles:"); + for (unsigned int i = 0; i < msg.doubles.size(); i++) + ROS_ERROR(" %s", msg.doubles[i].name.c_str()); + ROS_ERROR("Strings:"); + for (unsigned int i = 0; i < msg.strs.size(); i++) + ROS_ERROR(" %s", msg.strs[i].name.c_str()); + // @todo Check that there are no duplicates. Make this error more + // explicit. + return false; + } + return true; + } + + // This version of __toMessage__ is used during initialization of + // statics when __getParamDescriptions__ can't be called yet. + void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector &__param_descriptions__, const std::vector &__group_descriptions__) const + { + dynamic_reconfigure::ConfigTools::clear(msg); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toMessage(msg, *this); + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + if((*i)->id == 0) + { + (*i)->toMessage(msg, *this); + } + } + } + + void __toMessage__(dynamic_reconfigure::Config &msg) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + __toMessage__(msg, __param_descriptions__, __group_descriptions__); + } + + void __toServer__(const ros::NodeHandle &nh) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toServer(nh, *this); + } + + void __fromServer__(const ros::NodeHandle &nh) + { + static bool setup=false; + + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->fromServer(nh, *this); + + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i++){ + if (!setup && (*i)->id == 0) { + setup = true; + boost::any n = boost::any(this); + (*i)->setInitialState(n); + } + } + } + + void __clamp__() + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const InputNodeConfig &__max__ = __getMax__(); + const InputNodeConfig &__min__ = __getMin__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->clamp(*this, __max__, __min__); + } + + uint32_t __level__(const InputNodeConfig &config) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + uint32_t level = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->calcLevel(level, config, *this); + return level; + } + + static const dynamic_reconfigure::ConfigDescription &__getDescriptionMessage__(); + static const InputNodeConfig &__getDefault__(); + static const InputNodeConfig &__getMax__(); + static const InputNodeConfig &__getMin__(); + static const std::vector &__getParamDescriptions__(); + static const std::vector &__getGroupDescriptions__(); + + private: + static const InputNodeConfigStatics *__get_statics__(); + }; + + template <> // Max and min are ignored for strings. + inline void InputNodeConfig::ParamDescription::clamp(InputNodeConfig &config, const InputNodeConfig &max, const InputNodeConfig &min) const + { + (void) config; + (void) min; + (void) max; + return; + } + + class InputNodeConfigStatics + { + friend class InputNodeConfig; + + InputNodeConfigStatics() + { +InputNodeConfig::GroupDescription Default("Default", "", 0, 0, true, &InputNodeConfig::groups); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.value = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.value = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.value = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(InputNodeConfig::AbstractParamDescriptionConstPtr(new InputNodeConfig::ParamDescription("value", "double", 0, "Input Value", "", &InputNodeConfig::value))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(InputNodeConfig::AbstractParamDescriptionConstPtr(new InputNodeConfig::ParamDescription("value", "double", 0, "Input Value", "", &InputNodeConfig::value))); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.convertParams(); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __group_descriptions__.push_back(InputNodeConfig::AbstractGroupDescriptionConstPtr(new InputNodeConfig::GroupDescription(Default))); +//#line 366 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + __description_message__.groups.push_back(**i); + } + __max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__); + __min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__); + __default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__); + } + std::vector __param_descriptions__; + std::vector __group_descriptions__; + InputNodeConfig __max__; + InputNodeConfig __min__; + InputNodeConfig __default__; + dynamic_reconfigure::ConfigDescription __description_message__; + + static const InputNodeConfigStatics *get_instance() + { + // Split this off in a separate function because I know that + // instance will get initialized the first time get_instance is + // called, and I am guaranteeing that get_instance gets called at + // most once. + static InputNodeConfigStatics instance; + return &instance; + } + }; + + inline const dynamic_reconfigure::ConfigDescription &InputNodeConfig::__getDescriptionMessage__() + { + return __get_statics__()->__description_message__; + } + + inline const InputNodeConfig &InputNodeConfig::__getDefault__() + { + return __get_statics__()->__default__; + } + + inline const InputNodeConfig &InputNodeConfig::__getMax__() + { + return __get_statics__()->__max__; + } + + inline const InputNodeConfig &InputNodeConfig::__getMin__() + { + return __get_statics__()->__min__; + } + + inline const std::vector &InputNodeConfig::__getParamDescriptions__() + { + return __get_statics__()->__param_descriptions__; + } + + inline const std::vector &InputNodeConfig::__getGroupDescriptions__() + { + return __get_statics__()->__group_descriptions__; + } + + inline const InputNodeConfigStatics *InputNodeConfig::__get_statics__() + { + const static InputNodeConfigStatics *statics; + + if (statics) // Common case + return statics; + + boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__); + + if (statics) // In case we lost a race. + return statics; + + statics = InputNodeConfigStatics::get_instance(); + + return statics; + } + + +} + +#undef DYNAMIC_RECONFIGURE_FINAL + +#endif // __INPUTNODERECONFIGURATOR_H__ diff --git a/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h b/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h new file mode 100644 index 0000000..ca085df --- /dev/null +++ b/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h @@ -0,0 +1,557 @@ +//#line 2 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" +// ********************************************************* +// +// File autogenerated for the detect_targets package +// by the dynamic_reconfigure package. +// Please do not edit. +// +// ********************************************************/ + +#ifndef __detect_targets__INTEGRALNODECONFIG_H__ +#define __detect_targets__INTEGRALNODECONFIG_H__ + +#if __cplusplus >= 201103L +#define DYNAMIC_RECONFIGURE_FINAL final +#else +#define DYNAMIC_RECONFIGURE_FINAL +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace detect_targets +{ + class IntegralNodeConfigStatics; + + class IntegralNodeConfig + { + public: + class AbstractParamDescription : public dynamic_reconfigure::ParamDescription + { + public: + AbstractParamDescription(std::string n, std::string t, uint32_t l, + std::string d, std::string e) + { + name = n; + type = t; + level = l; + description = d; + edit_method = e; + } + + virtual void clamp(IntegralNodeConfig &config, const IntegralNodeConfig &max, const IntegralNodeConfig &min) const = 0; + virtual void calcLevel(uint32_t &level, const IntegralNodeConfig &config1, const IntegralNodeConfig &config2) const = 0; + virtual void fromServer(const ros::NodeHandle &nh, IntegralNodeConfig &config) const = 0; + virtual void toServer(const ros::NodeHandle &nh, const IntegralNodeConfig &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, IntegralNodeConfig &config) const = 0; + virtual void toMessage(dynamic_reconfigure::Config &msg, const IntegralNodeConfig &config) const = 0; + virtual void getValue(const IntegralNodeConfig &config, boost::any &val) const = 0; + }; + + typedef boost::shared_ptr AbstractParamDescriptionPtr; + typedef boost::shared_ptr AbstractParamDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class ParamDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractParamDescription + { + public: + ParamDescription(std::string a_name, std::string a_type, uint32_t a_level, + std::string a_description, std::string a_edit_method, T IntegralNodeConfig::* a_f) : + AbstractParamDescription(a_name, a_type, a_level, a_description, a_edit_method), + field(a_f) + {} + + T (IntegralNodeConfig::* field); + + virtual void clamp(IntegralNodeConfig &config, const IntegralNodeConfig &max, const IntegralNodeConfig &min) const + { + if (config.*field > max.*field) + config.*field = max.*field; + + if (config.*field < min.*field) + config.*field = min.*field; + } + + virtual void calcLevel(uint32_t &comb_level, const IntegralNodeConfig &config1, const IntegralNodeConfig &config2) const + { + if (config1.*field != config2.*field) + comb_level |= level; + } + + virtual void fromServer(const ros::NodeHandle &nh, IntegralNodeConfig &config) const + { + nh.getParam(name, config.*field); + } + + virtual void toServer(const ros::NodeHandle &nh, const IntegralNodeConfig &config) const + { + nh.setParam(name, config.*field); + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, IntegralNodeConfig &config) const + { + return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field); + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const IntegralNodeConfig &config) const + { + dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field); + } + + virtual void getValue(const IntegralNodeConfig &config, boost::any &val) const + { + val = config.*field; + } + }; + + class AbstractGroupDescription : public dynamic_reconfigure::Group + { + public: + AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s) + { + name = n; + type = t; + parent = p; + state = s; + id = i; + } + + std::vector abstract_parameters; + bool state; + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &config) const =0; + virtual void updateParams(boost::any &cfg, IntegralNodeConfig &top) const= 0; + virtual void setInitialState(boost::any &cfg) const = 0; + + + void convertParams() + { + for(std::vector::const_iterator i = abstract_parameters.begin(); i != abstract_parameters.end(); ++i) + { + parameters.push_back(dynamic_reconfigure::ParamDescription(**i)); + } + } + }; + + typedef boost::shared_ptr AbstractGroupDescriptionPtr; + typedef boost::shared_ptr AbstractGroupDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class GroupDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractGroupDescription + { + public: + GroupDescription(std::string a_name, std::string a_type, int a_parent, int a_id, bool a_s, T PT::* a_f) : AbstractGroupDescription(a_name, a_type, a_parent, a_id, a_s), field(a_f) + { + } + + GroupDescription(const GroupDescription& g): AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups) + { + parameters = g.parameters; + abstract_parameters = g.abstract_parameters; + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + if(!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field)) + return false; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + if(!(*i)->fromMessage(msg, n)) + return false; + } + + return true; + } + + virtual void setInitialState(boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + T* group = &((*config).*field); + group->state = state; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = boost::any(&((*config).*field)); + (*i)->setInitialState(n); + } + + } + + virtual void updateParams(boost::any &cfg, IntegralNodeConfig &top) const + { + PT* config = boost::any_cast(cfg); + + T* f = &((*config).*field); + f->setParams(top, abstract_parameters); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + (*i)->updateParams(n, top); + } + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const + { + const PT config = boost::any_cast(cfg); + dynamic_reconfigure::ConfigTools::appendGroup(msg, name, id, parent, config.*field); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + (*i)->toMessage(msg, config.*field); + } + } + + T (PT::* field); + std::vector groups; + }; + +class DEFAULT +{ + public: + DEFAULT() + { + state = true; + name = "Default"; + } + + void setParams(IntegralNodeConfig &config, const std::vector params) + { + for (std::vector::const_iterator _i = params.begin(); _i != params.end(); ++_i) + { + boost::any val; + (*_i)->getValue(config, val); + + if("k"==(*_i)->name){k = boost::any_cast(val);} + if("use_min"==(*_i)->name){use_min = boost::any_cast(val);} + if("min"==(*_i)->name){min = boost::any_cast(val);} + if("use_max"==(*_i)->name){use_max = boost::any_cast(val);} + if("max"==(*_i)->name){max = boost::any_cast(val);} + if("refresh_time"==(*_i)->name){refresh_time = boost::any_cast(val);} + } + } + + double k; +bool use_min; +double min; +bool use_max; +double max; +double refresh_time; + + bool state; + std::string name; + + +}groups; + + + +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double k; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool use_min; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double min; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool use_max; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double max; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double refresh_time; +//#line 228 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + bool __fromMessage__(dynamic_reconfigure::Config &msg) + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + + int count = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + if ((*i)->fromMessage(msg, *this)) + count++; + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i ++) + { + if ((*i)->id == 0) + { + boost::any n = boost::any(this); + (*i)->updateParams(n, *this); + (*i)->fromMessage(msg, n); + } + } + + if (count != dynamic_reconfigure::ConfigTools::size(msg)) + { + ROS_ERROR("IntegralNodeConfig::__fromMessage__ called with an unexpected parameter."); + ROS_ERROR("Booleans:"); + for (unsigned int i = 0; i < msg.bools.size(); i++) + ROS_ERROR(" %s", msg.bools[i].name.c_str()); + ROS_ERROR("Integers:"); + for (unsigned int i = 0; i < msg.ints.size(); i++) + ROS_ERROR(" %s", msg.ints[i].name.c_str()); + ROS_ERROR("Doubles:"); + for (unsigned int i = 0; i < msg.doubles.size(); i++) + ROS_ERROR(" %s", msg.doubles[i].name.c_str()); + ROS_ERROR("Strings:"); + for (unsigned int i = 0; i < msg.strs.size(); i++) + ROS_ERROR(" %s", msg.strs[i].name.c_str()); + // @todo Check that there are no duplicates. Make this error more + // explicit. + return false; + } + return true; + } + + // This version of __toMessage__ is used during initialization of + // statics when __getParamDescriptions__ can't be called yet. + void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector &__param_descriptions__, const std::vector &__group_descriptions__) const + { + dynamic_reconfigure::ConfigTools::clear(msg); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toMessage(msg, *this); + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + if((*i)->id == 0) + { + (*i)->toMessage(msg, *this); + } + } + } + + void __toMessage__(dynamic_reconfigure::Config &msg) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + __toMessage__(msg, __param_descriptions__, __group_descriptions__); + } + + void __toServer__(const ros::NodeHandle &nh) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toServer(nh, *this); + } + + void __fromServer__(const ros::NodeHandle &nh) + { + static bool setup=false; + + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->fromServer(nh, *this); + + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i++){ + if (!setup && (*i)->id == 0) { + setup = true; + boost::any n = boost::any(this); + (*i)->setInitialState(n); + } + } + } + + void __clamp__() + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const IntegralNodeConfig &__max__ = __getMax__(); + const IntegralNodeConfig &__min__ = __getMin__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->clamp(*this, __max__, __min__); + } + + uint32_t __level__(const IntegralNodeConfig &config) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + uint32_t level = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->calcLevel(level, config, *this); + return level; + } + + static const dynamic_reconfigure::ConfigDescription &__getDescriptionMessage__(); + static const IntegralNodeConfig &__getDefault__(); + static const IntegralNodeConfig &__getMax__(); + static const IntegralNodeConfig &__getMin__(); + static const std::vector &__getParamDescriptions__(); + static const std::vector &__getGroupDescriptions__(); + + private: + static const IntegralNodeConfigStatics *__get_statics__(); + }; + + template <> // Max and min are ignored for strings. + inline void IntegralNodeConfig::ParamDescription::clamp(IntegralNodeConfig &config, const IntegralNodeConfig &max, const IntegralNodeConfig &min) const + { + (void) config; + (void) min; + (void) max; + return; + } + + class IntegralNodeConfigStatics + { + friend class IntegralNodeConfig; + + IntegralNodeConfigStatics() + { +IntegralNodeConfig::GroupDescription Default("Default", "", 0, 0, true, &IntegralNodeConfig::groups); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.k = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.k = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.k = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("k", "double", 0, "K", "", &IntegralNodeConfig::k))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("k", "double", 0, "K", "", &IntegralNodeConfig::k))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.use_min = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.use_min = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.use_min = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("use_min", "bool", 0, "Clamp to minimal value", "", &IntegralNodeConfig::use_min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("use_min", "bool", 0, "Clamp to minimal value", "", &IntegralNodeConfig::use_min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.min = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.min = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.min = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("min", "double", 0, "Minimal Value", "", &IntegralNodeConfig::min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("min", "double", 0, "Minimal Value", "", &IntegralNodeConfig::min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.use_max = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.use_max = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.use_max = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("use_max", "bool", 0, "Clamp to maximal value", "", &IntegralNodeConfig::use_max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("use_max", "bool", 0, "Clamp to maximal value", "", &IntegralNodeConfig::use_max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.max = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.max = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.max = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("max", "double", 0, "Maximal Value", "", &IntegralNodeConfig::max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("max", "double", 0, "Maximal Value", "", &IntegralNodeConfig::max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.refresh_time = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.refresh_time = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.refresh_time = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &IntegralNodeConfig::refresh_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(IntegralNodeConfig::AbstractParamDescriptionConstPtr(new IntegralNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &IntegralNodeConfig::refresh_time))); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.convertParams(); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __group_descriptions__.push_back(IntegralNodeConfig::AbstractGroupDescriptionConstPtr(new IntegralNodeConfig::GroupDescription(Default))); +//#line 366 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + __description_message__.groups.push_back(**i); + } + __max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__); + __min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__); + __default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__); + } + std::vector __param_descriptions__; + std::vector __group_descriptions__; + IntegralNodeConfig __max__; + IntegralNodeConfig __min__; + IntegralNodeConfig __default__; + dynamic_reconfigure::ConfigDescription __description_message__; + + static const IntegralNodeConfigStatics *get_instance() + { + // Split this off in a separate function because I know that + // instance will get initialized the first time get_instance is + // called, and I am guaranteeing that get_instance gets called at + // most once. + static IntegralNodeConfigStatics instance; + return &instance; + } + }; + + inline const dynamic_reconfigure::ConfigDescription &IntegralNodeConfig::__getDescriptionMessage__() + { + return __get_statics__()->__description_message__; + } + + inline const IntegralNodeConfig &IntegralNodeConfig::__getDefault__() + { + return __get_statics__()->__default__; + } + + inline const IntegralNodeConfig &IntegralNodeConfig::__getMax__() + { + return __get_statics__()->__max__; + } + + inline const IntegralNodeConfig &IntegralNodeConfig::__getMin__() + { + return __get_statics__()->__min__; + } + + inline const std::vector &IntegralNodeConfig::__getParamDescriptions__() + { + return __get_statics__()->__param_descriptions__; + } + + inline const std::vector &IntegralNodeConfig::__getGroupDescriptions__() + { + return __get_statics__()->__group_descriptions__; + } + + inline const IntegralNodeConfigStatics *IntegralNodeConfig::__get_statics__() + { + const static IntegralNodeConfigStatics *statics; + + if (statics) // Common case + return statics; + + boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__); + + if (statics) // In case we lost a race. + return statics; + + statics = IntegralNodeConfigStatics::get_instance(); + + return statics; + } + + +} + +#undef DYNAMIC_RECONFIGURE_FINAL + +#endif // __INTEGRALNODERECONFIGURATOR_H__ diff --git a/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h b/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h new file mode 100644 index 0000000..16dc33f --- /dev/null +++ b/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h @@ -0,0 +1,627 @@ +//#line 2 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" +// ********************************************************* +// +// File autogenerated for the detect_targets package +// by the dynamic_reconfigure package. +// Please do not edit. +// +// ********************************************************/ + +#ifndef __detect_targets__PIDNODECONFIG_H__ +#define __detect_targets__PIDNODECONFIG_H__ + +#if __cplusplus >= 201103L +#define DYNAMIC_RECONFIGURE_FINAL final +#else +#define DYNAMIC_RECONFIGURE_FINAL +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace detect_targets +{ + class PIDNodeConfigStatics; + + class PIDNodeConfig + { + public: + class AbstractParamDescription : public dynamic_reconfigure::ParamDescription + { + public: + AbstractParamDescription(std::string n, std::string t, uint32_t l, + std::string d, std::string e) + { + name = n; + type = t; + level = l; + description = d; + edit_method = e; + } + + virtual void clamp(PIDNodeConfig &config, const PIDNodeConfig &max, const PIDNodeConfig &min) const = 0; + virtual void calcLevel(uint32_t &level, const PIDNodeConfig &config1, const PIDNodeConfig &config2) const = 0; + virtual void fromServer(const ros::NodeHandle &nh, PIDNodeConfig &config) const = 0; + virtual void toServer(const ros::NodeHandle &nh, const PIDNodeConfig &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, PIDNodeConfig &config) const = 0; + virtual void toMessage(dynamic_reconfigure::Config &msg, const PIDNodeConfig &config) const = 0; + virtual void getValue(const PIDNodeConfig &config, boost::any &val) const = 0; + }; + + typedef boost::shared_ptr AbstractParamDescriptionPtr; + typedef boost::shared_ptr AbstractParamDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class ParamDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractParamDescription + { + public: + ParamDescription(std::string a_name, std::string a_type, uint32_t a_level, + std::string a_description, std::string a_edit_method, T PIDNodeConfig::* a_f) : + AbstractParamDescription(a_name, a_type, a_level, a_description, a_edit_method), + field(a_f) + {} + + T (PIDNodeConfig::* field); + + virtual void clamp(PIDNodeConfig &config, const PIDNodeConfig &max, const PIDNodeConfig &min) const + { + if (config.*field > max.*field) + config.*field = max.*field; + + if (config.*field < min.*field) + config.*field = min.*field; + } + + virtual void calcLevel(uint32_t &comb_level, const PIDNodeConfig &config1, const PIDNodeConfig &config2) const + { + if (config1.*field != config2.*field) + comb_level |= level; + } + + virtual void fromServer(const ros::NodeHandle &nh, PIDNodeConfig &config) const + { + nh.getParam(name, config.*field); + } + + virtual void toServer(const ros::NodeHandle &nh, const PIDNodeConfig &config) const + { + nh.setParam(name, config.*field); + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, PIDNodeConfig &config) const + { + return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field); + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const PIDNodeConfig &config) const + { + dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field); + } + + virtual void getValue(const PIDNodeConfig &config, boost::any &val) const + { + val = config.*field; + } + }; + + class AbstractGroupDescription : public dynamic_reconfigure::Group + { + public: + AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s) + { + name = n; + type = t; + parent = p; + state = s; + id = i; + } + + std::vector abstract_parameters; + bool state; + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &config) const =0; + virtual void updateParams(boost::any &cfg, PIDNodeConfig &top) const= 0; + virtual void setInitialState(boost::any &cfg) const = 0; + + + void convertParams() + { + for(std::vector::const_iterator i = abstract_parameters.begin(); i != abstract_parameters.end(); ++i) + { + parameters.push_back(dynamic_reconfigure::ParamDescription(**i)); + } + } + }; + + typedef boost::shared_ptr AbstractGroupDescriptionPtr; + typedef boost::shared_ptr AbstractGroupDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class GroupDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractGroupDescription + { + public: + GroupDescription(std::string a_name, std::string a_type, int a_parent, int a_id, bool a_s, T PT::* a_f) : AbstractGroupDescription(a_name, a_type, a_parent, a_id, a_s), field(a_f) + { + } + + GroupDescription(const GroupDescription& g): AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups) + { + parameters = g.parameters; + abstract_parameters = g.abstract_parameters; + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + if(!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field)) + return false; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + if(!(*i)->fromMessage(msg, n)) + return false; + } + + return true; + } + + virtual void setInitialState(boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + T* group = &((*config).*field); + group->state = state; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = boost::any(&((*config).*field)); + (*i)->setInitialState(n); + } + + } + + virtual void updateParams(boost::any &cfg, PIDNodeConfig &top) const + { + PT* config = boost::any_cast(cfg); + + T* f = &((*config).*field); + f->setParams(top, abstract_parameters); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + (*i)->updateParams(n, top); + } + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const + { + const PT config = boost::any_cast(cfg); + dynamic_reconfigure::ConfigTools::appendGroup(msg, name, id, parent, config.*field); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + (*i)->toMessage(msg, config.*field); + } + } + + T (PT::* field); + std::vector groups; + }; + +class DEFAULT +{ + public: + DEFAULT() + { + state = true; + name = "Default"; + } + + void setParams(PIDNodeConfig &config, const std::vector params) + { + for (std::vector::const_iterator _i = params.begin(); _i != params.end(); ++_i) + { + boost::any val; + (*_i)->getValue(config, val); + + if("kp"==(*_i)->name){kp = boost::any_cast(val);} + if("ki"==(*_i)->name){ki = boost::any_cast(val);} + if("kd"==(*_i)->name){kd = boost::any_cast(val);} + if("size"==(*_i)->name){size = boost::any_cast(val);} + if("poly_order"==(*_i)->name){poly_order = boost::any_cast(val);} + if("dom"==(*_i)->name){dom = boost::any_cast(val);} + if("use_min"==(*_i)->name){use_min = boost::any_cast(val);} + if("min"==(*_i)->name){min = boost::any_cast(val);} + if("use_max"==(*_i)->name){use_max = boost::any_cast(val);} + if("max"==(*_i)->name){max = boost::any_cast(val);} + if("refresh_time"==(*_i)->name){refresh_time = boost::any_cast(val);} + } + } + + double kp; +double ki; +double kd; +int size; +int poly_order; +bool dom; +bool use_min; +double min; +bool use_max; +double max; +double refresh_time; + + bool state; + std::string name; + + +}groups; + + + +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double kp; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double ki; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double kd; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + int size; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + int poly_order; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool dom; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool use_min; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double min; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool use_max; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double max; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double refresh_time; +//#line 228 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + bool __fromMessage__(dynamic_reconfigure::Config &msg) + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + + int count = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + if ((*i)->fromMessage(msg, *this)) + count++; + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i ++) + { + if ((*i)->id == 0) + { + boost::any n = boost::any(this); + (*i)->updateParams(n, *this); + (*i)->fromMessage(msg, n); + } + } + + if (count != dynamic_reconfigure::ConfigTools::size(msg)) + { + ROS_ERROR("PIDNodeConfig::__fromMessage__ called with an unexpected parameter."); + ROS_ERROR("Booleans:"); + for (unsigned int i = 0; i < msg.bools.size(); i++) + ROS_ERROR(" %s", msg.bools[i].name.c_str()); + ROS_ERROR("Integers:"); + for (unsigned int i = 0; i < msg.ints.size(); i++) + ROS_ERROR(" %s", msg.ints[i].name.c_str()); + ROS_ERROR("Doubles:"); + for (unsigned int i = 0; i < msg.doubles.size(); i++) + ROS_ERROR(" %s", msg.doubles[i].name.c_str()); + ROS_ERROR("Strings:"); + for (unsigned int i = 0; i < msg.strs.size(); i++) + ROS_ERROR(" %s", msg.strs[i].name.c_str()); + // @todo Check that there are no duplicates. Make this error more + // explicit. + return false; + } + return true; + } + + // This version of __toMessage__ is used during initialization of + // statics when __getParamDescriptions__ can't be called yet. + void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector &__param_descriptions__, const std::vector &__group_descriptions__) const + { + dynamic_reconfigure::ConfigTools::clear(msg); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toMessage(msg, *this); + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + if((*i)->id == 0) + { + (*i)->toMessage(msg, *this); + } + } + } + + void __toMessage__(dynamic_reconfigure::Config &msg) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + __toMessage__(msg, __param_descriptions__, __group_descriptions__); + } + + void __toServer__(const ros::NodeHandle &nh) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toServer(nh, *this); + } + + void __fromServer__(const ros::NodeHandle &nh) + { + static bool setup=false; + + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->fromServer(nh, *this); + + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i++){ + if (!setup && (*i)->id == 0) { + setup = true; + boost::any n = boost::any(this); + (*i)->setInitialState(n); + } + } + } + + void __clamp__() + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const PIDNodeConfig &__max__ = __getMax__(); + const PIDNodeConfig &__min__ = __getMin__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->clamp(*this, __max__, __min__); + } + + uint32_t __level__(const PIDNodeConfig &config) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + uint32_t level = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->calcLevel(level, config, *this); + return level; + } + + static const dynamic_reconfigure::ConfigDescription &__getDescriptionMessage__(); + static const PIDNodeConfig &__getDefault__(); + static const PIDNodeConfig &__getMax__(); + static const PIDNodeConfig &__getMin__(); + static const std::vector &__getParamDescriptions__(); + static const std::vector &__getGroupDescriptions__(); + + private: + static const PIDNodeConfigStatics *__get_statics__(); + }; + + template <> // Max and min are ignored for strings. + inline void PIDNodeConfig::ParamDescription::clamp(PIDNodeConfig &config, const PIDNodeConfig &max, const PIDNodeConfig &min) const + { + (void) config; + (void) min; + (void) max; + return; + } + + class PIDNodeConfigStatics + { + friend class PIDNodeConfig; + + PIDNodeConfigStatics() + { +PIDNodeConfig::GroupDescription Default("Default", "", 0, 0, true, &PIDNodeConfig::groups); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.kp = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.kp = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.kp = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("kp", "double", 0, "Kp", "", &PIDNodeConfig::kp))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("kp", "double", 0, "Kp", "", &PIDNodeConfig::kp))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.ki = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.ki = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.ki = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("ki", "double", 0, "Ki", "", &PIDNodeConfig::ki))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("ki", "double", 0, "Ki", "", &PIDNodeConfig::ki))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.kd = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.kd = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.kd = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("kd", "double", 0, "Kd", "", &PIDNodeConfig::kd))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("kd", "double", 0, "Kd", "", &PIDNodeConfig::kd))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.size = -2147483648; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.size = 2147483647; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.size = 3; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("size", "int", 0, "Size of the Savinsky Golay filter", "", &PIDNodeConfig::size))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("size", "int", 0, "Size of the Savinsky Golay filter", "", &PIDNodeConfig::size))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.poly_order = -2147483648; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.poly_order = 2147483647; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.poly_order = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("poly_order", "int", 0, "Order of the polynome of the Savinsky Golay filter", "", &PIDNodeConfig::poly_order))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("poly_order", "int", 0, "Order of the polynome of the Savinsky Golay filter", "", &PIDNodeConfig::poly_order))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.dom = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.dom = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.dom = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("dom", "bool", 0, "Derivative on measurement", "", &PIDNodeConfig::dom))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("dom", "bool", 0, "Derivative on measurement", "", &PIDNodeConfig::dom))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.use_min = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.use_min = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.use_min = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("use_min", "bool", 0, "Clamp integral to minimal value", "", &PIDNodeConfig::use_min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("use_min", "bool", 0, "Clamp integral to minimal value", "", &PIDNodeConfig::use_min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.min = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.min = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.min = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("min", "double", 0, "Minimal integral value", "", &PIDNodeConfig::min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("min", "double", 0, "Minimal integral value", "", &PIDNodeConfig::min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.use_max = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.use_max = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.use_max = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("use_max", "bool", 0, "Clamp integral to maximal value", "", &PIDNodeConfig::use_max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("use_max", "bool", 0, "Clamp integral to maximal value", "", &PIDNodeConfig::use_max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.max = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.max = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.max = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("max", "double", 0, "Maximal integral value", "", &PIDNodeConfig::max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("max", "double", 0, "Maximal integral value", "", &PIDNodeConfig::max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.refresh_time = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.refresh_time = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.refresh_time = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &PIDNodeConfig::refresh_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(PIDNodeConfig::AbstractParamDescriptionConstPtr(new PIDNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &PIDNodeConfig::refresh_time))); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.convertParams(); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __group_descriptions__.push_back(PIDNodeConfig::AbstractGroupDescriptionConstPtr(new PIDNodeConfig::GroupDescription(Default))); +//#line 366 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + __description_message__.groups.push_back(**i); + } + __max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__); + __min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__); + __default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__); + } + std::vector __param_descriptions__; + std::vector __group_descriptions__; + PIDNodeConfig __max__; + PIDNodeConfig __min__; + PIDNodeConfig __default__; + dynamic_reconfigure::ConfigDescription __description_message__; + + static const PIDNodeConfigStatics *get_instance() + { + // Split this off in a separate function because I know that + // instance will get initialized the first time get_instance is + // called, and I am guaranteeing that get_instance gets called at + // most once. + static PIDNodeConfigStatics instance; + return &instance; + } + }; + + inline const dynamic_reconfigure::ConfigDescription &PIDNodeConfig::__getDescriptionMessage__() + { + return __get_statics__()->__description_message__; + } + + inline const PIDNodeConfig &PIDNodeConfig::__getDefault__() + { + return __get_statics__()->__default__; + } + + inline const PIDNodeConfig &PIDNodeConfig::__getMax__() + { + return __get_statics__()->__max__; + } + + inline const PIDNodeConfig &PIDNodeConfig::__getMin__() + { + return __get_statics__()->__min__; + } + + inline const std::vector &PIDNodeConfig::__getParamDescriptions__() + { + return __get_statics__()->__param_descriptions__; + } + + inline const std::vector &PIDNodeConfig::__getGroupDescriptions__() + { + return __get_statics__()->__group_descriptions__; + } + + inline const PIDNodeConfigStatics *PIDNodeConfig::__get_statics__() + { + const static PIDNodeConfigStatics *statics; + + if (statics) // Common case + return statics; + + boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__); + + if (statics) // In case we lost a race. + return statics; + + statics = PIDNodeConfigStatics::get_instance(); + + return statics; + } + + +} + +#undef DYNAMIC_RECONFIGURE_FINAL + +#endif // __PIDNODERECONFIGURATOR_H__ diff --git a/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h b/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h new file mode 100644 index 0000000..1ce38d0 --- /dev/null +++ b/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h @@ -0,0 +1,501 @@ +//#line 2 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" +// ********************************************************* +// +// File autogenerated for the detect_targets package +// by the dynamic_reconfigure package. +// Please do not edit. +// +// ********************************************************/ + +#ifndef __detect_targets__PROPORTIONALNODECONFIG_H__ +#define __detect_targets__PROPORTIONALNODECONFIG_H__ + +#if __cplusplus >= 201103L +#define DYNAMIC_RECONFIGURE_FINAL final +#else +#define DYNAMIC_RECONFIGURE_FINAL +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace detect_targets +{ + class ProportionalNodeConfigStatics; + + class ProportionalNodeConfig + { + public: + class AbstractParamDescription : public dynamic_reconfigure::ParamDescription + { + public: + AbstractParamDescription(std::string n, std::string t, uint32_t l, + std::string d, std::string e) + { + name = n; + type = t; + level = l; + description = d; + edit_method = e; + } + + virtual void clamp(ProportionalNodeConfig &config, const ProportionalNodeConfig &max, const ProportionalNodeConfig &min) const = 0; + virtual void calcLevel(uint32_t &level, const ProportionalNodeConfig &config1, const ProportionalNodeConfig &config2) const = 0; + virtual void fromServer(const ros::NodeHandle &nh, ProportionalNodeConfig &config) const = 0; + virtual void toServer(const ros::NodeHandle &nh, const ProportionalNodeConfig &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, ProportionalNodeConfig &config) const = 0; + virtual void toMessage(dynamic_reconfigure::Config &msg, const ProportionalNodeConfig &config) const = 0; + virtual void getValue(const ProportionalNodeConfig &config, boost::any &val) const = 0; + }; + + typedef boost::shared_ptr AbstractParamDescriptionPtr; + typedef boost::shared_ptr AbstractParamDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class ParamDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractParamDescription + { + public: + ParamDescription(std::string a_name, std::string a_type, uint32_t a_level, + std::string a_description, std::string a_edit_method, T ProportionalNodeConfig::* a_f) : + AbstractParamDescription(a_name, a_type, a_level, a_description, a_edit_method), + field(a_f) + {} + + T (ProportionalNodeConfig::* field); + + virtual void clamp(ProportionalNodeConfig &config, const ProportionalNodeConfig &max, const ProportionalNodeConfig &min) const + { + if (config.*field > max.*field) + config.*field = max.*field; + + if (config.*field < min.*field) + config.*field = min.*field; + } + + virtual void calcLevel(uint32_t &comb_level, const ProportionalNodeConfig &config1, const ProportionalNodeConfig &config2) const + { + if (config1.*field != config2.*field) + comb_level |= level; + } + + virtual void fromServer(const ros::NodeHandle &nh, ProportionalNodeConfig &config) const + { + nh.getParam(name, config.*field); + } + + virtual void toServer(const ros::NodeHandle &nh, const ProportionalNodeConfig &config) const + { + nh.setParam(name, config.*field); + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, ProportionalNodeConfig &config) const + { + return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field); + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const ProportionalNodeConfig &config) const + { + dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field); + } + + virtual void getValue(const ProportionalNodeConfig &config, boost::any &val) const + { + val = config.*field; + } + }; + + class AbstractGroupDescription : public dynamic_reconfigure::Group + { + public: + AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s) + { + name = n; + type = t; + parent = p; + state = s; + id = i; + } + + std::vector abstract_parameters; + bool state; + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &config) const =0; + virtual void updateParams(boost::any &cfg, ProportionalNodeConfig &top) const= 0; + virtual void setInitialState(boost::any &cfg) const = 0; + + + void convertParams() + { + for(std::vector::const_iterator i = abstract_parameters.begin(); i != abstract_parameters.end(); ++i) + { + parameters.push_back(dynamic_reconfigure::ParamDescription(**i)); + } + } + }; + + typedef boost::shared_ptr AbstractGroupDescriptionPtr; + typedef boost::shared_ptr AbstractGroupDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class GroupDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractGroupDescription + { + public: + GroupDescription(std::string a_name, std::string a_type, int a_parent, int a_id, bool a_s, T PT::* a_f) : AbstractGroupDescription(a_name, a_type, a_parent, a_id, a_s), field(a_f) + { + } + + GroupDescription(const GroupDescription& g): AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups) + { + parameters = g.parameters; + abstract_parameters = g.abstract_parameters; + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + if(!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field)) + return false; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + if(!(*i)->fromMessage(msg, n)) + return false; + } + + return true; + } + + virtual void setInitialState(boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + T* group = &((*config).*field); + group->state = state; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = boost::any(&((*config).*field)); + (*i)->setInitialState(n); + } + + } + + virtual void updateParams(boost::any &cfg, ProportionalNodeConfig &top) const + { + PT* config = boost::any_cast(cfg); + + T* f = &((*config).*field); + f->setParams(top, abstract_parameters); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + (*i)->updateParams(n, top); + } + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const + { + const PT config = boost::any_cast(cfg); + dynamic_reconfigure::ConfigTools::appendGroup(msg, name, id, parent, config.*field); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + (*i)->toMessage(msg, config.*field); + } + } + + T (PT::* field); + std::vector groups; + }; + +class DEFAULT +{ + public: + DEFAULT() + { + state = true; + name = "Default"; + } + + void setParams(ProportionalNodeConfig &config, const std::vector params) + { + for (std::vector::const_iterator _i = params.begin(); _i != params.end(); ++_i) + { + boost::any val; + (*_i)->getValue(config, val); + + if("k"==(*_i)->name){k = boost::any_cast(val);} + if("refresh_time"==(*_i)->name){refresh_time = boost::any_cast(val);} + } + } + + double k; +double refresh_time; + + bool state; + std::string name; + + +}groups; + + + +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double k; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double refresh_time; +//#line 228 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + bool __fromMessage__(dynamic_reconfigure::Config &msg) + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + + int count = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + if ((*i)->fromMessage(msg, *this)) + count++; + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i ++) + { + if ((*i)->id == 0) + { + boost::any n = boost::any(this); + (*i)->updateParams(n, *this); + (*i)->fromMessage(msg, n); + } + } + + if (count != dynamic_reconfigure::ConfigTools::size(msg)) + { + ROS_ERROR("ProportionalNodeConfig::__fromMessage__ called with an unexpected parameter."); + ROS_ERROR("Booleans:"); + for (unsigned int i = 0; i < msg.bools.size(); i++) + ROS_ERROR(" %s", msg.bools[i].name.c_str()); + ROS_ERROR("Integers:"); + for (unsigned int i = 0; i < msg.ints.size(); i++) + ROS_ERROR(" %s", msg.ints[i].name.c_str()); + ROS_ERROR("Doubles:"); + for (unsigned int i = 0; i < msg.doubles.size(); i++) + ROS_ERROR(" %s", msg.doubles[i].name.c_str()); + ROS_ERROR("Strings:"); + for (unsigned int i = 0; i < msg.strs.size(); i++) + ROS_ERROR(" %s", msg.strs[i].name.c_str()); + // @todo Check that there are no duplicates. Make this error more + // explicit. + return false; + } + return true; + } + + // This version of __toMessage__ is used during initialization of + // statics when __getParamDescriptions__ can't be called yet. + void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector &__param_descriptions__, const std::vector &__group_descriptions__) const + { + dynamic_reconfigure::ConfigTools::clear(msg); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toMessage(msg, *this); + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + if((*i)->id == 0) + { + (*i)->toMessage(msg, *this); + } + } + } + + void __toMessage__(dynamic_reconfigure::Config &msg) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + __toMessage__(msg, __param_descriptions__, __group_descriptions__); + } + + void __toServer__(const ros::NodeHandle &nh) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toServer(nh, *this); + } + + void __fromServer__(const ros::NodeHandle &nh) + { + static bool setup=false; + + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->fromServer(nh, *this); + + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i++){ + if (!setup && (*i)->id == 0) { + setup = true; + boost::any n = boost::any(this); + (*i)->setInitialState(n); + } + } + } + + void __clamp__() + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const ProportionalNodeConfig &__max__ = __getMax__(); + const ProportionalNodeConfig &__min__ = __getMin__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->clamp(*this, __max__, __min__); + } + + uint32_t __level__(const ProportionalNodeConfig &config) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + uint32_t level = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->calcLevel(level, config, *this); + return level; + } + + static const dynamic_reconfigure::ConfigDescription &__getDescriptionMessage__(); + static const ProportionalNodeConfig &__getDefault__(); + static const ProportionalNodeConfig &__getMax__(); + static const ProportionalNodeConfig &__getMin__(); + static const std::vector &__getParamDescriptions__(); + static const std::vector &__getGroupDescriptions__(); + + private: + static const ProportionalNodeConfigStatics *__get_statics__(); + }; + + template <> // Max and min are ignored for strings. + inline void ProportionalNodeConfig::ParamDescription::clamp(ProportionalNodeConfig &config, const ProportionalNodeConfig &max, const ProportionalNodeConfig &min) const + { + (void) config; + (void) min; + (void) max; + return; + } + + class ProportionalNodeConfigStatics + { + friend class ProportionalNodeConfig; + + ProportionalNodeConfigStatics() + { +ProportionalNodeConfig::GroupDescription Default("Default", "", 0, 0, true, &ProportionalNodeConfig::groups); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.k = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.k = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.k = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(ProportionalNodeConfig::AbstractParamDescriptionConstPtr(new ProportionalNodeConfig::ParamDescription("k", "double", 0, "K", "", &ProportionalNodeConfig::k))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(ProportionalNodeConfig::AbstractParamDescriptionConstPtr(new ProportionalNodeConfig::ParamDescription("k", "double", 0, "K", "", &ProportionalNodeConfig::k))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.refresh_time = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.refresh_time = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.refresh_time = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(ProportionalNodeConfig::AbstractParamDescriptionConstPtr(new ProportionalNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &ProportionalNodeConfig::refresh_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(ProportionalNodeConfig::AbstractParamDescriptionConstPtr(new ProportionalNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &ProportionalNodeConfig::refresh_time))); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.convertParams(); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __group_descriptions__.push_back(ProportionalNodeConfig::AbstractGroupDescriptionConstPtr(new ProportionalNodeConfig::GroupDescription(Default))); +//#line 366 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + __description_message__.groups.push_back(**i); + } + __max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__); + __min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__); + __default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__); + } + std::vector __param_descriptions__; + std::vector __group_descriptions__; + ProportionalNodeConfig __max__; + ProportionalNodeConfig __min__; + ProportionalNodeConfig __default__; + dynamic_reconfigure::ConfigDescription __description_message__; + + static const ProportionalNodeConfigStatics *get_instance() + { + // Split this off in a separate function because I know that + // instance will get initialized the first time get_instance is + // called, and I am guaranteeing that get_instance gets called at + // most once. + static ProportionalNodeConfigStatics instance; + return &instance; + } + }; + + inline const dynamic_reconfigure::ConfigDescription &ProportionalNodeConfig::__getDescriptionMessage__() + { + return __get_statics__()->__description_message__; + } + + inline const ProportionalNodeConfig &ProportionalNodeConfig::__getDefault__() + { + return __get_statics__()->__default__; + } + + inline const ProportionalNodeConfig &ProportionalNodeConfig::__getMax__() + { + return __get_statics__()->__max__; + } + + inline const ProportionalNodeConfig &ProportionalNodeConfig::__getMin__() + { + return __get_statics__()->__min__; + } + + inline const std::vector &ProportionalNodeConfig::__getParamDescriptions__() + { + return __get_statics__()->__param_descriptions__; + } + + inline const std::vector &ProportionalNodeConfig::__getGroupDescriptions__() + { + return __get_statics__()->__group_descriptions__; + } + + inline const ProportionalNodeConfigStatics *ProportionalNodeConfig::__get_statics__() + { + const static ProportionalNodeConfigStatics *statics; + + if (statics) // Common case + return statics; + + boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__); + + if (statics) // In case we lost a race. + return statics; + + statics = ProportionalNodeConfigStatics::get_instance(); + + return statics; + } + + +} + +#undef DYNAMIC_RECONFIGURE_FINAL + +#endif // __PROPORTIONALNODERECONFIGURATOR_H__ diff --git a/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h b/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h new file mode 100644 index 0000000..e14e579 --- /dev/null +++ b/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h @@ -0,0 +1,543 @@ +//#line 2 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" +// ********************************************************* +// +// File autogenerated for the detect_targets package +// by the dynamic_reconfigure package. +// Please do not edit. +// +// ********************************************************/ + +#ifndef __detect_targets__SATURATENODECONFIG_H__ +#define __detect_targets__SATURATENODECONFIG_H__ + +#if __cplusplus >= 201103L +#define DYNAMIC_RECONFIGURE_FINAL final +#else +#define DYNAMIC_RECONFIGURE_FINAL +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace detect_targets +{ + class SaturateNodeConfigStatics; + + class SaturateNodeConfig + { + public: + class AbstractParamDescription : public dynamic_reconfigure::ParamDescription + { + public: + AbstractParamDescription(std::string n, std::string t, uint32_t l, + std::string d, std::string e) + { + name = n; + type = t; + level = l; + description = d; + edit_method = e; + } + + virtual void clamp(SaturateNodeConfig &config, const SaturateNodeConfig &max, const SaturateNodeConfig &min) const = 0; + virtual void calcLevel(uint32_t &level, const SaturateNodeConfig &config1, const SaturateNodeConfig &config2) const = 0; + virtual void fromServer(const ros::NodeHandle &nh, SaturateNodeConfig &config) const = 0; + virtual void toServer(const ros::NodeHandle &nh, const SaturateNodeConfig &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, SaturateNodeConfig &config) const = 0; + virtual void toMessage(dynamic_reconfigure::Config &msg, const SaturateNodeConfig &config) const = 0; + virtual void getValue(const SaturateNodeConfig &config, boost::any &val) const = 0; + }; + + typedef boost::shared_ptr AbstractParamDescriptionPtr; + typedef boost::shared_ptr AbstractParamDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class ParamDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractParamDescription + { + public: + ParamDescription(std::string a_name, std::string a_type, uint32_t a_level, + std::string a_description, std::string a_edit_method, T SaturateNodeConfig::* a_f) : + AbstractParamDescription(a_name, a_type, a_level, a_description, a_edit_method), + field(a_f) + {} + + T (SaturateNodeConfig::* field); + + virtual void clamp(SaturateNodeConfig &config, const SaturateNodeConfig &max, const SaturateNodeConfig &min) const + { + if (config.*field > max.*field) + config.*field = max.*field; + + if (config.*field < min.*field) + config.*field = min.*field; + } + + virtual void calcLevel(uint32_t &comb_level, const SaturateNodeConfig &config1, const SaturateNodeConfig &config2) const + { + if (config1.*field != config2.*field) + comb_level |= level; + } + + virtual void fromServer(const ros::NodeHandle &nh, SaturateNodeConfig &config) const + { + nh.getParam(name, config.*field); + } + + virtual void toServer(const ros::NodeHandle &nh, const SaturateNodeConfig &config) const + { + nh.setParam(name, config.*field); + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, SaturateNodeConfig &config) const + { + return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field); + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const SaturateNodeConfig &config) const + { + dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field); + } + + virtual void getValue(const SaturateNodeConfig &config, boost::any &val) const + { + val = config.*field; + } + }; + + class AbstractGroupDescription : public dynamic_reconfigure::Group + { + public: + AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s) + { + name = n; + type = t; + parent = p; + state = s; + id = i; + } + + std::vector abstract_parameters; + bool state; + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &config) const = 0; + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &config) const =0; + virtual void updateParams(boost::any &cfg, SaturateNodeConfig &top) const= 0; + virtual void setInitialState(boost::any &cfg) const = 0; + + + void convertParams() + { + for(std::vector::const_iterator i = abstract_parameters.begin(); i != abstract_parameters.end(); ++i) + { + parameters.push_back(dynamic_reconfigure::ParamDescription(**i)); + } + } + }; + + typedef boost::shared_ptr AbstractGroupDescriptionPtr; + typedef boost::shared_ptr AbstractGroupDescriptionConstPtr; + + // Final keyword added to class because it has virtual methods and inherits + // from a class with a non-virtual destructor. + template + class GroupDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractGroupDescription + { + public: + GroupDescription(std::string a_name, std::string a_type, int a_parent, int a_id, bool a_s, T PT::* a_f) : AbstractGroupDescription(a_name, a_type, a_parent, a_id, a_s), field(a_f) + { + } + + GroupDescription(const GroupDescription& g): AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups) + { + parameters = g.parameters; + abstract_parameters = g.abstract_parameters; + } + + virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + if(!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field)) + return false; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + if(!(*i)->fromMessage(msg, n)) + return false; + } + + return true; + } + + virtual void setInitialState(boost::any &cfg) const + { + PT* config = boost::any_cast(cfg); + T* group = &((*config).*field); + group->state = state; + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = boost::any(&((*config).*field)); + (*i)->setInitialState(n); + } + + } + + virtual void updateParams(boost::any &cfg, SaturateNodeConfig &top) const + { + PT* config = boost::any_cast(cfg); + + T* f = &((*config).*field); + f->setParams(top, abstract_parameters); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + boost::any n = &((*config).*field); + (*i)->updateParams(n, top); + } + } + + virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const + { + const PT config = boost::any_cast(cfg); + dynamic_reconfigure::ConfigTools::appendGroup(msg, name, id, parent, config.*field); + + for(std::vector::const_iterator i = groups.begin(); i != groups.end(); ++i) + { + (*i)->toMessage(msg, config.*field); + } + } + + T (PT::* field); + std::vector groups; + }; + +class DEFAULT +{ + public: + DEFAULT() + { + state = true; + name = "Default"; + } + + void setParams(SaturateNodeConfig &config, const std::vector params) + { + for (std::vector::const_iterator _i = params.begin(); _i != params.end(); ++_i) + { + boost::any val; + (*_i)->getValue(config, val); + + if("use_min"==(*_i)->name){use_min = boost::any_cast(val);} + if("min"==(*_i)->name){min = boost::any_cast(val);} + if("use_max"==(*_i)->name){use_max = boost::any_cast(val);} + if("max"==(*_i)->name){max = boost::any_cast(val);} + if("refresh_time"==(*_i)->name){refresh_time = boost::any_cast(val);} + } + } + + bool use_min; +double min; +bool use_max; +double max; +double refresh_time; + + bool state; + std::string name; + + +}groups; + + + +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool use_min; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double min; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool use_max; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double max; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double refresh_time; +//#line 228 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + bool __fromMessage__(dynamic_reconfigure::Config &msg) + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + + int count = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + if ((*i)->fromMessage(msg, *this)) + count++; + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i ++) + { + if ((*i)->id == 0) + { + boost::any n = boost::any(this); + (*i)->updateParams(n, *this); + (*i)->fromMessage(msg, n); + } + } + + if (count != dynamic_reconfigure::ConfigTools::size(msg)) + { + ROS_ERROR("SaturateNodeConfig::__fromMessage__ called with an unexpected parameter."); + ROS_ERROR("Booleans:"); + for (unsigned int i = 0; i < msg.bools.size(); i++) + ROS_ERROR(" %s", msg.bools[i].name.c_str()); + ROS_ERROR("Integers:"); + for (unsigned int i = 0; i < msg.ints.size(); i++) + ROS_ERROR(" %s", msg.ints[i].name.c_str()); + ROS_ERROR("Doubles:"); + for (unsigned int i = 0; i < msg.doubles.size(); i++) + ROS_ERROR(" %s", msg.doubles[i].name.c_str()); + ROS_ERROR("Strings:"); + for (unsigned int i = 0; i < msg.strs.size(); i++) + ROS_ERROR(" %s", msg.strs[i].name.c_str()); + // @todo Check that there are no duplicates. Make this error more + // explicit. + return false; + } + return true; + } + + // This version of __toMessage__ is used during initialization of + // statics when __getParamDescriptions__ can't be called yet. + void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector &__param_descriptions__, const std::vector &__group_descriptions__) const + { + dynamic_reconfigure::ConfigTools::clear(msg); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toMessage(msg, *this); + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + if((*i)->id == 0) + { + (*i)->toMessage(msg, *this); + } + } + } + + void __toMessage__(dynamic_reconfigure::Config &msg) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + __toMessage__(msg, __param_descriptions__, __group_descriptions__); + } + + void __toServer__(const ros::NodeHandle &nh) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->toServer(nh, *this); + } + + void __fromServer__(const ros::NodeHandle &nh) + { + static bool setup=false; + + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->fromServer(nh, *this); + + const std::vector &__group_descriptions__ = __getGroupDescriptions__(); + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i++){ + if (!setup && (*i)->id == 0) { + setup = true; + boost::any n = boost::any(this); + (*i)->setInitialState(n); + } + } + } + + void __clamp__() + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + const SaturateNodeConfig &__max__ = __getMax__(); + const SaturateNodeConfig &__min__ = __getMin__(); + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->clamp(*this, __max__, __min__); + } + + uint32_t __level__(const SaturateNodeConfig &config) const + { + const std::vector &__param_descriptions__ = __getParamDescriptions__(); + uint32_t level = 0; + for (std::vector::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i) + (*i)->calcLevel(level, config, *this); + return level; + } + + static const dynamic_reconfigure::ConfigDescription &__getDescriptionMessage__(); + static const SaturateNodeConfig &__getDefault__(); + static const SaturateNodeConfig &__getMax__(); + static const SaturateNodeConfig &__getMin__(); + static const std::vector &__getParamDescriptions__(); + static const std::vector &__getGroupDescriptions__(); + + private: + static const SaturateNodeConfigStatics *__get_statics__(); + }; + + template <> // Max and min are ignored for strings. + inline void SaturateNodeConfig::ParamDescription::clamp(SaturateNodeConfig &config, const SaturateNodeConfig &max, const SaturateNodeConfig &min) const + { + (void) config; + (void) min; + (void) max; + return; + } + + class SaturateNodeConfigStatics + { + friend class SaturateNodeConfig; + + SaturateNodeConfigStatics() + { +SaturateNodeConfig::GroupDescription Default("Default", "", 0, 0, true, &SaturateNodeConfig::groups); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.use_min = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.use_min = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.use_min = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("use_min", "bool", 0, "Clamp to minimal value", "", &SaturateNodeConfig::use_min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("use_min", "bool", 0, "Clamp to minimal value", "", &SaturateNodeConfig::use_min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.min = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.min = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.min = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("min", "double", 0, "Minimal Value", "", &SaturateNodeConfig::min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("min", "double", 0, "Minimal Value", "", &SaturateNodeConfig::min))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.use_max = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.use_max = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.use_max = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("use_max", "bool", 0, "Clamp to maximal value", "", &SaturateNodeConfig::use_max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("use_max", "bool", 0, "Clamp to maximal value", "", &SaturateNodeConfig::use_max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.max = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.max = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.max = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("max", "double", 0, "Maximal Value", "", &SaturateNodeConfig::max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("max", "double", 0, "Maximal Value", "", &SaturateNodeConfig::max))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.refresh_time = -std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.refresh_time = std::numeric_limits::infinity(); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.refresh_time = 1.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &SaturateNodeConfig::refresh_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(SaturateNodeConfig::AbstractParamDescriptionConstPtr(new SaturateNodeConfig::ParamDescription("refresh_time", "double", 0, "Minimal refresh time in seconds", "", &SaturateNodeConfig::refresh_time))); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.convertParams(); +//#line 246 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __group_descriptions__.push_back(SaturateNodeConfig::AbstractGroupDescriptionConstPtr(new SaturateNodeConfig::GroupDescription(Default))); +//#line 366 "/opt/ros/melodic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template" + + for (std::vector::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i) + { + __description_message__.groups.push_back(**i); + } + __max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__); + __min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__); + __default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__); + } + std::vector __param_descriptions__; + std::vector __group_descriptions__; + SaturateNodeConfig __max__; + SaturateNodeConfig __min__; + SaturateNodeConfig __default__; + dynamic_reconfigure::ConfigDescription __description_message__; + + static const SaturateNodeConfigStatics *get_instance() + { + // Split this off in a separate function because I know that + // instance will get initialized the first time get_instance is + // called, and I am guaranteeing that get_instance gets called at + // most once. + static SaturateNodeConfigStatics instance; + return &instance; + } + }; + + inline const dynamic_reconfigure::ConfigDescription &SaturateNodeConfig::__getDescriptionMessage__() + { + return __get_statics__()->__description_message__; + } + + inline const SaturateNodeConfig &SaturateNodeConfig::__getDefault__() + { + return __get_statics__()->__default__; + } + + inline const SaturateNodeConfig &SaturateNodeConfig::__getMax__() + { + return __get_statics__()->__max__; + } + + inline const SaturateNodeConfig &SaturateNodeConfig::__getMin__() + { + return __get_statics__()->__min__; + } + + inline const std::vector &SaturateNodeConfig::__getParamDescriptions__() + { + return __get_statics__()->__param_descriptions__; + } + + inline const std::vector &SaturateNodeConfig::__getGroupDescriptions__() + { + return __get_statics__()->__group_descriptions__; + } + + inline const SaturateNodeConfigStatics *SaturateNodeConfig::__get_statics__() + { + const static SaturateNodeConfigStatics *statics; + + if (statics) // Common case + return statics; + + boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__); + + if (statics) // In case we lost a race. + return statics; + + statics = SaturateNodeConfigStatics::get_instance(); + + return statics; + } + + +} + +#undef DYNAMIC_RECONFIGURE_FINAL + +#endif // __SATURATENODERECONFIGURATOR_H__ diff --git a/workspace/devel/.private/detect_targets/include/detect_targets/TriangleParamConfig.h b/workspace/devel/.private/detect_targets/include/detect_targets/TriangleParamConfig.h index 08d261f..f762c9b 100644 --- a/workspace/devel/.private/detect_targets/include/detect_targets/TriangleParamConfig.h +++ b/workspace/devel/.private/detect_targets/include/detect_targets/TriangleParamConfig.h @@ -242,6 +242,8 @@ class DEFAULT if("distance_to_target"==(*_i)->name){distance_to_target = boost::any_cast(val);} if("max_speed"==(*_i)->name){max_speed = boost::any_cast(val);} if("max_acceleration"==(*_i)->name){max_acceleration = boost::any_cast(val);} + if("sample_time"==(*_i)->name){sample_time = boost::any_cast(val);} + if("double_loop"==(*_i)->name){double_loop = boost::any_cast(val);} if("speed_linear_x_Kp"==(*_i)->name){speed_linear_x_Kp = boost::any_cast(val);} if("speed_linear_x_Ki"==(*_i)->name){speed_linear_x_Ki = boost::any_cast(val);} if("speed_linear_x_Kd"==(*_i)->name){speed_linear_x_Kd = boost::any_cast(val);} @@ -275,6 +277,8 @@ double target_depth; double distance_to_target; double max_speed; double max_acceleration; +double sample_time; +bool double_loop; double speed_linear_x_Kp; double speed_linear_x_Ki; double speed_linear_x_Kd; @@ -320,6 +324,10 @@ bool control_angular_z; double max_speed; //#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" double max_acceleration; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + double sample_time; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + bool double_loop; //#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" double speed_linear_x_Kp; //#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" @@ -566,6 +574,26 @@ TriangleParamConfig::GroupDescription("max_acceleration", "double", 0, "the maximal linear speed", "", &TriangleParamConfig::max_acceleration))); //#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" __param_descriptions__.push_back(TriangleParamConfig::AbstractParamDescriptionConstPtr(new TriangleParamConfig::ParamDescription("max_acceleration", "double", 0, "the maximal linear speed", "", &TriangleParamConfig::max_acceleration))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.sample_time = 0.01; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.sample_time = 3.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.sample_time = 0.0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(TriangleParamConfig::AbstractParamDescriptionConstPtr(new TriangleParamConfig::ParamDescription("sample_time", "double", 0, "the sample time in seconds", "", &TriangleParamConfig::sample_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(TriangleParamConfig::AbstractParamDescriptionConstPtr(new TriangleParamConfig::ParamDescription("sample_time", "double", 0, "the sample time in seconds", "", &TriangleParamConfig::sample_time))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __min__.double_loop = 0; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __max__.double_loop = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __default__.double_loop = 1; +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + Default.abstract_parameters.push_back(TriangleParamConfig::AbstractParamDescriptionConstPtr(new TriangleParamConfig::ParamDescription("double_loop", "bool", 0, "Enable double loop", "", &TriangleParamConfig::double_loop))); +//#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" + __param_descriptions__.push_back(TriangleParamConfig::AbstractParamDescriptionConstPtr(new TriangleParamConfig::ParamDescription("double_loop", "bool", 0, "Enable double loop", "", &TriangleParamConfig::double_loop))); //#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" __min__.speed_linear_x_Kp = 0.0; //#line 291 "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py" diff --git a/workspace/devel/.private/detect_targets/local_setup.bash b/workspace/devel/.private/detect_targets/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/detect_targets/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/detect_targets/local_setup.sh b/workspace/devel/.private/detect_targets/local_setup.sh new file mode 100644 index 0000000..e2a840f --- /dev/null +++ b/workspace/devel/.private/detect_targets/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/detect_targets/local_setup.zsh b/workspace/devel/.private/detect_targets/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/detect_targets/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/detect_targets/setup.sh b/workspace/devel/.private/detect_targets/setup.sh index 4be6342..420a66b 100644 --- a/workspace/devel/.private/detect_targets/setup.sh +++ b/workspace/devel/.private/detect_targets/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/cmake/detect_targetsConfig.cmake b/workspace/devel/.private/detect_targets/share/detect_targets/cmake/detect_targetsConfig.cmake index 1972f8b..5b5417b 100644 --- a/workspace/devel/.private/detect_targets/share/detect_targets/cmake/detect_targetsConfig.cmake +++ b/workspace/devel/.private/detect_targets/share/detect_targets/cmake/detect_targetsConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND detect_targets_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND detect_targets_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND detect_targets_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox new file mode 100644 index 0000000..7ea44a5 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox @@ -0,0 +1,11 @@ +\subsubsection usage Usage +\verbatim + + + + + + + +\endverbatim + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox new file mode 100644 index 0000000..bb4eb93 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox @@ -0,0 +1,10 @@ +\subsubsection parameters ROS parameters + +Reads and maintains the following parameters on the ROS server + +- \b "~k" : \b [double] K min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() +- \b "~size" : \b [int] Size of the Savinsky Golay filter min: 1, default: 3, max: 20 +- \b "~poly_order" : \b [int] Order of the polynome of the Savinsky Golay filter min: 0, default: 1, max: 20 +- \b "~refresh_time" : \b [double] Minimal refresh time in seconds min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() +- \b "~deriv" : \b [int] Derivative order min: 0, default: 1, max: 2147483647 + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc b/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc new file mode 100644 index 0000000..4722766 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc @@ -0,0 +1,28 @@ +# Autogenerated param section. Do not hand edit. +param { +group.0 { +name=Dynamically Reconfigurable Parameters +desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfigurable parameters. +0.name= ~k +0.default= 1.0 +0.type= double +0.desc=K Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +1.name= ~size +1.default= 3 +1.type= int +1.desc=Size of the Savinsky Golay filter Range: 1 to 20 +2.name= ~poly_order +2.default= 1 +2.type= int +2.desc=Order of the polynome of the Savinsky Golay filter Range: 0 to 20 +3.name= ~refresh_time +3.default= 1.0 +3.type= double +3.desc=Minimal refresh time in seconds Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +4.name= ~deriv +4.default= 1 +4.type= int +4.desc=Derivative order Range: 0 to 2147483647 +} +} +# End of autogenerated section. You may edit below. diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox new file mode 100644 index 0000000..972fad9 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox @@ -0,0 +1,7 @@ +\subsubsection usage Usage +\verbatim + + + +\endverbatim + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox new file mode 100644 index 0000000..e5b3fdb --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox @@ -0,0 +1,6 @@ +\subsubsection parameters ROS parameters + +Reads and maintains the following parameters on the ROS server + +- \b "~value" : \b [double] Input Value min: -std::numeric_limits::infinity(), default: 0.0, max: std::numeric_limits::infinity() + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc b/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc new file mode 100644 index 0000000..ad37dbf --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc @@ -0,0 +1,12 @@ +# Autogenerated param section. Do not hand edit. +param { +group.0 { +name=Dynamically Reconfigurable Parameters +desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfigurable parameters. +0.name= ~value +0.default= 0.0 +0.type= double +0.desc=Input Value Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +} +} +# End of autogenerated section. You may edit below. diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox new file mode 100644 index 0000000..297309d --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox @@ -0,0 +1,12 @@ +\subsubsection usage Usage +\verbatim + + + + + + + + +\endverbatim + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox new file mode 100644 index 0000000..8a4e3b2 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox @@ -0,0 +1,11 @@ +\subsubsection parameters ROS parameters + +Reads and maintains the following parameters on the ROS server + +- \b "~k" : \b [double] K min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() +- \b "~use_min" : \b [bool] Clamp to minimal value min: False, default: True, max: True +- \b "~min" : \b [double] Minimal Value min: -std::numeric_limits::infinity(), default: 0.0, max: std::numeric_limits::infinity() +- \b "~use_max" : \b [bool] Clamp to maximal value min: False, default: True, max: True +- \b "~max" : \b [double] Maximal Value min: -std::numeric_limits::infinity(), default: 0.0, max: std::numeric_limits::infinity() +- \b "~refresh_time" : \b [double] Minimal refresh time in seconds min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc b/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc new file mode 100644 index 0000000..652887f --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc @@ -0,0 +1,32 @@ +# Autogenerated param section. Do not hand edit. +param { +group.0 { +name=Dynamically Reconfigurable Parameters +desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfigurable parameters. +0.name= ~k +0.default= 1.0 +0.type= double +0.desc=K Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +1.name= ~use_min +1.default= True +1.type= bool +1.desc=Clamp to minimal value +2.name= ~min +2.default= 0.0 +2.type= double +2.desc=Minimal Value Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +3.name= ~use_max +3.default= True +3.type= bool +3.desc=Clamp to maximal value +4.name= ~max +4.default= 0.0 +4.type= double +4.desc=Maximal Value Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +5.name= ~refresh_time +5.default= 1.0 +5.type= double +5.desc=Minimal refresh time in seconds Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +} +} +# End of autogenerated section. You may edit below. diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox new file mode 100644 index 0000000..c2d7aae --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox @@ -0,0 +1,17 @@ +\subsubsection usage Usage +\verbatim + + + + + + + + + + + + + +\endverbatim + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox new file mode 100644 index 0000000..d412f1b --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox @@ -0,0 +1,16 @@ +\subsubsection parameters ROS parameters + +Reads and maintains the following parameters on the ROS server + +- \b "~kp" : \b [double] Kp min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() +- \b "~ki" : \b [double] Ki min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() +- \b "~kd" : \b [double] Kd min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() +- \b "~size" : \b [int] Size of the Savinsky Golay filter min: -2147483648, default: 3, max: 2147483647 +- \b "~poly_order" : \b [int] Order of the polynome of the Savinsky Golay filter min: -2147483648, default: 1, max: 2147483647 +- \b "~dom" : \b [bool] Derivative on measurement min: False, default: False, max: True +- \b "~use_min" : \b [bool] Clamp integral to minimal value min: False, default: True, max: True +- \b "~min" : \b [double] Minimal integral value min: -std::numeric_limits::infinity(), default: 0.0, max: std::numeric_limits::infinity() +- \b "~use_max" : \b [bool] Clamp integral to maximal value min: False, default: True, max: True +- \b "~max" : \b [double] Maximal integral value min: -std::numeric_limits::infinity(), default: 0.0, max: std::numeric_limits::infinity() +- \b "~refresh_time" : \b [double] Minimal refresh time in seconds min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc b/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc new file mode 100644 index 0000000..1c40fb8 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc @@ -0,0 +1,52 @@ +# Autogenerated param section. Do not hand edit. +param { +group.0 { +name=Dynamically Reconfigurable Parameters +desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfigurable parameters. +0.name= ~kp +0.default= 1.0 +0.type= double +0.desc=Kp Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +1.name= ~ki +1.default= 1.0 +1.type= double +1.desc=Ki Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +2.name= ~kd +2.default= 1.0 +2.type= double +2.desc=Kd Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +3.name= ~size +3.default= 3 +3.type= int +3.desc=Size of the Savinsky Golay filter Range: -2147483648 to 2147483647 +4.name= ~poly_order +4.default= 1 +4.type= int +4.desc=Order of the polynome of the Savinsky Golay filter Range: -2147483648 to 2147483647 +5.name= ~dom +5.default= False +5.type= bool +5.desc=Derivative on measurement +6.name= ~use_min +6.default= True +6.type= bool +6.desc=Clamp integral to minimal value +7.name= ~min +7.default= 0.0 +7.type= double +7.desc=Minimal integral value Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +8.name= ~use_max +8.default= True +8.type= bool +8.desc=Clamp integral to maximal value +9.name= ~max +9.default= 0.0 +9.type= double +9.desc=Maximal integral value Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +10.name= ~refresh_time +10.default= 1.0 +10.type= double +10.desc=Minimal refresh time in seconds Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +} +} +# End of autogenerated section. You may edit below. diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox new file mode 100644 index 0000000..acb4568 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox @@ -0,0 +1,8 @@ +\subsubsection usage Usage +\verbatim + + + + +\endverbatim + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox new file mode 100644 index 0000000..a995a6a --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox @@ -0,0 +1,7 @@ +\subsubsection parameters ROS parameters + +Reads and maintains the following parameters on the ROS server + +- \b "~k" : \b [double] K min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() +- \b "~refresh_time" : \b [double] Minimal refresh time in seconds min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc b/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc new file mode 100644 index 0000000..00cb595 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc @@ -0,0 +1,16 @@ +# Autogenerated param section. Do not hand edit. +param { +group.0 { +name=Dynamically Reconfigurable Parameters +desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfigurable parameters. +0.name= ~k +0.default= 1.0 +0.type= double +0.desc=K Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +1.name= ~refresh_time +1.default= 1.0 +1.type= double +1.desc=Minimal refresh time in seconds Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +} +} +# End of autogenerated section. You may edit below. diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox new file mode 100644 index 0000000..d2119f3 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox @@ -0,0 +1,11 @@ +\subsubsection usage Usage +\verbatim + + + + + + + +\endverbatim + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox new file mode 100644 index 0000000..1164412 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox @@ -0,0 +1,10 @@ +\subsubsection parameters ROS parameters + +Reads and maintains the following parameters on the ROS server + +- \b "~use_min" : \b [bool] Clamp to minimal value min: False, default: True, max: True +- \b "~min" : \b [double] Minimal Value min: -std::numeric_limits::infinity(), default: 0.0, max: std::numeric_limits::infinity() +- \b "~use_max" : \b [bool] Clamp to maximal value min: False, default: True, max: True +- \b "~max" : \b [double] Maximal Value min: -std::numeric_limits::infinity(), default: 0.0, max: std::numeric_limits::infinity() +- \b "~refresh_time" : \b [double] Minimal refresh time in seconds min: -std::numeric_limits::infinity(), default: 1.0, max: std::numeric_limits::infinity() + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc b/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc new file mode 100644 index 0000000..52407e0 --- /dev/null +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc @@ -0,0 +1,28 @@ +# Autogenerated param section. Do not hand edit. +param { +group.0 { +name=Dynamically Reconfigurable Parameters +desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfigurable parameters. +0.name= ~use_min +0.default= True +0.type= bool +0.desc=Clamp to minimal value +1.name= ~min +1.default= 0.0 +1.type= double +1.desc=Minimal Value Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +2.name= ~use_max +2.default= True +2.type= bool +2.desc=Clamp to maximal value +3.name= ~max +3.default= 0.0 +3.type= double +3.desc=Maximal Value Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +4.name= ~refresh_time +4.default= 1.0 +4.type= double +4.desc=Minimal refresh time in seconds Range: -std::numeric_limits::infinity() to std::numeric_limits::infinity() +} +} +# End of autogenerated section. You may edit below. diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig-usage.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig-usage.dox index ffda151..b3c124e 100644 --- a/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig-usage.dox +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig-usage.dox @@ -7,6 +7,8 @@ + + diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.dox b/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.dox index b4e15cd..3952374 100644 --- a/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.dox +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.dox @@ -8,6 +8,8 @@ Reads and maintains the following parameters on the ROS server - \b "~distance_to_target" : \b [double] The required distance to the target (m) min: 1.0, default: 2.0, max: 5.0 - \b "~max_speed" : \b [double] the maximal linear speed min: 0.01, default: 0.3, max: 3.0 - \b "~max_acceleration" : \b [double] the maximal linear speed min: 0.01, default: 0.3, max: 3.0 +- \b "~sample_time" : \b [double] the sample time in seconds min: 0.01, default: 0.0, max: 3.0 +- \b "~double_loop" : \b [bool] Enable double loop min: False, default: True, max: True - \b "~speed_linear_x_Kp" : \b [double] linear.x controller Kp min: 0.0, default: 0.01, max: 2.0 - \b "~speed_linear_x_Ki" : \b [double] linear.x controller Ki min: 0.0, default: 0.01, max: 2.0 - \b "~speed_linear_x_Kd" : \b [double] linear.x controller Kd min: 0.0, default: 0.01, max: 2.0 diff --git a/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.wikidoc b/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.wikidoc index 3b7406d..fdb9d1d 100644 --- a/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.wikidoc +++ b/workspace/devel/.private/detect_targets/share/detect_targets/docs/TriangleParamConfig.wikidoc @@ -27,102 +27,110 @@ desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfig 5.default= 0.3 5.type= double 5.desc=the maximal linear speed Range: 0.01 to 3.0 -6.name= ~speed_linear_x_Kp -6.default= 0.01 +6.name= ~sample_time +6.default= 0.0 6.type= double -6.desc=linear.x controller Kp Range: 0.0 to 2.0 -7.name= ~speed_linear_x_Ki -7.default= 0.01 -7.type= double -7.desc=linear.x controller Ki Range: 0.0 to 2.0 -8.name= ~speed_linear_x_Kd +6.desc=the sample time in seconds Range: 0.01 to 3.0 +7.name= ~double_loop +7.default= True +7.type= bool +7.desc=Enable double loop +8.name= ~speed_linear_x_Kp 8.default= 0.01 8.type= double -8.desc=linear.x controller Kd Range: 0.0 to 2.0 -9.name= ~linear_x_Kp +8.desc=linear.x controller Kp Range: 0.0 to 2.0 +9.name= ~speed_linear_x_Ki 9.default= 0.01 9.type= double -9.desc=linear.x controller Kp Range: 0.0 to 1.0 -10.name= ~linear_x_Ki +9.desc=linear.x controller Ki Range: 0.0 to 2.0 +10.name= ~speed_linear_x_Kd 10.default= 0.01 10.type= double -10.desc=linear.x controller Ki Range: 0.0 to 1.0 -11.name= ~linear_x_Kd +10.desc=linear.x controller Kd Range: 0.0 to 2.0 +11.name= ~linear_x_Kp 11.default= 0.01 11.type= double -11.desc=linear.x controller Kd Range: 0.0 to 1.0 -12.name= ~control_linear_x -12.default= True -12.type= bool -12.desc=Control distance to target -13.name= ~speed_corrector_x -13.default= 0.1 +11.desc=linear.x controller Kp Range: 0.0 to 1.0 +12.name= ~linear_x_Ki +12.default= 0.01 +12.type= double +12.desc=linear.x controller Ki Range: 0.0 to 1.0 +13.name= ~linear_x_Kd +13.default= 0.01 13.type= double -13.desc=Distance from which the speed corrector is disabled Range: 0.0 to 3.0 -14.name= ~speed_linear_y_Kp -14.default= 0.01 -14.type= double -14.desc=linear.y controller Kp Range: 0.0 to 2.0 -15.name= ~speed_linear_y_Ki -15.default= 0.01 +13.desc=linear.x controller Kd Range: 0.0 to 1.0 +14.name= ~control_linear_x +14.default= True +14.type= bool +14.desc=Control distance to target +15.name= ~speed_corrector_x +15.default= 0.1 15.type= double -15.desc=linear.y controller Ki Range: 0.0 to 2.0 -16.name= ~speed_linear_y_Kd +15.desc=Distance from which the speed corrector is disabled Range: 0.0 to 3.0 +16.name= ~speed_linear_y_Kp 16.default= 0.01 16.type= double -16.desc=linear.y controller Kd Range: 0.0 to 2.0 -17.name= ~linear_y_Kp +16.desc=linear.y controller Kp Range: 0.0 to 2.0 +17.name= ~speed_linear_y_Ki 17.default= 0.01 17.type= double -17.desc=linear.y controller Kp Range: 0.0 to 1.0 -18.name= ~linear_y_Ki +17.desc=linear.y controller Ki Range: 0.0 to 2.0 +18.name= ~speed_linear_y_Kd 18.default= 0.01 18.type= double -18.desc=linear.y controller Ki Range: 0.0 to 1.0 -19.name= ~linear_y_Kd +18.desc=linear.y controller Kd Range: 0.0 to 2.0 +19.name= ~linear_y_Kp 19.default= 0.01 19.type= double -19.desc=linear.y controller Kd Range: 0.0 to 1.0 -20.name= ~control_linear_y -20.default= True -20.type= bool -20.desc=Controls the facing to target -21.name= ~speed_corrector_y -21.default= 0.1 +19.desc=linear.y controller Kp Range: 0.0 to 1.0 +20.name= ~linear_y_Ki +20.default= 0.01 +20.type= double +20.desc=linear.y controller Ki Range: 0.0 to 1.0 +21.name= ~linear_y_Kd +21.default= 0.01 21.type= double -21.desc=Distance from which the speed corrector is disabled Range: 0.0 to 3.0 -22.name= ~linear_z_Kp -22.default= 0.01 -22.type= double -22.desc=linear.z controller Kp Range: 0.0 to 10.0 -23.name= ~linear_z_Ki -23.default= 0.01 +21.desc=linear.y controller Kd Range: 0.0 to 1.0 +22.name= ~control_linear_y +22.default= True +22.type= bool +22.desc=Controls the facing to target +23.name= ~speed_corrector_y +23.default= 0.1 23.type= double -23.desc=linear.z controller Ki Range: 0.0 to 10.0 -24.name= ~linear_z_Kd +23.desc=Distance from which the speed corrector is disabled Range: 0.0 to 3.0 +24.name= ~linear_z_Kp 24.default= 0.01 24.type= double -24.desc=linear.z controller Kd Range: 0.0 to 10.0 -25.name= ~control_linear_z -25.default= True -25.type= bool -25.desc=Controls the facing to target -26.name= ~angular_z_Kp +24.desc=linear.z controller Kp Range: 0.0 to 10.0 +25.name= ~linear_z_Ki +25.default= 0.01 +25.type= double +25.desc=linear.z controller Ki Range: 0.0 to 10.0 +26.name= ~linear_z_Kd 26.default= 0.01 26.type= double -26.desc=angular.z controller Kp Range: 0.0 to 10.0 -27.name= ~angular_z_Ki -27.default= 0.01 -27.type= double -27.desc=angular.z controller Ki Range: 0.0 to 10.0 -28.name= ~angular_z_Kd +26.desc=linear.z controller Kd Range: 0.0 to 10.0 +27.name= ~control_linear_z +27.default= True +27.type= bool +27.desc=Controls the facing to target +28.name= ~angular_z_Kp 28.default= 0.01 28.type= double -28.desc=angular.z controller Kd Range: 0.0 to 10.0 -29.name= ~control_angular_z -29.default= True -29.type= bool -29.desc=Controls the facing to target +28.desc=angular.z controller Kp Range: 0.0 to 10.0 +29.name= ~angular_z_Ki +29.default= 0.01 +29.type= double +29.desc=angular.z controller Ki Range: 0.0 to 10.0 +30.name= ~angular_z_Kd +30.default= 0.01 +30.type= double +30.desc=angular.z controller Kd Range: 0.0 to 10.0 +31.name= ~control_angular_z +31.default= True +31.type= bool +31.desc=Controls the facing to target } } # End of autogenerated section. You may edit below. diff --git a/workspace/devel/.private/drone_demo/_setup_util.py b/workspace/devel/.private/drone_demo/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/drone_demo/_setup_util.py +++ b/workspace/devel/.private/drone_demo/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/drone_demo/cmake.lock b/workspace/devel/.private/drone_demo/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/drone_demo/include/drone_demo/control.h b/workspace/devel/.private/drone_demo/include/drone_demo/control.h index 5430ce7..7cd62ea 100644 --- a/workspace/devel/.private/drone_demo/include/drone_demo/control.h +++ b/workspace/devel/.private/drone_demo/include/drone_demo/control.h @@ -153,11 +153,11 @@ struct Definition< ::drone_demo::control_ > { static const char* value() { - return "float64 target\n\ -float64 error\n\ -float64 derror\n\ -float64 cmd_vel\n\ -"; + return "float64 target\n" +"float64 error\n" +"float64 derror\n" +"float64 cmd_vel\n" +; } static const char* value(const ::drone_demo::control_&) { return value(); } diff --git a/workspace/devel/.private/drone_demo/local_setup.bash b/workspace/devel/.private/drone_demo/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/drone_demo/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/drone_demo/local_setup.sh b/workspace/devel/.private/drone_demo/local_setup.sh new file mode 100644 index 0000000..0b39952 --- /dev/null +++ b/workspace/devel/.private/drone_demo/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/drone_demo} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/drone_demo/local_setup.zsh b/workspace/devel/.private/drone_demo/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/drone_demo/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/drone_demo/setup.sh b/workspace/devel/.private/drone_demo/setup.sh index 9cf5061..beec9a1 100644 --- a/workspace/devel/.private/drone_demo/setup.sh +++ b/workspace/devel/.private/drone_demo/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/drone_demo/share/drone_demo/cmake/drone_demoConfig.cmake b/workspace/devel/.private/drone_demo/share/drone_demo/cmake/drone_demoConfig.cmake index 66d0ed3..c1f4c05 100644 --- a/workspace/devel/.private/drone_demo/share/drone_demo/cmake/drone_demoConfig.cmake +++ b/workspace/devel/.private/drone_demo/share/drone_demo/cmake/drone_demoConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND drone_demo_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND drone_demo_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND drone_demo_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/joy_teleop/_setup_util.py b/workspace/devel/.private/joy_teleop/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/joy_teleop/_setup_util.py +++ b/workspace/devel/.private/joy_teleop/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/joy_teleop/cmake.lock b/workspace/devel/.private/joy_teleop/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/joy_teleop/local_setup.bash b/workspace/devel/.private/joy_teleop/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/joy_teleop/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/joy_teleop/local_setup.sh b/workspace/devel/.private/joy_teleop/local_setup.sh new file mode 100644 index 0000000..6329423 --- /dev/null +++ b/workspace/devel/.private/joy_teleop/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/joy_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/joy_teleop/local_setup.zsh b/workspace/devel/.private/joy_teleop/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/joy_teleop/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/joy_teleop/setup.sh b/workspace/devel/.private/joy_teleop/setup.sh index 32532c2..b8068ca 100644 --- a/workspace/devel/.private/joy_teleop/setup.sh +++ b/workspace/devel/.private/joy_teleop/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/joy_teleop/share/joy_teleop/cmake/joy_teleopConfig.cmake b/workspace/devel/.private/joy_teleop/share/joy_teleop/cmake/joy_teleopConfig.cmake index 64e6aa0..1ee8715 100644 --- a/workspace/devel/.private/joy_teleop/share/joy_teleop/cmake/joy_teleopConfig.cmake +++ b/workspace/devel/.private/joy_teleop/share/joy_teleop/cmake/joy_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND joy_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND joy_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND joy_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/key_teleop/_setup_util.py b/workspace/devel/.private/key_teleop/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/key_teleop/_setup_util.py +++ b/workspace/devel/.private/key_teleop/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/key_teleop/cmake.lock b/workspace/devel/.private/key_teleop/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/key_teleop/local_setup.bash b/workspace/devel/.private/key_teleop/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/key_teleop/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/key_teleop/local_setup.sh b/workspace/devel/.private/key_teleop/local_setup.sh new file mode 100644 index 0000000..2ccc677 --- /dev/null +++ b/workspace/devel/.private/key_teleop/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/key_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/key_teleop/local_setup.zsh b/workspace/devel/.private/key_teleop/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/key_teleop/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/key_teleop/setup.sh b/workspace/devel/.private/key_teleop/setup.sh index c7198ce..a348c60 100644 --- a/workspace/devel/.private/key_teleop/setup.sh +++ b/workspace/devel/.private/key_teleop/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/key_teleop/share/key_teleop/cmake/key_teleopConfig.cmake b/workspace/devel/.private/key_teleop/share/key_teleop/cmake/key_teleopConfig.cmake index 22832a5..fefa963 100644 --- a/workspace/devel/.private/key_teleop/share/key_teleop/cmake/key_teleopConfig.cmake +++ b/workspace/devel/.private/key_teleop/share/key_teleop/cmake/key_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND key_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND key_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND key_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/mouse_teleop/_setup_util.py b/workspace/devel/.private/mouse_teleop/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/mouse_teleop/_setup_util.py +++ b/workspace/devel/.private/mouse_teleop/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/mouse_teleop/cmake.lock b/workspace/devel/.private/mouse_teleop/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/mouse_teleop/local_setup.bash b/workspace/devel/.private/mouse_teleop/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/mouse_teleop/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/mouse_teleop/local_setup.sh b/workspace/devel/.private/mouse_teleop/local_setup.sh new file mode 100644 index 0000000..edcd112 --- /dev/null +++ b/workspace/devel/.private/mouse_teleop/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/mouse_teleop} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/mouse_teleop/local_setup.zsh b/workspace/devel/.private/mouse_teleop/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/mouse_teleop/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/mouse_teleop/setup.sh b/workspace/devel/.private/mouse_teleop/setup.sh index 605ba0f..f0d9f93 100644 --- a/workspace/devel/.private/mouse_teleop/setup.sh +++ b/workspace/devel/.private/mouse_teleop/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/mouse_teleop/share/mouse_teleop/cmake/mouse_teleopConfig.cmake b/workspace/devel/.private/mouse_teleop/share/mouse_teleop/cmake/mouse_teleopConfig.cmake index 5dc2ee9..571c504 100644 --- a/workspace/devel/.private/mouse_teleop/share/mouse_teleop/cmake/mouse_teleopConfig.cmake +++ b/workspace/devel/.private/mouse_teleop/share/mouse_teleop/cmake/mouse_teleopConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND mouse_teleop_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND mouse_teleop_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND mouse_teleop_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/.private/rcontrol/.catkin b/workspace/devel/.private/rcontrol/.catkin new file mode 100644 index 0000000..336884e --- /dev/null +++ b/workspace/devel/.private/rcontrol/.catkin @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol \ No newline at end of file diff --git a/workspace/devel/.private/rcontrol/.rosinstall b/workspace/devel/.private/rcontrol/.rosinstall new file mode 100644 index 0000000..705c453 --- /dev/null +++ b/workspace/devel/.private/rcontrol/.rosinstall @@ -0,0 +1,2 @@ +- setup-file: + local-name: /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/setup.sh diff --git a/workspace/devel/.private/rcontrol/_setup_util.py b/workspace/devel/.private/rcontrol/_setup_util.py new file mode 100755 index 0000000..2ee1bf2 --- /dev/null +++ b/workspace/devel/.private/rcontrol/_setup_util.py @@ -0,0 +1,300 @@ +#!/usr/bin/python2 +# -*- coding: utf-8 -*- + +# Software License Agreement (BSD License) +# +# Copyright (c) 2012, Willow Garage, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Willow Garage, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +'''This file generates shell code for the setup.SHELL scripts to set environment variables''' + +from __future__ import print_function +import argparse +import copy +import errno +import os +import platform +import sys + +CATKIN_MARKER_FILE = '.catkin' + +system = platform.system() +IS_DARWIN = (system == 'Darwin') +IS_WINDOWS = (system == 'Windows') + +# subfolder of workspace prepended to CMAKE_PREFIX_PATH +ENV_VAR_SUBFOLDERS = { + 'CMAKE_PREFIX_PATH': '', + 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], + 'PATH': 'bin', + 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], + 'PYTHONPATH': 'lib/python2.7/dist-packages', +} + + +def rollback_env_variables(environ, env_var_subfolders): + ''' + Generate shell code to reset environment variables + by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. + This does not cover modifications performed by environment hooks. + ''' + lines = [] + unmodified_environ = copy.copy(environ) + for key in sorted(env_var_subfolders.keys()): + subfolders = env_var_subfolders[key] + if not isinstance(subfolders, list): + subfolders = [subfolders] + value = _rollback_env_variable(unmodified_environ, key, subfolders) + if value is not None: + environ[key] = value + lines.append(assignment(key, value)) + if lines: + lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) + return lines + + +def _rollback_env_variable(environ, name, subfolders): + ''' + For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. + + :param subfolders: list of str '' or subfoldername that may start with '/' + :returns: the updated value of the environment variable. + ''' + value = environ[name] if name in environ else '' + env_paths = [path for path in value.split(os.pathsep) if path] + value_modified = False + for subfolder in subfolders: + if subfolder: + if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): + subfolder = subfolder[1:] + if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): + subfolder = subfolder[:-1] + for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): + path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path + path_to_remove = None + for env_path in env_paths: + env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path + if env_path_clean == path_to_find: + path_to_remove = env_path + break + if path_to_remove: + env_paths.remove(path_to_remove) + value_modified = True + new_value = os.pathsep.join(env_paths) + return new_value if value_modified else None + + +def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): + ''' + Based on CMAKE_PREFIX_PATH return all catkin workspaces. + + :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` + ''' + # get all cmake prefix paths + env_name = 'CMAKE_PREFIX_PATH' + value = environ[env_name] if env_name in environ else '' + paths = [path for path in value.split(os.pathsep) if path] + # remove non-workspace paths + workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] + return workspaces + + +def prepend_env_variables(environ, env_var_subfolders, workspaces): + ''' + Generate shell code to prepend environment variables + for the all workspaces. + ''' + lines = [] + lines.append(comment('prepend folders of workspaces to environment variables')) + + paths = [path for path in workspaces.split(os.pathsep) if path] + + prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') + lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) + + for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']): + subfolder = env_var_subfolders[key] + prefix = _prefix_env_variable(environ, key, paths, subfolder) + lines.append(prepend(environ, key, prefix)) + return lines + + +def _prefix_env_variable(environ, name, paths, subfolders): + ''' + Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items. + ''' + value = environ[name] if name in environ else '' + environ_paths = [path for path in value.split(os.pathsep) if path] + checked_paths = [] + for path in paths: + if not isinstance(subfolders, list): + subfolders = [subfolders] + for subfolder in subfolders: + path_tmp = path + if subfolder: + path_tmp = os.path.join(path_tmp, subfolder) + # skip nonexistent paths + if not os.path.exists(path_tmp): + continue + # exclude any path already in env and any path we already added + if path_tmp not in environ_paths and path_tmp not in checked_paths: + checked_paths.append(path_tmp) + prefix_str = os.pathsep.join(checked_paths) + if prefix_str != '' and environ_paths: + prefix_str += os.pathsep + return prefix_str + + +def assignment(key, value): + if not IS_WINDOWS: + return 'export %s="%s"' % (key, value) + else: + return 'set %s=%s' % (key, value) + + +def comment(msg): + if not IS_WINDOWS: + return '# %s' % msg + else: + return 'REM %s' % msg + + +def prepend(environ, key, prefix): + if key not in environ or not environ[key]: + return assignment(key, prefix) + if not IS_WINDOWS: + return 'export %s="%s$%s"' % (key, prefix, key) + else: + return 'set %s=%s%%%s%%' % (key, prefix, key) + + +def find_env_hooks(environ, cmake_prefix_path): + ''' + Generate shell code with found environment hooks + for the all workspaces. + ''' + lines = [] + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] + generic_env_hooks_workspace = [] + specific_env_hooks = [] + specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' + specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None + # remove non-workspace paths + workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] + for workspace in reversed(workspaces): + env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: + i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) + generic_env_hooks.pop(i) + generic_env_hooks_workspace.pop(i) + # append env hook + generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: + i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) + specific_env_hooks.pop(i) + specific_env_hooks_workspace.pop(i) + # append env hook + specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] + env_hooks = generic_env_hooks + specific_env_hooks + env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace + count = len(env_hooks) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) + for i in range(count): + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) + lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +def _parse_arguments(args=None): + parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') + parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') + return parser.parse_known_args(args=args)[0] + + +if __name__ == '__main__': + try: + try: + args = _parse_arguments() + except Exception as e: + print(e, file=sys.stderr) + sys.exit(1) + + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] + # prepend current workspace if not already part of CPP + base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + + if base_path not in CMAKE_PREFIX_PATH: + CMAKE_PREFIX_PATH.insert(0, base_path) + CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) + + environ = dict(os.environ) + lines = [] + if not args.extend: + lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) + lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) + lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) + print('\n'.join(lines)) + + # need to explicitly flush the output + sys.stdout.flush() + except IOError as e: + # and catch potential "broken pipe" if stdout is not writable + # which can happen when piping the output to a file but the disk is full + if e.errno == errno.EPIPE: + print(e, file=sys.stderr) + sys.exit(2) + raise + + sys.exit(0) diff --git a/workspace/devel/.private/rcontrol/cmake.lock b/workspace/devel/.private/rcontrol/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/rcontrol/env.sh b/workspace/devel/.private/rcontrol/env.sh new file mode 100755 index 0000000..8aa9d24 --- /dev/null +++ b/workspace/devel/.private/rcontrol/env.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/templates/env.sh.in + +if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +fi + +# ensure to not use different shell type which was set before +CATKIN_SHELL=sh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" +exec "$@" diff --git a/workspace/devel/.private/rcontrol/lib/pkgconfig/rcontrol.pc b/workspace/devel/.private/rcontrol/lib/pkgconfig/rcontrol.pc new file mode 100644 index 0000000..c788796 --- /dev/null +++ b/workspace/devel/.private/rcontrol/lib/pkgconfig/rcontrol.pc @@ -0,0 +1,8 @@ +prefix=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol + +Name: rcontrol +Description: Description of rcontrol +Version: 0.0.0 +Cflags: +Libs: -L/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/lib +Requires: diff --git a/workspace/devel/.private/rcontrol/local_setup.bash b/workspace/devel/.private/rcontrol/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/rcontrol/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/rcontrol/local_setup.sh b/workspace/devel/.private/rcontrol/local_setup.sh new file mode 100644 index 0000000..5fe93e4 --- /dev/null +++ b/workspace/devel/.private/rcontrol/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/rcontrol/local_setup.zsh b/workspace/devel/.private/rcontrol/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/rcontrol/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/rcontrol/setup.bash b/workspace/devel/.private/rcontrol/setup.bash new file mode 100644 index 0000000..ff47af8 --- /dev/null +++ b/workspace/devel/.private/rcontrol/setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/workspace/devel/.private/rcontrol/setup.sh b/workspace/devel/.private/rcontrol/setup.sh new file mode 100644 index 0000000..919dcb4 --- /dev/null +++ b/workspace/devel/.private/rcontrol/setup.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/setup.sh.in + +# Sets various environment variables and sources additional environment hooks. +# It tries it's best to undo changes from a previously sourced setup file before. +# Supported command line options: +# --extend: skips the undoing of changes from a previously sourced setup file +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol} +_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" +unset _CATKIN_SETUP_DIR + +if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" + return 22 +fi + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +# make sure to export all environment variables +export CMAKE_PREFIX_PATH +if [ $_IS_DARWIN -eq 0 ]; then + export LD_LIBRARY_PATH +else + export DYLD_LIBRARY_PATH +fi +unset _IS_DARWIN +export PATH +export PKG_CONFIG_PATH +export PYTHONPATH + +# remember type of shell if not already set +if [ -z "$CATKIN_SHELL" ]; then + CATKIN_SHELL=sh +fi + +# invoke Python script to generate necessary exports of environment variables +# use TMPDIR if it exists, otherwise fall back to /tmp +if [ -d "${TMPDIR:-}" ]; then + _TMPDIR="${TMPDIR}" +else + _TMPDIR=/tmp +fi +_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` +unset _TMPDIR +if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then + echo "Could not create temporary file: $_SETUP_TMP" + return 1 +fi +CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" +_RC=$? +if [ $_RC -ne 0 ]; then + if [ $_RC -eq 2 ]; then + echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" + else + echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" + fi + unset _RC + unset _SETUP_UTIL + rm -f "$_SETUP_TMP" + unset _SETUP_TMP + return 1 +fi +unset _RC +unset _SETUP_UTIL +. "$_SETUP_TMP" +rm -f "$_SETUP_TMP" +unset _SETUP_TMP + +# source all environment hooks +_i=0 +while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do + eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i + unset _CATKIN_ENVIRONMENT_HOOKS_$_i + eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE + # set workspace for environment hook + CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" + unset CATKIN_ENV_HOOK_WORKSPACE + _i=$((_i + 1)) +done +unset _i + +unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/workspace/devel/.private/rcontrol/setup.zsh b/workspace/devel/.private/rcontrol/setup.zsh new file mode 100644 index 0000000..9f780b7 --- /dev/null +++ b/workspace/devel/.private/rcontrol/setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig-version.cmake b/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig-version.cmake new file mode 100644 index 0000000..7fd9f99 --- /dev/null +++ b/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig-version.cmake @@ -0,0 +1,14 @@ +# generated from catkin/cmake/template/pkgConfig-version.cmake.in +set(PACKAGE_VERSION "0.0.0") + +set(PACKAGE_VERSION_EXACT False) +set(PACKAGE_VERSION_COMPATIBLE False) + +if("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_EXACT True) + set(PACKAGE_VERSION_COMPATIBLE True) +endif() + +if("${PACKAGE_FIND_VERSION}" VERSION_LESS "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE True) +endif() diff --git a/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig.cmake b/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig.cmake new file mode 100644 index 0000000..264b462 --- /dev/null +++ b/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig.cmake @@ -0,0 +1,200 @@ +# generated from catkin/cmake/template/pkgConfig.cmake.in + +# append elements to a list and remove existing duplicates from the list +# copied from catkin/cmake/list_append_deduplicate.cmake to keep pkgConfig +# self contained +macro(_list_append_deduplicate listname) + if(NOT "${ARGN}" STREQUAL "") + if(${listname}) + list(REMOVE_ITEM ${listname} ${ARGN}) + endif() + list(APPEND ${listname} ${ARGN}) + endif() +endmacro() + +# append elements to a list if they are not already in the list +# copied from catkin/cmake/list_append_unique.cmake to keep pkgConfig +# self contained +macro(_list_append_unique listname) + foreach(_item ${ARGN}) + list(FIND ${listname} ${_item} _index) + if(_index EQUAL -1) + list(APPEND ${listname} ${_item}) + endif() + endforeach() +endmacro() + +# pack a list of libraries with optional build configuration keywords +# copied from catkin/cmake/catkin_libraries.cmake to keep pkgConfig +# self contained +macro(_pack_libraries_with_build_configuration VAR) + set(${VAR} "") + set(_argn ${ARGN}) + list(LENGTH _argn _count) + set(_index 0) + while(${_index} LESS ${_count}) + list(GET _argn ${_index} lib) + if("${lib}" MATCHES "^(debug|optimized|general)$") + math(EXPR _index "${_index} + 1") + if(${_index} EQUAL ${_count}) + message(FATAL_ERROR "_pack_libraries_with_build_configuration() the list of libraries '${ARGN}' ends with '${lib}' which is a build configuration keyword and must be followed by a library") + endif() + list(GET _argn ${_index} library) + list(APPEND ${VAR} "${lib}${CATKIN_BUILD_CONFIGURATION_KEYWORD_SEPARATOR}${library}") + else() + list(APPEND ${VAR} "${lib}") + endif() + math(EXPR _index "${_index} + 1") + endwhile() +endmacro() + +# unpack a list of libraries with optional build configuration keyword prefixes +# copied from catkin/cmake/catkin_libraries.cmake to keep pkgConfig +# self contained +macro(_unpack_libraries_with_build_configuration VAR) + set(${VAR} "") + foreach(lib ${ARGN}) + string(REGEX REPLACE "^(debug|optimized|general)${CATKIN_BUILD_CONFIGURATION_KEYWORD_SEPARATOR}(.+)$" "\\1;\\2" lib "${lib}") + list(APPEND ${VAR} "${lib}") + endforeach() +endmacro() + + +if(rcontrol_CONFIG_INCLUDED) + return() +endif() +set(rcontrol_CONFIG_INCLUDED TRUE) + +# set variables for source/devel/install prefixes +if("TRUE" STREQUAL "TRUE") + set(rcontrol_SOURCE_PREFIX /home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol) + set(rcontrol_DEVEL_PREFIX /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol) + set(rcontrol_INSTALL_PREFIX "") + set(rcontrol_PREFIX ${rcontrol_DEVEL_PREFIX}) +else() + set(rcontrol_SOURCE_PREFIX "") + set(rcontrol_DEVEL_PREFIX "") + set(rcontrol_INSTALL_PREFIX /home/klafyvel/Documents/supelec/2A/projet/workspace/install) + set(rcontrol_PREFIX ${rcontrol_INSTALL_PREFIX}) +endif() + +# warn when using a deprecated package +if(NOT "" STREQUAL "") + set(_msg "WARNING: package 'rcontrol' is deprecated") + # append custom deprecation text if available + if(NOT "" STREQUAL "TRUE") + set(_msg "${_msg} ()") + endif() + message("${_msg}") +endif() + +# flag project as catkin-based to distinguish if a find_package()-ed project is a catkin project +set(rcontrol_FOUND_CATKIN_PROJECT TRUE) + +if(NOT " " STREQUAL " ") + set(rcontrol_INCLUDE_DIRS "") + set(_include_dirs "") + if(NOT " " STREQUAL " ") + set(_report "Check the issue tracker '' and consider creating a ticket if the problem has not been reported yet.") + elseif(NOT " " STREQUAL " ") + set(_report "Check the website '' for information and consider reporting the problem.") + else() + set(_report "Report the problem to the maintainer 'klafyvel ' and request to fix the problem.") + endif() + foreach(idir ${_include_dirs}) + if(IS_ABSOLUTE ${idir} AND IS_DIRECTORY ${idir}) + set(include ${idir}) + elseif("${idir} " STREQUAL "include ") + get_filename_component(include "${rcontrol_DIR}/../../../include" ABSOLUTE) + if(NOT IS_DIRECTORY ${include}) + message(FATAL_ERROR "Project 'rcontrol' specifies '${idir}' as an include dir, which is not found. It does not exist in '${include}'. ${_report}") + endif() + else() + message(FATAL_ERROR "Project 'rcontrol' specifies '${idir}' as an include dir, which is not found. It does neither exist as an absolute directory nor in '/home/klafyvel/Documents/supelec/2A/projet/workspace/src/rcontrol/${idir}'. ${_report}") + endif() + _list_append_unique(rcontrol_INCLUDE_DIRS ${include}) + endforeach() +endif() + +set(libraries "") +foreach(library ${libraries}) + # keep build configuration keywords, target names and absolute libraries as-is + if("${library}" MATCHES "^(debug|optimized|general)$") + list(APPEND rcontrol_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND rcontrol_LIBRARIES ${library}) + elseif(TARGET ${library}) + list(APPEND rcontrol_LIBRARIES ${library}) + elseif(IS_ABSOLUTE ${library}) + list(APPEND rcontrol_LIBRARIES ${library}) + else() + set(lib_path "") + set(lib "${library}-NOTFOUND") + # since the path where the library is found is returned we have to iterate over the paths manually + foreach(path /home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/lib;/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/lib;/home/klafyvel/catkin_ws/devel/lib;/home/klafyvel/ros-ws/devel/lib;/opt/ros/melodic/lib) + find_library(lib ${library} + PATHS ${path} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) + if(lib) + set(lib_path ${path}) + break() + endif() + endforeach() + if(lib) + _list_append_unique(rcontrol_LIBRARY_DIRS ${lib_path}) + list(APPEND rcontrol_LIBRARIES ${lib}) + else() + # as a fall back for non-catkin libraries try to search globally + find_library(lib ${library}) + if(NOT lib) + message(FATAL_ERROR "Project '${PROJECT_NAME}' tried to find library '${library}'. The library is neither a target nor built/installed properly. Did you compile project 'rcontrol'? Did you find_package() it before the subdirectory containing its code is included?") + endif() + list(APPEND rcontrol_LIBRARIES ${lib}) + endif() + endif() +endforeach() + +set(rcontrol_EXPORTED_TARGETS "") +# create dummy targets for exported code generation targets to make life of users easier +foreach(t ${rcontrol_EXPORTED_TARGETS}) + if(NOT TARGET ${t}) + add_custom_target(${t}) + endif() +endforeach() + +set(depends "") +foreach(depend ${depends}) + string(REPLACE " " ";" depend_list ${depend}) + # the package name of the dependency must be kept in a unique variable so that it is not overwritten in recursive calls + list(GET depend_list 0 rcontrol_dep) + list(LENGTH depend_list count) + if(${count} EQUAL 1) + # simple dependencies must only be find_package()-ed once + if(NOT ${rcontrol_dep}_FOUND) + find_package(${rcontrol_dep} REQUIRED NO_MODULE) + endif() + else() + # dependencies with components must be find_package()-ed again + list(REMOVE_AT depend_list 0) + find_package(${rcontrol_dep} REQUIRED NO_MODULE ${depend_list}) + endif() + _list_append_unique(rcontrol_INCLUDE_DIRS ${${rcontrol_dep}_INCLUDE_DIRS}) + + # merge build configuration keywords with library names to correctly deduplicate + _pack_libraries_with_build_configuration(rcontrol_LIBRARIES ${rcontrol_LIBRARIES}) + _pack_libraries_with_build_configuration(_libraries ${${rcontrol_dep}_LIBRARIES}) + _list_append_deduplicate(rcontrol_LIBRARIES ${_libraries}) + # undo build configuration keyword merging after deduplication + _unpack_libraries_with_build_configuration(rcontrol_LIBRARIES ${rcontrol_LIBRARIES}) + + _list_append_unique(rcontrol_LIBRARY_DIRS ${${rcontrol_dep}_LIBRARY_DIRS}) + list(APPEND rcontrol_EXPORTED_TARGETS ${${rcontrol_dep}_EXPORTED_TARGETS}) +endforeach() + +set(pkg_cfg_extras "") +foreach(extra ${pkg_cfg_extras}) + if(NOT IS_ABSOLUTE ${extra}) + set(extra ${rcontrol_DIR}/${extra}) + endif() + include(${extra}) +endforeach() diff --git a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementAction.h b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementAction.h index 2802f02..fbe8322 100644 --- a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementAction.h +++ b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementAction.h @@ -151,107 +151,105 @@ struct Definition< ::teleop_tools_msgs::IncrementAction_ > { static const char* value() { - return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -IncrementActionGoal action_goal\n\ -IncrementActionResult action_result\n\ -IncrementActionFeedback action_feedback\n\ -\n\ -================================================================================\n\ -MSG: teleop_tools_msgs/IncrementActionGoal\n\ -# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -Header header\n\ -actionlib_msgs/GoalID goal_id\n\ -IncrementGoal goal\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -\n\ -================================================================================\n\ -MSG: actionlib_msgs/GoalID\n\ -# The stamp should store the time at which this goal was requested.\n\ -# It is used by an action server when it tries to preempt all\n\ -# goals that were requested before a certain time\n\ -time stamp\n\ -\n\ -# The id provides a way to associate feedback and\n\ -# result message with specific goal requests. The id\n\ -# specified must be unique.\n\ -string id\n\ -\n\ -\n\ -================================================================================\n\ -MSG: teleop_tools_msgs/IncrementGoal\n\ -# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -float32[] increment_by\n\ -\n\ -================================================================================\n\ -MSG: teleop_tools_msgs/IncrementActionResult\n\ -# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -Header header\n\ -actionlib_msgs/GoalStatus status\n\ -IncrementResult result\n\ -\n\ -================================================================================\n\ -MSG: actionlib_msgs/GoalStatus\n\ -GoalID goal_id\n\ -uint8 status\n\ -uint8 PENDING = 0 # The goal has yet to be processed by the action server\n\ -uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n\ -uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n\ - # and has since completed its execution (Terminal State)\n\ -uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n\ -uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n\ - # to some failure (Terminal State)\n\ -uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n\ - # because the goal was unattainable or invalid (Terminal State)\n\ -uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n\ - # and has not yet completed execution\n\ -uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n\ - # but the action server has not yet confirmed that the goal is canceled\n\ -uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n\ - # and was successfully cancelled (Terminal State)\n\ -uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n\ - # sent over the wire by an action server\n\ -\n\ -#Allow for the user to associate a string with GoalStatus for debugging\n\ -string text\n\ -\n\ -\n\ -================================================================================\n\ -MSG: teleop_tools_msgs/IncrementResult\n\ -# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -================================================================================\n\ -MSG: teleop_tools_msgs/IncrementActionFeedback\n\ -# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -Header header\n\ -actionlib_msgs/GoalStatus status\n\ -IncrementFeedback feedback\n\ -\n\ -================================================================================\n\ -MSG: teleop_tools_msgs/IncrementFeedback\n\ -# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -"; + return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +"IncrementActionGoal action_goal\n" +"IncrementActionResult action_result\n" +"IncrementActionFeedback action_feedback\n" +"\n" +"================================================================================\n" +"MSG: teleop_tools_msgs/IncrementActionGoal\n" +"# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +"Header header\n" +"actionlib_msgs/GoalID goal_id\n" +"IncrementGoal goal\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +"\n" +"================================================================================\n" +"MSG: actionlib_msgs/GoalID\n" +"# The stamp should store the time at which this goal was requested.\n" +"# It is used by an action server when it tries to preempt all\n" +"# goals that were requested before a certain time\n" +"time stamp\n" +"\n" +"# The id provides a way to associate feedback and\n" +"# result message with specific goal requests. The id\n" +"# specified must be unique.\n" +"string id\n" +"\n" +"\n" +"================================================================================\n" +"MSG: teleop_tools_msgs/IncrementGoal\n" +"# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"float32[] increment_by\n" +"\n" +"================================================================================\n" +"MSG: teleop_tools_msgs/IncrementActionResult\n" +"# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +"Header header\n" +"actionlib_msgs/GoalStatus status\n" +"IncrementResult result\n" +"\n" +"================================================================================\n" +"MSG: actionlib_msgs/GoalStatus\n" +"GoalID goal_id\n" +"uint8 status\n" +"uint8 PENDING = 0 # The goal has yet to be processed by the action server\n" +"uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n" +"uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n" +" # and has since completed its execution (Terminal State)\n" +"uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n" +"uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n" +" # to some failure (Terminal State)\n" +"uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n" +" # because the goal was unattainable or invalid (Terminal State)\n" +"uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n" +" # and has not yet completed execution\n" +"uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n" +" # but the action server has not yet confirmed that the goal is canceled\n" +"uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n" +" # and was successfully cancelled (Terminal State)\n" +"uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n" +" # sent over the wire by an action server\n" +"\n" +"#Allow for the user to associate a string with GoalStatus for debugging\n" +"string text\n" +"\n" +"\n" +"================================================================================\n" +"MSG: teleop_tools_msgs/IncrementResult\n" +"# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +"================================================================================\n" +"MSG: teleop_tools_msgs/IncrementActionFeedback\n" +"# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +"Header header\n" +"actionlib_msgs/GoalStatus status\n" +"IncrementFeedback feedback\n" +"\n" +"================================================================================\n" +"MSG: teleop_tools_msgs/IncrementFeedback\n" +"# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +; } static const char* value(const ::teleop_tools_msgs::IncrementAction_&) { return value(); } diff --git a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionFeedback.h b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionFeedback.h index de15eb7..1d23269 100644 --- a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionFeedback.h +++ b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionFeedback.h @@ -151,74 +151,72 @@ struct Definition< ::teleop_tools_msgs::IncrementActionFeedback_&) { return value(); } diff --git a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionGoal.h b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionGoal.h index 4cb2bbe..cdf5e8a 100644 --- a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionGoal.h +++ b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionGoal.h @@ -151,48 +151,46 @@ struct Definition< ::teleop_tools_msgs::IncrementActionGoal_ { static const char* value() { - return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -Header header\n\ -actionlib_msgs/GoalID goal_id\n\ -IncrementGoal goal\n\ -\n\ -================================================================================\n\ -MSG: std_msgs/Header\n\ -# Standard metadata for higher-level stamped data types.\n\ -# This is generally used to communicate timestamped data \n\ -# in a particular coordinate frame.\n\ -# \n\ -# sequence ID: consecutively increasing ID \n\ -uint32 seq\n\ -#Two-integer timestamp that is expressed as:\n\ -# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ -# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ -# time-handling sugar is provided by the client library\n\ -time stamp\n\ -#Frame this data is associated with\n\ -# 0: no frame\n\ -# 1: global frame\n\ -string frame_id\n\ -\n\ -================================================================================\n\ -MSG: actionlib_msgs/GoalID\n\ -# The stamp should store the time at which this goal was requested.\n\ -# It is used by an action server when it tries to preempt all\n\ -# goals that were requested before a certain time\n\ -time stamp\n\ -\n\ -# The id provides a way to associate feedback and\n\ -# result message with specific goal requests. The id\n\ -# specified must be unique.\n\ -string id\n\ -\n\ -\n\ -================================================================================\n\ -MSG: teleop_tools_msgs/IncrementGoal\n\ -# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -float32[] increment_by\n\ -"; + return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +"Header header\n" +"actionlib_msgs/GoalID goal_id\n" +"IncrementGoal goal\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +"\n" +"================================================================================\n" +"MSG: actionlib_msgs/GoalID\n" +"# The stamp should store the time at which this goal was requested.\n" +"# It is used by an action server when it tries to preempt all\n" +"# goals that were requested before a certain time\n" +"time stamp\n" +"\n" +"# The id provides a way to associate feedback and\n" +"# result message with specific goal requests. The id\n" +"# specified must be unique.\n" +"string id\n" +"\n" +"\n" +"================================================================================\n" +"MSG: teleop_tools_msgs/IncrementGoal\n" +"# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"float32[] increment_by\n" +; } static const char* value(const ::teleop_tools_msgs::IncrementActionGoal_&) { return value(); } diff --git a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionResult.h b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionResult.h index d835c06..2a903c9 100644 --- a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionResult.h +++ b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementActionResult.h @@ -151,73 +151,71 @@ struct Definition< ::teleop_tools_msgs::IncrementActionResult_&) { return value(); } diff --git a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementFeedback.h b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementFeedback.h index b6437ee..a627978 100644 --- a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementFeedback.h +++ b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementFeedback.h @@ -135,9 +135,9 @@ struct Definition< ::teleop_tools_msgs::IncrementFeedback_ > { static const char* value() { - return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -\n\ -"; + return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"\n" +; } static const char* value(const ::teleop_tools_msgs::IncrementFeedback_&) { return value(); } diff --git a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementGoal.h b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementGoal.h index b64744b..9a538e5 100644 --- a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementGoal.h +++ b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementGoal.h @@ -138,9 +138,9 @@ struct Definition< ::teleop_tools_msgs::IncrementGoal_ > { static const char* value() { - return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -float32[] increment_by\n\ -"; + return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +"float32[] increment_by\n" +; } static const char* value(const ::teleop_tools_msgs::IncrementGoal_&) { return value(); } diff --git a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementResult.h b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementResult.h index 76e1a87..98971ac 100644 --- a/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementResult.h +++ b/workspace/devel/.private/teleop_tools_msgs/include/teleop_tools_msgs/IncrementResult.h @@ -135,8 +135,8 @@ struct Definition< ::teleop_tools_msgs::IncrementResult_ > { static const char* value() { - return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ -"; + return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n" +; } static const char* value(const ::teleop_tools_msgs::IncrementResult_&) { return value(); } diff --git a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementAction.lisp b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementAction.lisp index 97aa6b9..d8c29ac 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementAction.lisp +++ b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementAction.lisp @@ -73,10 +73,10 @@ "797aeed74214fd3316231275503262ab") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%IncrementActionGoal action_goal~%IncrementActionResult action_result~%IncrementActionFeedback action_feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%IncrementActionGoal action_goal~%IncrementActionResult action_result~%IncrementActionFeedback action_feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'IncrementAction))) "Returns full string definition for message of type 'IncrementAction" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%IncrementActionGoal action_goal~%IncrementActionResult action_result~%IncrementActionFeedback action_feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%IncrementActionGoal action_goal~%IncrementActionResult action_result~%IncrementActionFeedback action_feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementActionFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'action_goal)) diff --git a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionFeedback.lisp b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionFeedback.lisp index 0aa133d..4af5ab0 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionFeedback.lisp +++ b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionFeedback.lisp @@ -73,10 +73,10 @@ "aae20e09065c3809e8a8e87c4c8953fd") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'IncrementActionFeedback))) "Returns full string definition for message of type 'IncrementActionFeedback" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementFeedback feedback~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementFeedback~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionGoal.lisp b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionGoal.lisp index e52fc31..a54b0a0 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionGoal.lisp +++ b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionGoal.lisp @@ -73,10 +73,10 @@ "fd0f65b046bd08324be539043a8c21f7") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'IncrementActionGoal))) "Returns full string definition for message of type 'IncrementActionGoal" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalID goal_id~%IncrementGoal goal~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementGoal~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%float32[] increment_by~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionResult.lisp b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionResult.lisp index 9231f00..3a45ce4 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionResult.lisp +++ b/workspace/devel/.private/teleop_tools_msgs/share/common-lisp/ros/teleop_tools_msgs/msg/IncrementActionResult.lisp @@ -73,10 +73,10 @@ "1eb06eeff08fa7ea874431638cb52332") (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '))) "Returns full string definition for message of type '" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%")) (cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'IncrementActionResult))) "Returns full string definition for message of type 'IncrementActionResult" - (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%# 0: no frame~%# 1: global frame~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%")) + (cl:format cl:nil "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%Header header~%actionlib_msgs/GoalStatus status~%IncrementResult result~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%================================================================================~%MSG: actionlib_msgs/GoalStatus~%GoalID goal_id~%uint8 status~%uint8 PENDING = 0 # The goal has yet to be processed by the action server~%uint8 ACTIVE = 1 # The goal is currently being processed by the action server~%uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing~% # and has since completed its execution (Terminal State)~%uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)~%uint8 ABORTED = 4 # The goal was aborted during execution by the action server due~% # to some failure (Terminal State)~%uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,~% # because the goal was unattainable or invalid (Terminal State)~%uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing~% # and has not yet completed execution~%uint8 RECALLING = 7 # The goal received a cancel request before it started executing,~% # but the action server has not yet confirmed that the goal is canceled~%uint8 RECALLED = 8 # The goal received a cancel request before it started executing~% # and was successfully cancelled (Terminal State)~%uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be~% # sent over the wire by an action server~%~%#Allow for the user to associate a string with GoalStatus for debugging~%string text~%~%~%================================================================================~%MSG: actionlib_msgs/GoalID~%# The stamp should store the time at which this goal was requested.~%# It is used by an action server when it tries to preempt all~%# goals that were requested before a certain time~%time stamp~%~%# The id provides a way to associate feedback and~%# result message with specific goal requests. The id~%# specified must be unique.~%string id~%~%~%================================================================================~%MSG: teleop_tools_msgs/IncrementResult~%# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======~%~%~%")) (cl:defmethod roslisp-msg-protocol:serialization-length ((msg )) (cl:+ 0 (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header)) diff --git a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementAction.js b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementAction.js index 4f3379b..1d80099 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementAction.js +++ b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementAction.js @@ -120,8 +120,6 @@ class IncrementAction { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionFeedback.js b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionFeedback.js index 4eed746..e8800d6 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionFeedback.js +++ b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionFeedback.js @@ -111,8 +111,6 @@ class IncrementActionFeedback { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionGoal.js b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionGoal.js index a1ab5b7..98df949 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionGoal.js +++ b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionGoal.js @@ -112,8 +112,6 @@ class IncrementActionGoal { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionResult.js b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionResult.js index 6ab2e92..75fe451 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionResult.js +++ b/workspace/devel/.private/teleop_tools_msgs/share/gennodejs/ros/teleop_tools_msgs/msg/IncrementActionResult.js @@ -111,8 +111,6 @@ class IncrementActionResult { # time-handling sugar is provided by the client library time stamp #Frame this data is associated with - # 0: no frame - # 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementAction.l b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementAction.l index 8f96270..eb31537 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementAction.l +++ b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementAction.l @@ -114,8 +114,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionFeedback.l b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionFeedback.l index 6be15a5..6e05d89 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionFeedback.l +++ b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionFeedback.l @@ -110,8 +110,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionGoal.l b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionGoal.l index 5218476..c375b55 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionGoal.l +++ b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionGoal.l @@ -110,8 +110,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionResult.l b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionResult.l index 59c71c2..4bcebb6 100644 --- a/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionResult.l +++ b/workspace/devel/.private/teleop_tools_msgs/share/roseus/ros/teleop_tools_msgs/msg/IncrementActionResult.l @@ -110,8 +110,6 @@ uint32 seq # time-handling sugar is provided by the client library time stamp #Frame this data is associated with -# 0: no frame -# 1: global frame string frame_id ================================================================================ diff --git a/workspace/devel/.private/vqimg/_setup_util.py b/workspace/devel/.private/vqimg/_setup_util.py index 31a0883..2ee1bf2 100755 --- a/workspace/devel/.private/vqimg/_setup_util.py +++ b/workspace/devel/.private/vqimg/_setup_util.py @@ -250,6 +250,7 @@ def find_env_hooks(environ, cmake_prefix_path): def _parse_arguments(args=None): parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') + parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') return parser.parse_known_args(args=args)[0] @@ -261,10 +262,19 @@ if __name__ == '__main__': print(e, file=sys.stderr) sys.exit(1) - # environment at generation time - CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + if not args.local: + # environment at generation time + CMAKE_PREFIX_PATH = '/home/klafyvel/Documents/supelec/2A/projet/workspace/devel;/home/klafyvel/catkin_ws/devel;/home/klafyvel/ros-ws/devel;/opt/ros/melodic'.split(';') + else: + # don't consider any other prefix path than this one + CMAKE_PREFIX_PATH = [] # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) + # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent + # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison + if os.path.sep != '/': + base_path = base_path.replace(os.path.sep, '/') + if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) diff --git a/workspace/devel/.private/vqimg/cmake.lock b/workspace/devel/.private/vqimg/cmake.lock new file mode 100644 index 0000000..e69de29 diff --git a/workspace/devel/.private/vqimg/include/vqimg/component_center.h b/workspace/devel/.private/vqimg/include/vqimg/component_center.h index 838c582..4f62243 100644 --- a/workspace/devel/.private/vqimg/include/vqimg/component_center.h +++ b/workspace/devel/.private/vqimg/include/vqimg/component_center.h @@ -153,11 +153,11 @@ struct Definition< ::vqimg::component_center_ > { static const char* value() { - return "int64 label\n\ -int64 nb_vertex\n\ -float64 x\n\ -float64 y\n\ -"; + return "int64 label\n" +"int64 nb_vertex\n" +"float64 x\n" +"float64 y\n" +; } static const char* value(const ::vqimg::component_center_&) { return value(); } diff --git a/workspace/devel/.private/vqimg/include/vqimg/component_centers.h b/workspace/devel/.private/vqimg/include/vqimg/component_centers.h index 3a7fa18..77efbac 100644 --- a/workspace/devel/.private/vqimg/include/vqimg/component_centers.h +++ b/workspace/devel/.private/vqimg/include/vqimg/component_centers.h @@ -139,15 +139,15 @@ struct Definition< ::vqimg::component_centers_ > { static const char* value() { - return "component_center[] data\n\ -\n\ -================================================================================\n\ -MSG: vqimg/component_center\n\ -int64 label\n\ -int64 nb_vertex\n\ -float64 x\n\ -float64 y\n\ -"; + return "component_center[] data\n" +"\n" +"================================================================================\n" +"MSG: vqimg/component_center\n" +"int64 label\n" +"int64 nb_vertex\n" +"float64 x\n" +"float64 y\n" +; } static const char* value(const ::vqimg::component_centers_&) { return value(); } diff --git a/workspace/devel/.private/vqimg/local_setup.bash b/workspace/devel/.private/vqimg/local_setup.bash new file mode 100644 index 0000000..7da0d97 --- /dev/null +++ b/workspace/devel/.private/vqimg/local_setup.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# generated from catkin/cmake/templates/local_setup.bash.in + +CATKIN_SHELL=bash + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) +. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/workspace/devel/.private/vqimg/local_setup.sh b/workspace/devel/.private/vqimg/local_setup.sh new file mode 100644 index 0000000..3cc0f5c --- /dev/null +++ b/workspace/devel/.private/vqimg/local_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +# generated from catkin/cmake/template/local_setup.sh.in + +# since this file is sourced either use the provided _CATKIN_SETUP_DIR +# or fall back to the destination set at configure time +: ${_CATKIN_SETUP_DIR:=/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/vqimg} +CATKIN_SETUP_UTIL_ARGS="--extend --local" +. "$_CATKIN_SETUP_DIR/setup.sh" +unset CATKIN_SETUP_UTIL_ARGS diff --git a/workspace/devel/.private/vqimg/local_setup.zsh b/workspace/devel/.private/vqimg/local_setup.zsh new file mode 100644 index 0000000..e692acc --- /dev/null +++ b/workspace/devel/.private/vqimg/local_setup.zsh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh +# generated from catkin/cmake/templates/local_setup.zsh.in + +CATKIN_SHELL=zsh + +# source setup.sh from same directory as this file +_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) +emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/workspace/devel/.private/vqimg/setup.sh b/workspace/devel/.private/vqimg/setup.sh index a13a052..43f7086 100644 --- a/workspace/devel/.private/vqimg/setup.sh +++ b/workspace/devel/.private/vqimg/setup.sh @@ -5,8 +5,9 @@ # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file -# (in plain sh shell which does't support arguments for sourced scripts you -# can set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend` instead) +# --local: only considers this workspace but not the chained ones +# In plain sh shell which doesn't support arguments for sourced scripts you can +# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time diff --git a/workspace/devel/.private/vqimg/share/vqimg/cmake/vqimgConfig.cmake b/workspace/devel/.private/vqimg/share/vqimg/cmake/vqimgConfig.cmake index bf9e742..4aa5441 100644 --- a/workspace/devel/.private/vqimg/share/vqimg/cmake/vqimgConfig.cmake +++ b/workspace/devel/.private/vqimg/share/vqimg/cmake/vqimgConfig.cmake @@ -121,6 +121,8 @@ foreach(library ${libraries}) # keep build configuration keywords, target names and absolute libraries as-is if("${library}" MATCHES "^(debug|optimized|general)$") list(APPEND vqimg_LIBRARIES ${library}) + elseif(${library} MATCHES "^-l") + list(APPEND vqimg_LIBRARIES ${library}) elseif(TARGET ${library}) list(APPEND vqimg_LIBRARIES ${library}) elseif(IS_ABSOLUTE ${library}) diff --git a/workspace/devel/cmake.lock b/workspace/devel/cmake.lock new file mode 120000 index 0000000..28b6580 --- /dev/null +++ b/workspace/devel/cmake.lock @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/bebop_description/cmake.lock \ No newline at end of file diff --git a/workspace/devel/include/detect_targets/DerivativeNodeConfig.h b/workspace/devel/include/detect_targets/DerivativeNodeConfig.h new file mode 120000 index 0000000..b823b06 --- /dev/null +++ b/workspace/devel/include/detect_targets/DerivativeNodeConfig.h @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/DerivativeNodeConfig.h \ No newline at end of file diff --git a/workspace/devel/include/detect_targets/InputNodeConfig.h b/workspace/devel/include/detect_targets/InputNodeConfig.h new file mode 120000 index 0000000..c2dbd58 --- /dev/null +++ b/workspace/devel/include/detect_targets/InputNodeConfig.h @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h \ No newline at end of file diff --git a/workspace/devel/include/detect_targets/IntegralNodeConfig.h b/workspace/devel/include/detect_targets/IntegralNodeConfig.h new file mode 120000 index 0000000..68cbcc0 --- /dev/null +++ b/workspace/devel/include/detect_targets/IntegralNodeConfig.h @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h \ No newline at end of file diff --git a/workspace/devel/include/detect_targets/PIDNodeConfig.h b/workspace/devel/include/detect_targets/PIDNodeConfig.h new file mode 120000 index 0000000..3b9fe44 --- /dev/null +++ b/workspace/devel/include/detect_targets/PIDNodeConfig.h @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h \ No newline at end of file diff --git a/workspace/devel/include/detect_targets/ProportionalNodeConfig.h b/workspace/devel/include/detect_targets/ProportionalNodeConfig.h new file mode 120000 index 0000000..ee6bd3a --- /dev/null +++ b/workspace/devel/include/detect_targets/ProportionalNodeConfig.h @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h \ No newline at end of file diff --git a/workspace/devel/include/detect_targets/SaturateNodeConfig.h b/workspace/devel/include/detect_targets/SaturateNodeConfig.h new file mode 120000 index 0000000..aa62ae9 --- /dev/null +++ b/workspace/devel/include/detect_targets/SaturateNodeConfig.h @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/SaturateNodeConfig.h \ No newline at end of file diff --git a/workspace/devel/lib/pkgconfig/rcontrol.pc b/workspace/devel/lib/pkgconfig/rcontrol.pc new file mode 120000 index 0000000..d9f68e4 --- /dev/null +++ b/workspace/devel/lib/pkgconfig/rcontrol.pc @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/lib/pkgconfig/rcontrol.pc \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig-usage.dox b/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig-usage.dox new file mode 120000 index 0000000..5ab652a --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig-usage.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig-usage.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.dox b/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.dox new file mode 120000 index 0000000..7290b2b --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.wikidoc b/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.wikidoc new file mode 120000 index 0000000..de68df0 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/DerivativeNodeConfig.wikidoc @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/DerivativeNodeConfig.wikidoc \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/InputNodeConfig-usage.dox b/workspace/devel/share/detect_targets/docs/InputNodeConfig-usage.dox new file mode 120000 index 0000000..94c5629 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/InputNodeConfig-usage.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig-usage.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/InputNodeConfig.dox b/workspace/devel/share/detect_targets/docs/InputNodeConfig.dox new file mode 120000 index 0000000..9890802 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/InputNodeConfig.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/InputNodeConfig.wikidoc b/workspace/devel/share/detect_targets/docs/InputNodeConfig.wikidoc new file mode 120000 index 0000000..ee19d4a --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/InputNodeConfig.wikidoc @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/InputNodeConfig.wikidoc \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/IntegralNodeConfig-usage.dox b/workspace/devel/share/detect_targets/docs/IntegralNodeConfig-usage.dox new file mode 120000 index 0000000..811e2f0 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/IntegralNodeConfig-usage.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig-usage.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.dox b/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.dox new file mode 120000 index 0000000..0519beb --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.wikidoc b/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.wikidoc new file mode 120000 index 0000000..8e9e830 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/IntegralNodeConfig.wikidoc @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/IntegralNodeConfig.wikidoc \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/PIDNodeConfig-usage.dox b/workspace/devel/share/detect_targets/docs/PIDNodeConfig-usage.dox new file mode 120000 index 0000000..338310c --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/PIDNodeConfig-usage.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig-usage.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/PIDNodeConfig.dox b/workspace/devel/share/detect_targets/docs/PIDNodeConfig.dox new file mode 120000 index 0000000..3e124d0 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/PIDNodeConfig.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/PIDNodeConfig.wikidoc b/workspace/devel/share/detect_targets/docs/PIDNodeConfig.wikidoc new file mode 120000 index 0000000..cbeb950 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/PIDNodeConfig.wikidoc @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/PIDNodeConfig.wikidoc \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig-usage.dox b/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig-usage.dox new file mode 120000 index 0000000..7be8aa3 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig-usage.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig-usage.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.dox b/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.dox new file mode 120000 index 0000000..e31ef6c --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.wikidoc b/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.wikidoc new file mode 120000 index 0000000..c251755 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/ProportionalNodeConfig.wikidoc @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/ProportionalNodeConfig.wikidoc \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/SaturateNodeConfig-usage.dox b/workspace/devel/share/detect_targets/docs/SaturateNodeConfig-usage.dox new file mode 120000 index 0000000..62f296c --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/SaturateNodeConfig-usage.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig-usage.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.dox b/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.dox new file mode 120000 index 0000000..f61c46f --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.dox @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.dox \ No newline at end of file diff --git a/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.wikidoc b/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.wikidoc new file mode 120000 index 0000000..70eb4e0 --- /dev/null +++ b/workspace/devel/share/detect_targets/docs/SaturateNodeConfig.wikidoc @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/share/detect_targets/docs/SaturateNodeConfig.wikidoc \ No newline at end of file diff --git a/workspace/devel/share/rcontrol/cmake/rcontrolConfig-version.cmake b/workspace/devel/share/rcontrol/cmake/rcontrolConfig-version.cmake new file mode 120000 index 0000000..09e039e --- /dev/null +++ b/workspace/devel/share/rcontrol/cmake/rcontrolConfig-version.cmake @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig-version.cmake \ No newline at end of file diff --git a/workspace/devel/share/rcontrol/cmake/rcontrolConfig.cmake b/workspace/devel/share/rcontrol/cmake/rcontrolConfig.cmake new file mode 120000 index 0000000..e9e0075 --- /dev/null +++ b/workspace/devel/share/rcontrol/cmake/rcontrolConfig.cmake @@ -0,0 +1 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/rcontrol/share/rcontrol/cmake/rcontrolConfig.cmake \ No newline at end of file diff --git a/workspace/logs/bebop_driver/build.check.030.log.stderr b/workspace/logs/bebop_driver/build.check.030.log.stderr new file mode 100644 index 0000000..84d27cc --- /dev/null +++ b/workspace/logs/bebop_driver/build.check.030.log.stderr @@ -0,0 +1,32 @@ +CMake Warning at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:166 (message): + catkin_package() DEPENDS on 'system_lib' but neither + 'system_lib_INCLUDE_DIRS' nor 'system_lib_LIBRARIES' is defined. +Call Stack (most recent call first): + /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package) + CMakeLists.txt:40 (catkin_package) + + +CMake Warning at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:166 (message): + catkin_package() DEPENDS on 'libavcodec' but neither + 'libavcodec_INCLUDE_DIRS' nor 'libavcodec_LIBRARIES' is defined. +Call Stack (most recent call first): + /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package) + CMakeLists.txt:40 (catkin_package) + + +CMake Warning at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:166 (message): + catkin_package() DEPENDS on 'libavformat' but neither + 'libavformat_INCLUDE_DIRS' nor 'libavformat_LIBRARIES' is defined. +Call Stack (most recent call first): + /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package) + CMakeLists.txt:40 (catkin_package) + + +CMake Warning at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:166 (message): + catkin_package() DEPENDS on 'libswscale' but neither + 'libswscale_INCLUDE_DIRS' nor 'libswscale_LIBRARIES' is defined. +Call Stack (most recent call first): + /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package) + CMakeLists.txt:40 (catkin_package) + + diff --git a/workspace/logs/bebop_driver/build.make.031.log.stderr b/workspace/logs/bebop_driver/build.make.031.log.stderr new file mode 100644 index 0000000..e7d37f4 --- /dev/null +++ b/workspace/logs/bebop_driver/build.make.031.log.stderr @@ -0,0 +1,34 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp: In member function ‘bool bebop_driver::VideoDecoder::ReallocateBuffers()’: +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:136:113: warning: ‘int avpicture_get_size(AVPixelFormat, int, int)’ is deprecated [-Wdeprecated-declarations] + const uint32_t num_bytes = avpicture_get_size(AV_PIX_FMT_RGB24, codec_ctx_ptr_->width, codec_ctx_ptr_->width); + ^ +In file included from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/include/bebop_driver/bebop_video_decoder.h:32:0, + from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:25: +/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:5653:5: note: declared here + int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height); + ^~~~~~~~~~~~~~~~~~ +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:147:69: warning: ‘int avpicture_fill(AVPicture*, const uint8_t*, AVPixelFormat, int, int)’ is deprecated [-Wdeprecated-declarations] + codec_ctx_ptr_->width, codec_ctx_ptr_->height), + ^ +In file included from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/include/bebop_driver/bebop_video_decoder.h:32:0, + from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:25: +/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:5638:5: note: declared here + int avpicture_fill(AVPicture *picture, const uint8_t *ptr, + ^~~~~~~~~~~~~~ +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp: In member function ‘bool bebop_driver::VideoDecoder::Decode(const ARCONTROLLER_Frame_t*)’: +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:267:100: warning: ‘int avcodec_decode_video2(AVCodecContext*, AVFrame*, int*, const AVPacket*)’ is deprecated [-Wdeprecated-declarations] + const int32_t len = avcodec_decode_video2(codec_ctx_ptr_, frame_ptr_, &frame_finished, &packet_); + ^ +In file included from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/include/bebop_driver/bebop_video_decoder.h:32:0, + from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:25: +/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4993:5: note: declared here + int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, + ^~~~~~~~~~~~~~~~~~~~~ +/home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:295:100: warning: ‘int avcodec_decode_video2(AVCodecContext*, AVFrame*, int*, const AVPacket*)’ is deprecated [-Wdeprecated-declarations] + const int32_t len = avcodec_decode_video2(codec_ctx_ptr_, frame_ptr_, &frame_finished, &packet_); + ^ +In file included from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/include/bebop_driver/bebop_video_decoder.h:32:0, + from /home/klafyvel/Documents/supelec/2A/projet/workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp:25: +/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4993:5: note: declared here + int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, + ^~~~~~~~~~~~~~~~~~~~~ diff --git a/workspace/logs/detect_targets/build.make.042.log.stderr b/workspace/logs/detect_targets/build.make.042.log.stderr new file mode 100644 index 0000000..cd98c40 --- /dev/null +++ b/workspace/logs/detect_targets/build.make.042.log.stderr @@ -0,0 +1,19 @@ +Traceback (most recent call last): + File "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/PIDNode.cfg", line 8, in + gen.add("kp", float_t, 0, "Kp", 1.0) +NameError: name 'float_t' is not defined +make[2]: *** [/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/PIDNodeConfig.h] Error 1 +make[2]: *** Attente des tâches non terminées.... +Traceback (most recent call last): + File "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/ProportionalNode.cfg", line 8, in + gen.add("k", float_t, 0, "K", 1.0) +NameError: name 'float_t' is not defined +make[2]: *** [/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/ProportionalNodeConfig.h] Error 1 +Traceback (most recent call last): + File "/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/IntegralNode.cfg", line 8, in + gen.add("k", float_t, 0, "K", 1.0) +NameError: name 'float_t' is not defined +make[2]: *** [/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/IntegralNodeConfig.h] Error 1 +make[1]: *** [CMakeFiles/detect_targets_gencfg.dir/all] Error 2 +make[1]: *** Attente des tâches non terminées.... +make: *** [all] Error 2 diff --git a/workspace/logs/detect_targets/build.make.048.log.stderr b/workspace/logs/detect_targets/build.make.048.log.stderr new file mode 100644 index 0000000..2541c83 --- /dev/null +++ b/workspace/logs/detect_targets/build.make.048.log.stderr @@ -0,0 +1,6 @@ +/home/klafyvel/Documents/supelec/2A/projet/workspace/build/detect_targets/setup_custom_pythonpath.sh: 5: exec: /home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/cfg/InputNode.cfg: Permission denied +make[2]: *** [/home/klafyvel/Documents/supelec/2A/projet/workspace/devel/.private/detect_targets/include/detect_targets/InputNodeConfig.h] Error 126 +make[2]: *** Attente des tâches non terminées.... +make[1]: *** [CMakeFiles/detect_targets_gencfg.dir/all] Error 2 +make[1]: *** Attente des tâches non terminées.... +make: *** [all] Error 2 diff --git a/workspace/record.bag b/workspace/record.bag new file mode 100644 index 0000000000000000000000000000000000000000..ffc646217525b1aafe827927b11ad099041124ba GIT binary patch literal 32701 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 EKNbHMO#lD@ literal 0 HcmV?d00001 diff --git a/workspace/src/detect_targets/CMakeLists.txt b/workspace/src/detect_targets/CMakeLists.txt index f9ee25a..6623bdf 100644 --- a/workspace/src/detect_targets/CMakeLists.txt +++ b/workspace/src/detect_targets/CMakeLists.txt @@ -95,6 +95,12 @@ generate_messages( generate_dynamic_reconfigure_options( cfg/DetectTargets.cfg cfg/triangle_control.cfg + cfg/PIDNode.cfg + cfg/ProportionalNode.cfg + cfg/IntegralNode.cfg + cfg/DerivativeNode.cfg + cfg/SaturateNode.cfg + cfg/InputNode.cfg ) ################################### diff --git a/workspace/src/detect_targets/cfg/DerivativeNode.cfg b/workspace/src/detect_targets/cfg/DerivativeNode.cfg new file mode 100755 index 0000000..492cd70 --- /dev/null +++ b/workspace/src/detect_targets/cfg/DerivativeNode.cfg @@ -0,0 +1,14 @@ +#!/usr/bin/env python +PACKAGE = "detect_targets" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +gen.add("k", double_t, 0, "K", 1.0) +gen.add("size", int_t, 0, "Size of the Savinsky Golay filter", 3, 1, 20) +gen.add("poly_order", int_t, 0, "Order of the polynome of the Savinsky Golay filter", 1, 0, 20) +gen.add("refresh_time", double_t, 0, "Minimal refresh time in seconds", 1.0) +gen.add("deriv", int_t, 0, "Derivative order", 1, 0) + +exit(gen.generate(PACKAGE, "detect_targets", "DerivativeNode")) diff --git a/workspace/src/detect_targets/cfg/InputNode.cfg b/workspace/src/detect_targets/cfg/InputNode.cfg new file mode 100755 index 0000000..6c2922d --- /dev/null +++ b/workspace/src/detect_targets/cfg/InputNode.cfg @@ -0,0 +1,10 @@ +#!/usr/bin/env python +PACKAGE = "detect_targets" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +gen.add("value", double_t, 0, "Input Value", 0.0) + +exit(gen.generate(PACKAGE, "detect_targets", "InputNode")) diff --git a/workspace/src/detect_targets/cfg/IntegralNode.cfg b/workspace/src/detect_targets/cfg/IntegralNode.cfg new file mode 100755 index 0000000..9a76216 --- /dev/null +++ b/workspace/src/detect_targets/cfg/IntegralNode.cfg @@ -0,0 +1,15 @@ +#!/usr/bin/env python +PACKAGE = "detect_targets" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +gen.add("k", double_t, 0, "K", 1.0) +gen.add("use_min", bool_t, 0, "Clamp to minimal value", True) +gen.add("min", double_t, 0, "Minimal Value", 0.0) +gen.add("use_max", bool_t, 0, "Clamp to maximal value", True) +gen.add("max", double_t, 0, "Maximal Value", 0.0) +gen.add("refresh_time", double_t, 0, "Minimal refresh time in seconds", 1.0) + +exit(gen.generate(PACKAGE, "detect_targets", "IntegralNode")) diff --git a/workspace/src/detect_targets/cfg/PIDNode.cfg b/workspace/src/detect_targets/cfg/PIDNode.cfg new file mode 100755 index 0000000..fa9124f --- /dev/null +++ b/workspace/src/detect_targets/cfg/PIDNode.cfg @@ -0,0 +1,20 @@ +#!/usr/bin/env python +PACKAGE = "detect_targets" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +gen.add("kp", double_t, 0, "Kp", 1.0) +gen.add("ki", double_t, 0, "Ki", 1.0) +gen.add("kd", double_t, 0, "Kd", 1.0) +gen.add("size", int_t, 0, "Size of the Savinsky Golay filter", 3) +gen.add("poly_order", int_t, 0, "Order of the polynome of the Savinsky Golay filter", 1) +gen.add("dom", bool_t, 0, "Derivative on measurement", False) +gen.add("use_min", bool_t, 0, "Clamp integral to minimal value", True) +gen.add("min", double_t, 0, "Minimal integral value", 0.0) +gen.add("use_max", bool_t, 0, "Clamp integral to maximal value", True) +gen.add("max", double_t, 0, "Maximal integral value", 0.0) +gen.add("refresh_time", double_t, 0, "Minimal refresh time in seconds", 1.0) + +exit(gen.generate(PACKAGE, "detect_targets", "PIDNode")) diff --git a/workspace/src/detect_targets/cfg/ProportionalNode.cfg b/workspace/src/detect_targets/cfg/ProportionalNode.cfg new file mode 100755 index 0000000..cbca2cd --- /dev/null +++ b/workspace/src/detect_targets/cfg/ProportionalNode.cfg @@ -0,0 +1,11 @@ +#!/usr/bin/env python +PACKAGE = "detect_targets" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +gen.add("k", double_t, 0, "K", 1.0) +gen.add("refresh_time", double_t, 0, "Minimal refresh time in seconds", 1.0) + +exit(gen.generate(PACKAGE, "detect_targets", "ProportionalNode")) diff --git a/workspace/src/detect_targets/cfg/SaturateNode.cfg b/workspace/src/detect_targets/cfg/SaturateNode.cfg new file mode 100755 index 0000000..3539f53 --- /dev/null +++ b/workspace/src/detect_targets/cfg/SaturateNode.cfg @@ -0,0 +1,14 @@ +#!/usr/bin/env python +PACKAGE = "detect_targets" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +gen.add("use_min", bool_t, 0, "Clamp to minimal value", True) +gen.add("min", double_t, 0, "Minimal Value", 0.0) +gen.add("use_max", bool_t, 0, "Clamp to maximal value", True) +gen.add("max", double_t, 0, "Maximal Value", 0.0) +gen.add("refresh_time", double_t, 0, "Minimal refresh time in seconds", 1.0) + +exit(gen.generate(PACKAGE, "detect_targets", "SaturateNode")) diff --git a/workspace/src/detect_targets/cfg/triangle_control.cfg b/workspace/src/detect_targets/cfg/triangle_control.cfg index 4e7c1b3..93bfc76 100755 --- a/workspace/src/detect_targets/cfg/triangle_control.cfg +++ b/workspace/src/detect_targets/cfg/triangle_control.cfg @@ -11,6 +11,8 @@ gen.add("target_depth", double_t, 0, "the real target depth (m)", .2, 0.01, 0.5) gen.add("distance_to_target", double_t, 0, "The required distance to the target (m)", 2, 1, 5) gen.add("max_speed", double_t, 0, "the maximal linear speed", .3, .01, 3) gen.add("max_acceleration", double_t, 0, "the maximal linear speed", .3, .01, 3) +gen.add("sample_time", double_t, 0, "the sample time in seconds", 0, .01, 3) +gen.add("double_loop", bool_t, 0, "Enable double loop", True) gen.add("speed_linear_x_Kp", double_t, 0, "linear.x controller Kp", .01, 0, 2) diff --git a/workspace/src/detect_targets/launch/bebop-triangle-control.launch b/workspace/src/detect_targets/launch/bebop-triangle-control.launch index bbee74d..6f7817a 100644 --- a/workspace/src/detect_targets/launch/bebop-triangle-control.launch +++ b/workspace/src/detect_targets/launch/bebop-triangle-control.launch @@ -5,24 +5,73 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + - diff --git a/workspace/src/detect_targets/launch/control.launch b/workspace/src/detect_targets/launch/control.launch new file mode 100644 index 0000000..75a2f77 --- /dev/null +++ b/workspace/src/detect_targets/launch/control.launch @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/workspace/src/detect_targets/scripts/__pycache__/find_targets.cpython-36.pyc b/workspace/src/detect_targets/scripts/__pycache__/find_targets.cpython-36.pyc index b954c9b2f93006b7e10af23e9401711b5bdd7c32..244406058d5db3ce45ab711e4d6d94cc60cce99c 100644 GIT binary patch delta 518 zcmdlh@j!ypn3tF9oWi`A*omA|#4;Ed7)lsQ7;6}7n3|cI8EctKn6j8Bu9r3hQY8#E zjLnSP3@OYt%pwfZK!rd>j4)n0NI5G=c@0A|V;0NC&*F@_=|J;<;DbGs!N34xIKZU# zYqH*AP0PtoESappq{ApM*_Ww}hmVPck&97)NrS0KX!Cuhau%MKOh9vr7=gq~#>q+S zb&BF3z5tNWWWL3uXK;%#^A=+wSO7u@PG;n2R{^QgWV*#tT#{dKi?z5Uv8Y6o@fKqR zio!JLI!P|ss-B`G10j46mfXautaC(HB50RRKMXXyX{ delta 495 zcmaDLu~&lAn3tE!C$%j`eInn+4X(R3r(MyTzD~qBDlm zT^uaUSR@bE3N}P|@-9wu8HC+f6!3ESBRLLYL6H)=F|}M0oJH(FQBAHQ&dKw*S{QFl zR_2aFacU2Df|MvoqZo(~2NG_Y9Jg5WN^=V;ftuKOlq^I*GNvE`;YWx=fnv8fY;yBc XN^?@}n1Q@v4j{q7D8kGk&cFx&x@=k! diff --git a/workspace/src/detect_targets/scripts/bench_find_targets.jl b/workspace/src/detect_targets/scripts/bench_find_targets.jl new file mode 100644 index 0000000..126dffa --- /dev/null +++ b/workspace/src/detect_targets/scripts/bench_find_targets.jl @@ -0,0 +1,11 @@ +using Images + +include("find_targets.jl") + +function bench_targets() + img = load("/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/scripts/image.jpeg") + + H, L, R = find_targets(img) + + print(H, L, R) +end diff --git a/workspace/src/detect_targets/scripts/bench_find_targets.py b/workspace/src/detect_targets/scripts/bench_find_targets.py new file mode 100644 index 0000000..5d23b3d --- /dev/null +++ b/workspace/src/detect_targets/scripts/bench_find_targets.py @@ -0,0 +1,8 @@ +import matplotlib.pyplot as pl + +from find_targets import find_targets +img = pl.imread('image.jpeg') + +H, L, R = find_targets(img) + +print(H,L,R) diff --git a/workspace/src/detect_targets/scripts/control_compute.jl b/workspace/src/detect_targets/scripts/control_compute.jl new file mode 100644 index 0000000..25f3528 --- /dev/null +++ b/workspace/src/detect_targets/scripts/control_compute.jl @@ -0,0 +1,243 @@ +module ControlCompute +export PID, compute!, reset!, Integral, Derivative, Proportional + +struct Savgol + filter::Array{Float64, 2} + poly_order::Int8 + sample_time::Float64 + derivative::Int8 + convoluate::Bool + function Savgol(size::Int64, poly_order::Int64, deriv::Int64=0, delta::Float64=1.0, conv::Bool=false) + half_size, rem = divrem(size, 2) + if rem == 0 + throw(ArgumentError("size must be odd.")) + end + M = [-half_size:half_size;] .^ [0:poly_order;]'; + y = zeros(poly_order+1)'; + y[deriv+1] = factorial(deriv) / delta^deriv; + scal = y*inv(M'*M)*M' + if conv + scal = scal[end:-1:1] + end + new(scal, poly_order, delta, conv) + end +end + +abstract type Block end + +mutable struct Derivative <: Block + k::Float64 + last_points::Array{Float64, 1} + filter::Savgol + last_time::Float64 + refresh_time::Float64 + output::Float64 + Derivative(k::Float64=1.0, refresh_time::Float64=1.0, size::Int64=3, poly_order::Int64=1) = new(k, zeros(size), Savgol(size, poly_order, 1, refresh_time), 0.0, refresh_time, 0.0) +end + +mutable struct Proportional <: Block + k::Float64 + last_time::Float64 + refresh_time::Float64 + output::Float64 + Proportional(k=1.0, refresh_time=1.0) = new(k, 0.0, refresh_time, 0.0) +end + +abstract type AbstractSaturate <: Block end + +struct Saturate <: AbstractSaturate + min::Union{Float64, Nothing} + max::Union{Float64, Nothing} + output::Float64 + last_time::Float64 + refresh_time::Float64 + Saturate(min=nothing, max=nothing) = new(min, max, 0.0, 0.0, 1.0) +end + +mutable struct Integral <: AbstractSaturate + k::Float64 + last_time::Float64 + refresh_time::Float64 + min::Union{Float64, Nothing} + max::Union{Float64, Nothing} + output::Float64 + Integral(k=1.0, refresh_time=1.0, min=nothing, max=nothing) = new(k, 0.0, refresh_time, min, max, 0.0) +end + +mutable struct PID <: Block + P::Proportional + I::Integral + D::Derivative + last_time::Float64 + refresh_time::Float64 + output::Float64 + PID(kp=0.0, ki=0.0, kd=0.0, refresh_time=1.0) = new(Proportional(kp, refresh_time), Integral(ki, refresh_time), Derivative(kd, refresh_time), 0.0, refresh_time, 0.0) +end + +mutable struct Differenciate <: Block + last_time::Float64 + refresh_time::Float64 + output::Float64 + Differenciate() = new(time(), 0.0, 0.0) +end + +""" + reset!(block::Block) + +Reset the `last_time` and `output` attribute of the block. +""" +function reset!(block::Block, output::Float64=0.0) + block.last_time = time() + block.output = output +end + + +""" + check_time(block::Block, delta_time::Float64=0) + +Check the time elapsed since the last computation. Returns time_elapsed >= block.refresh_time + +The time in seconds elapsed since the last computation is given by `delta_time`. +If it equals 0.0, the delta is computed using `time()`. +""" +function check_time(block::Block, delta_time::Float64=0) + t = time() + if delta_time == 0 + delta_time = t - block.last_time + end + return delta_time >= block.refresh_time, delta_time +end + +""" + compute!(pid::PID, input::Float64, delta_time::Float64=0.0, measure::Float64=nothing) + +Compute the output of a PID corrector using the given input. + +Uses the `check_time` function. If not enough time has passed since the last +compute, it just keeps the last computed output. If you want to compute the +derivative on the measurement rather than on the error to avoid derrivative jump, +use the `measure` parameter. +""" +function compute!(pid::PID, input::Float64, delta_time::Float64=0.0, measure::Union{Float64, Nothing}=nothing) + if ! check_time(pid, delta_time) + return + end + compute!(pid.P, input, delta_time) + compute!(pid.I, input, delta_time) + if measure == nothing + compute!(pid.D, input, delta_time) + else + compute!(pid.D, measure, delta_time) + end + + pid.last_time = time(); + pid.output = pid.P.output + pid.I.output + pid.D.output +end + +""" + compute!(block::Proportional, input::Float64, delta_time::Float64=0.0) + +Compute the output of a Proportional block using the given input. + +Uses the `check_time` function. If not enough time has passed since the last +compute, it just keeps the last computed output. +""" +function compute!(block::Proportional, input::Float64, delta_time::Float64=0.0) + if ! check_time(block, delta_time) + return + end + + block.last_time = time(); + block.output = block.k * input +end + +""" + compute!(block::Saturate, input::Float64, delta_time::Float64=0.0) + +Compute the output of a Saturate block using the given input. + +Uses the `check_time` function. If not enough time has passed since the last +compute, it just keeps the last computed output. +""" +function compute!(block::Saturate, input::Float64, delta_time::Float64=0.0) + if ! check_time(block, delta_time) + return + end + + block.output = input + if block.min != nothing + block.output = max(block.output, block.min) + end + if block.max != nothing + block.output = min(block.output, block.max) + end + + block.last_time = time(); + block.output +end + +""" + compute!(block::Integral, input::Float64, delta_time::Float64=0.0) + +Compute the output of a Integral block using the given input. + +Uses the `check_time` function. If not enough time has passed since the last +compute, it just keeps the last computed output. +""" +function compute!(block::Integral, input::Float64, delta_time::Float64=0.0) + delta_ok, delta = check_time(block, delta_time) + if ! delta_ok + return + end + + block.output += block.k * delta * input + println(block.output) + if block.min != nothing + block.output = max(block.output, block.min) + end + if block.max != nothing + block.output = min(block.output, block.max) + end + + block.last_time = time(); + block.output +end + +""" + compute!(block::Derivative, input::Float64, delta_time::Float64=0.0) + +Compute the output of a Derivative block using the given input. + +Uses the `check_time` function. If not enough time has passed since the last +compute, it just keeps the last computed output. +""" +function compute!(block::Derivative, input::Float64, delta_time::Float64=0.0) + if ! check_time(block, delta_time) + return + end + + block.last_points = [input, block.last_points[1:end-1]...]; + block.output = block.k * (block.filter.filter * block.last_points)[1]; + + block.last_time = time(); + block.output +end + +""" + compute!(block::Differenciate, input_plus::Float64, input_minus:Float64, delta_time::Float64=0.0) + +Compute the output of a Differenciate block, i.e. `input_plus - input_minus`. + +Uses the `check_time` function. If not enough time has passed since the last +compute, it just keeps the last computed output. +""" +function compute!(block::Differenciate, input_plus::Float64, input_minus::Float64, delta_time::Float64=0.0) + if ! check_time(block, delta_time) + return + end + + block.last_time = time(); + block.output = input_plus - input_minus +end + +end # module ControlCompute diff --git a/workspace/src/detect_targets/scripts/control_compute.py b/workspace/src/detect_targets/scripts/control_compute.py new file mode 100755 index 0000000..7e0f0bd --- /dev/null +++ b/workspace/src/detect_targets/scripts/control_compute.py @@ -0,0 +1,202 @@ +#! /usr/bin/python + +from scipy.signal import savgol_coeffs +import numpy as np +import sys + +import rospy + +from std_msgs.msg import Float64, Bool + +import dynamic_reconfigure.server +from detect_targets.cfg import ProportionalNodeConfig, IntegralNodeConfig +from detect_targets.cfg import DerivativeNodeConfig, InputNodeConfig, SaturateNodeConfig + + +class ControlNode(object): + def __init__(self, refresh_time=1.0, config_class=None): + self.last_time = rospy.get_rostime() + self.refresh_time = rospy.Duration.from_sec(refresh_time) + self.output = 0.0 + + self.output_topic = rospy.Publisher('output', Float64, queue_size=1) + + self.input_topics = { + "reset": rospy.Subscriber("reset", Bool, self.on_reset), + } + + + if config_class is not None: + self.server = dynamic_reconfigure.server.Server(config_class, self.on_reconf) + + def on_reset(self, value): + if value: + self.output = 0.0 + + def on_reconf(self, config, level): + self.refresh_time = rospy.Duration.from_sec(config["refresh_time"]) + return config + + def on_compute(self, value): + self.output_topic.publish(data=self.output) + self.last_time = rospy.get_rostime() + + def check_time(self, delta_time=0.0): + t = rospy.get_rostime() + if delta_time == 0.0: + delta_time = t - self.last_time + + return delta_time >= self.refresh_time, delta_time.to_sec() + +class InputControlNode(ControlNode): + def __init__(self, *args, **kwargs): + super(InputControlNode, self).__init__(*args, **kwargs) + self.input_topics["input"] = rospy.Subscriber("input", Float64, self.on_compute) + +class ProportionalNode(InputControlNode): + def __init__(self, k=1.0, refresh_time=1.0): + super(ProportionalNode, self).__init__(refresh_time, ProportionalNodeConfig) + self.k = k + + def on_reconf(self, config, level): + self.k = config["k"] + return super(ProportionalNode, self).on_reconf(config, level) + + def on_compute(self, value): + time_ok,_ = self.check_time() + if time_ok: + self.output = self.k * value.data + super(ProportionalNode, self).on_compute(value) + +class SaturateNode(InputControlNode): + def __init__(self, min=None, max=None, refresh_time=1.0, config=SaturateNodeConfig): + super(SaturateNode, self).__init__(refresh_time, config) + self.min = min + self.max = max + + def on_reconf(self, config, level): + self.min = config["min"] if config["use_min"] else None + self.max = config["max"] if config["use_max"] else None + return super(SaturateNode, self).on_reconf(config, level) + + def on_compute(self, value): + time_ok,_ = self.check_time() + if time_ok: + self.output = min(self.max or value.data, value.data) + self.output = max(self.min or self.output, self.output) + super(SaturateNode, self).on_compute(value) + +class IntegralNode(SaturateNode): + def __init__(self, k=1.0, min=None, max=None, refresh_time=1.0): + super(IntegralNode, self).__init__(min, max, refresh_time, IntegralNodeConfig) + self.k = k + + def on_reconf(self, config, level): + self.k = config["k"] + return super(IntegralNode, self).on_reconf(config, level) + + def on_compute(self, value): + time_ok, delta = self.check_time() + if time_ok: + self.output += value.data * delta + return super(IntegralNode, self).on_compute(value) + +class DerivativeNode(InputControlNode): + def __init__(self, k=1.0, size=3, polyorder=1, deriv=1, refresh_time=1.0): + super(DerivativeNode, self).__init__(refresh_time, DerivativeNodeConfig) + self.k = k + self.filter = savgol_coeffs(size, polyorder, deriv, delta=refresh_time, use='dot') + + def on_reconf(self, config, level): + self.k = config["k"] + try: + self.filter = savgol_coeffs( + config["size"], + config["poly_order"], + config["deriv"], + delta=config["refresh_time"], + use='dot' + ) + except ValueError as e: + rospy.logerr(e) + self.last_points = np.zeros(config["size"]) + return super(DerivativeNode, self).on_reconf(config, level) + + def on_compute(self, value): + time_ok, delta = self.check_time() + if time_ok: + np.concatenate([self.last_points[1:], [value.data]]) + self.output = self.last_points.dot(self.filter) + return super(DerivativeNode, self).on_compute(value) + + def on_reset(self, value): + if value: + self.last_points = np.zeros(len(self.filter)) + return super(DerivativeNode, self).on_reset(value) + +class DifferenciateNode(InputControlNode): + def __init__(self): + self.measure = 0.0 + self.input = 0.0 + super(DifferenciateNode, self).__init__() + self.input_topics["measure"] = rospy.Subscriber("measure", Float64, self.on_compute_measure) + + def on_compute(self, value): + self.input = value.data + self.output = self.input - self.measure + super(DifferenciateNode, self).on_compute(value) + + def on_compute_measure(self, value): + self.measure = value.data + self.output = self.input - self.measure + super(DifferenciateNode, self).on_compute(value) + +class InputNode(InputControlNode): + def __init__(self): + super(InputNode, self).__init__(refresh_time=1.0, config_class=InputNodeConfig) + + def on_reconf(self, config, level): + self.output = config["value"] + super(InputNode, self).on_compute(config["value"]) + return config + + def on_compute(self, value): + self.output = value.data + super(InputNode, self).on_compute(value) + +class SumNode(ControlNode): + def __init__(self, nb_topics): + super(SumNode, self).__init__(refresh_time=1.0) + self.nb_topics = int(nb_topics) + self.inputs = dict() + for i in range(self.nb_topics): + topic_name = 'input_'+str(i) + self.input_topics[topic_name] = rospy.Subscriber(topic_name, Float64, lambda v: self.inputs.update(dict(topic_name=v.data)) or self.on_compute(v)) + + def on_compute(self, value): + self.output = sum(self.inputs.values()) + super(SumNode, self).on_compute(value) + +if __name__ == '__main__': + nodes = { + 'sum' : (SumNode, True), + 'differenciate' : (DifferenciateNode, False), + 'input' : (InputNode, False), + 'saturate' : (SaturateNode, False), + 'derivative' : (DerivativeNode, False), + 'integral' : (IntegralNode, False), + 'proportional' : (ProportionalNode, False), + } + rospy.init_node('control_node', anonymous=True) + try: + node_class, need_param = nodes[sys.argv[1]] + except KeyError as e: + raise ValueError(sys.argv[1] + " is not a valid node name.") + + if need_param: + param = sys.argv[2] + node = node_class(param) + else: + node = node_class() + + rospy.spin() diff --git a/workspace/src/detect_targets/scripts/control_node.jl b/workspace/src/detect_targets/scripts/control_node.jl new file mode 100755 index 0000000..d59d138 --- /dev/null +++ b/workspace/src/detect_targets/scripts/control_node.jl @@ -0,0 +1,266 @@ +#!/usr/bin/env julia + +doc = """Control Node. + +Allow to create ROS control node among pid, proportional, integral, derivative, +input, differenciate and saturate (see the `--node` option). + +Usage: + control_node.jl --node= [--name=] [...] + control_node.jl -h | --help + +Options: + -h --help Show this screen. + --node= Specify the node. + --name= Set the name of the node. + +""" + +push!(LOAD_PATH,"/home/klafyvel/Documents/supelec/2A/projet/workspace/src/detect_targets/scripts/") +ENV["PYTHON"] = "/usr/bin/python" +using PyCall + +using RobotOS +@rosimport std_msgs.msg: Float64 +rostypegen() + +using DocOpt + +server_module = pyimport("dynamic_reconfigure.server"); + +ProportionalNodeConfig = pyimport("detect_targets.cfg.ProportionalNodeConfig") +IntegralNodeConfig = pyimport("detect_targets.cfg.IntegralNodeConfig") +DerivativeNodeConfig = pyimport("detect_targets.cfg.DerivativeNodeConfig") +PIDNodeConfig = pyimport("detect_targets.cfg.PIDNodeConfig") +InputNodeConfig = pyimport("detect_targets.cfg.InputNodeConfig") +SaturateNodeConfig = pyimport("detect_targets.cfg.SaturateNodeConfig") + +include("control_compute.jl"); +# using ControlCompute + +mutable struct ControlNode{T<:ControlCompute.Block} + inputs::Dict{String, Float64} + input_topics::Dict{String, Subscriber{std_msgs.msg.Float64Msg}} + output_topic::Publisher{std_msgs.msg.Float64Msg} + block::T +end + +function initNode(block::T) where {T<:ControlCompute.Block} + inputs = Dict{String, Float64}("input"=>0.0) + input_topics = Dict{String, Subscriber{std_msgs.msg.Float64Msg}}() + output_topic = Publisher{std_msgs.msg.Float64Msg}("output", queue_size=1) + node = ControlNode(inputs, input_topics, output_topic, block) + get!( + node.input_topics, + "input", + Subscriber{std_msgs.msg.Float64Msg}("input", create_output, (node,)) + ) + # get!( + # node.input_topics, + # "reset", + # Subscriber{std_msgs.msg.Float64Msg}("reset", reset_node, (node,)) + # ) + node +end + +function partial(f,a...) + (b...) -> f(a...,b...) +end + +function ControlNode(block::ControlCompute.PID) + node = initNode(block) + callback = partial(on_reconf, node) + server = server_module.Server(PIDNodeConfig, callback) + node.input_topics["measure"] = Subscriber{std_msgs.msg.Float64Msg}("measure", create_output_diff, (node,)) + node, server +end + +function ControlNode(block::ControlCompute.Proportional) + node = initNode(block) + callback = partial(on_reconf, node) + server = server_module.Server(ProportionalNodeConfig, callback) + node, server +end + +function ControlNode(block::ControlCompute.Integral) + node = initNode(block) + callback = partial(on_reconf, node) + server = server_module.Server(IntegralNodeConfig, callback) + node, server +end + +function ControlNode(block::ControlCompute.Derivative) + node = initNode(block) + callback = partial(on_reconf, node) + server = server_module.Server(DerivativeNodeConfig, callback) + node, server +end + +function ControlNode(block::ControlCompute.Saturate) + node = initNode(block) + callback = partial(on_reconf, node) + server = server_module.Server(SaturateNodeConfig, callback) + node, server +end + +function ControlNode(block::ControlCompute.Differenciate) + node = initNode(block) + node.input_topics["measure"] = Subscriber{std_msgs.msg.Float64Msg}("measure", create_output_diff, (node,)) + node, nothing +end + +function create_output(input, node::ControlNode{T}) where {T<:ControlCompute.Block} + node.inputs["input"] = input + ControlCompute.compute!(node, input) + publish(node.output_topic, node.output) +end + +function create_output(input, node::ControlNode{ControlCompute.PID}) + node.inputs["input"] = input + ControlCompute.compute!(node, input, 0.0, node.inputs["measure"]) + publish(node.output_topic, node.output) +end + +function create_output(input, node::ControlNode{ControlCompute.Differenciate}) + node.inputs["input"] = input + ControlCompute.compute!(node, input, 0.0, node.inputs["measure"]) + publish(node.output_topic, node.output) +end + +function create_output_diff(input_diff, node::ControlNode{ControlCompute.PID}) + input = node.inputs["input"] + node.inputs["measure"] = input_diff + ControlCompute.compute!(node, input, input_diff) + publish(node.output_topic, node.output) +end + +function create_output_diff(input_diff, node::ControlNode{ControlCompute.Differenciate}) + input = node.inputs["input"] + node.inputs["measure"] = input_diff + ControlCompute.compute!(node, input, 0.0, input_diff) + publish(node.output_topic, node.output) +end + +function on_reconf(node::ControlNode{ControlCompute.PID}, config, status) + refresh_time = config["refresh_time"] + node.block.P = ControlCompute.Proportional( + config["kp"], + refresh_time + ) + node.block.I = ControlCompute.Integral( + config["ki"], + refresh_time, + config["use_min"] ? config["min"] : nothing, + config["use_max"] ? config["max"] : nothing + ) + node.block.D = ControlCompute.Derivative( + config["dom"] ? -config["kd"] : config["kd"], + refresh_time, + config["size"], + config["poly_order"] + ) + node.block.refresh_time = refresh_time + config +end + +function on_reconf(node::ControlNode{ControlCompute.Proportional}, config, status) + refresh_time = config["refresh_time"] + node.block.k = config["k"] + node.block.refresh_time = refresh_time + config +end + +function on_reconf(node::ControlNode{ControlCompute.Saturate}, config, status) + refresh_time = config["refresh_time"] + node.block.min = config["use_min"] ? config["min"] : nothing + node.block.max = config["use_max"] ? config["max"] : nothing + node.block.refresh_time = refresh_time + config +end + +function on_reconf(node::ControlNode{ControlCompute.Integral}, config, status) + refresh_time = config["refresh_time"] + node.block.k = config["k"] + node.block.min = config["use_min"] ? config["min"] : nothing + node.block.max = config["use_max"] ? config["max"] : nothing + node.block.refresh_time = refresh_time + config +end + +function on_reconf(node::ControlNode{ControlCompute.Derivative}, config, status) + refresh_time = config["refresh_time"] + node.block.k = config["k"] + node.block.filter = ControlCompute.Savgol( + config["size"], + config["poly_order"], + 1, + refresh_time + ) + node.block.refresh_time = refresh_time + config +end + +mutable struct InputNode + input::Float64 + output_topic::Union{Nothing, Publisher{std_msgs.msg.Float64Msg}} + function InputNode() + node = new(0, nothing) + node.output_topic = Publisher{std_msgs.msg.Float64Msg}("output", queue_size=1) + #)),))> + #)),)), Dict{Symbol,Any}())> + # partial(on_reconf_input, node) + callback = pyfunction(on_reconf_input, Dict{Any,Any}, Int64) + #server = server_module.Server(InputNodeConfig, callback) + # spin() + set_param("value", 1.0) + loop_rate = Rate(1.0) + while ! is_shutdown() + on_reconf_input(node) + rossleep(loop_rate) + end + node, server, callback + end +end + +function on_reconf_input(node::InputNode) # node::InputNode, + node.input = get_param("value") # config["value"] + # loginfo(config) + publish(node.output_topic, std_msgs.msg.Float64Msg(node.input)) + # config +end + +function main() + args = docopt(doc) + nodes = Dict( + "pid" => ControlCompute.PID(), + "proportional" => ControlCompute.Proportional(), + "integral" => ControlCompute.Integral(), + "derivative" => ControlCompute.Derivative(), + "saturate" => ControlCompute.Saturate(), + "differenciate" => ControlCompute.Differenciate(), + ) + if !(args["--node"] in keys(nodes) || args["--node"] == "input")#!(ARGS[1] in keys(nodes) || ARGS[1] == "input") # + logfatal(args["--node"] + " is not a valid node.") + return + end + + #if args["--name"] == nothing + # init_node("control_node", anonymous=true) + #else + init_node("control_node", anonymous=true) + #end + if args["--node"] == "input" + node, server, callback = InputNode() + # On dirait que la callback est déréférencée dans l'appel par le serveur + # Il faut investiguer... + spin() + else + node, server = ControlNode(nodes[args["--node"]]) + spin() + end +end + + +if ! isinteractive() + main() +end diff --git a/workspace/src/detect_targets/scripts/find_targets.jl b/workspace/src/detect_targets/scripts/find_targets.jl new file mode 100644 index 0000000..5eb66b7 --- /dev/null +++ b/workspace/src/detect_targets/scripts/find_targets.jl @@ -0,0 +1,58 @@ +module FindTargets + +using Images +"Normalize the coordinates of a point so it does not depends on the +size of the picture. + +# Arguments +- `p::Array{Int64,1}`: The point (2-elements) +- `w::Int64`: Width of the picture +- `h::Int64`: height of the picture +# Returns: +[x, y]: The normalized coordinates (2-element Array{Float64,1}). +" +function normalize_coordinates(p, h, w) + j = max(h,w) + return [1/j 0; 0 -1/j] * p + [-w/(2*j); h/(2*j)] +end + +"""Find three blue targets in the given picture (RGB matrix). + +# Arguments: +- `picture`: a 2D matrix of RGB values +- `threshold_blue`: minimal value of the blue channel for a point to be considered as blue. +- `threshold_red`: maximal value of the red channel allowed for a target +- `threshold_green`: maximal value of the green channel allowed for a target +- `return_slices`: Boolean stating if the slices locating the targets should be returned. + +# Returns: + (H,L,R,[objects]) the positions of the targets in the picture (center of mass). objects is the list of slices controlled by the return_slices parameter. + +""" +function find_targets(picture; threshold_blue=140, threshold_red=120, threshold_green=190) + + filter_color(c) = (c.r < threshold_red / 255) & (c.g < threshold_green / 255) & (c.b > threshold_blue / 255) + + blue_points = filter_color.(picture) + + structure = [ + false true false + true true true + false true false + ] + labels = label_components(blue_points, structure) + areas = component_lengths(labels) + areas[1] = 0 + points_indices = sort(1:length(areas),by=x->areas[x], rev=true) + points_indices = points_indices[1:3] + + centers = component_centroids(labels) + centers = sort([centers[i] for i in points_indices], by= x -> x[1]) + H = centers[1] + centers = sort(centers[2:end], by= x -> x[2]) + L = centers[1] + R = centers[2] + H, L, R +end + +end diff --git a/workspace/src/detect_targets/scripts/mesure_vitesse.eps b/workspace/src/detect_targets/scripts/mesure_vitesse.eps new file mode 100644 index 0000000..5ec389b --- /dev/null +++ b/workspace/src/detect_targets/scripts/mesure_vitesse.eps @@ -0,0 +1,1478 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: matplotlib version 3.0.2, http://matplotlib.org/ +%%CreationDate: Tue Apr 30 15:09:44 2019 +%%Orientation: portrait +%%BoundingBox: 90 252 522 540 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: DejaVu Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain +%%Creator: Converted from TrueType to type 3 by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-1021 -463 1793 1232]def +/FontType 3 def +/Encoding [ /space /hyphen /zero /one /two /three /P /e /i /m /n /o /r /s /t /u /v /acute /eacute ] def +/FontInfo 10 dict dup begin +/FamilyName (DejaVu Sans) def +/FullName (DejaVu Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def +/Weight (Book) def +/Version (Version 2.35) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -130 def +/UnderlineThickness 90 def +end readonly def +/CharStrings 20 dict dup begin +/.notdef 0 def +/space{318 0 0 0 0 0 _sc +}_d +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +}_e{359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +}_e{202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +}_e{540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +}_e{285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +}_e{122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +}_e{_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 560 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +311 560 _m +311 560 _l +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +/acute{500 0 181 616 415 800 _sc +318 800 _m +415 800 _l +256 616 _l +181 616 _l +318 800 _l +_cl}_d +/eacute{615 0 55 -13 562 800 _sc +false CharStrings /e get exec +gsave 68 0 translate +false CharStrings /acute get exec +grestore }_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +90 252 translate +432 288 0 0 clipbox +gsave +0 0 m +432 0 l +432 288 l +0 288 l +cl +1.000 setgray +fill +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +429.165354 269.805354 l +12.904646 269.805354 l +cl +1.000 setgray +fill +grestore +0.500 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +416.3 257.7 12.9 12.09 clipbox +23.410613 12.094646 m +23.410613 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +23.4106 12.0946 o +grestore +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +20.863738 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +150.910218 12.094646 m +150.910218 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +150.91 12.0946 o +grestore +gsave +143.269593 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +278.409822 12.094646 m +278.409822 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +278.41 12.0946 o +grestore +gsave +270.769197 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +405.909426 12.094646 m +405.909426 269.805354 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +405.909 12.0946 o +grestore +gsave +398.268801 2.516521 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +5.089844 0.000000 m /zero glyphshow +10.179688 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 47.860872 m +429.165354 47.860872 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 47.8609 o +grestore +gsave +1.420271 44.821809 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /three glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 87.308516 m +429.165354 87.308516 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 87.3085 o +grestore +gsave +1.420271 84.269454 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /two glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 126.756161 m +429.165354 126.756161 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 126.756 o +grestore +gsave +1.420271 123.717099 translate +0.000000 rotate +0.000000 0.000000 m /hyphen glyphshow +2.886719 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 166.203806 m +429.165354 166.203806 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 166.204 o +grestore +gsave +4.310896 163.164744 translate +0.000000 rotate +0.000000 0.000000 m /zero glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 205.651451 m +429.165354 205.651451 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 205.651 o +grestore +gsave +4.310896 202.612389 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +grestore +0.500 setlinewidth +2 setlinecap +gsave +416.3 257.7 12.9 12.09 clipbox +12.904646 245.099096 m +429.165354 245.099096 l +stroke +grestore +0.800 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +12.9046 245.099 o +grestore +gsave +4.310896 242.060033 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +grestore +1.000 setlinewidth +1 setlinecap +0.000 0.606 0.979 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 28.732065 m +25.960605 26.121965 l +27.235601 28.66222 l +28.510597 27.025803 l +29.785593 26.480602 l +31.060589 25.36216 l +32.335585 25.469734 l +33.610581 29.344946 l +34.885577 29.527637 l +36.160574 29.543772 l +39.985562 24.645757 l +41.260558 31.090292 l +42.535554 29.135274 l +43.81055 29.202411 l +45.085546 28.302152 l +46.360542 27.077433 l +47.635538 31.141493 l +48.910534 29.849497 l +50.18553 25.87167 l +51.460526 28.364312 l +52.735522 25.659055 l +54.010518 26.266322 l +55.285514 28.229487 l +56.56051 27.176771 l +57.835506 27.822334 l +59.110502 28.9488 l +60.385498 29.293446 l +61.660494 28.405943 l +62.93549 27.659486 l +64.210487 29.270523 l +65.485483 27.215407 l +66.760479 29.772749 l +68.035475 28.926141 l +69.310471 27.352818 l +70.585467 29.259755 l +71.860463 29.070575 l +73.135459 27.194097 l +74.410455 28.013689 l +75.685451 28.515722 l +76.960447 28.121026 l +78.235443 31.393306 l +79.510439 31.22415 l +80.785435 32.268206 l +82.060431 30.79805 l +83.335427 28.436874 l +84.610423 28.593904 l +85.885419 26.612111 l +87.160415 28.895089 l +88.435411 29.371609 l +89.710407 26.262807 l +90.985403 25.073297 l +92.260399 29.142818 l +93.535396 27.601392 l +94.810392 27.659133 l +97.360384 28.041912 l +98.63538 29.459799 l +99.910376 29.015615 l +102.460368 26.696178 l +103.735364 28.653502 l +105.01036 28.439995 l +106.285356 29.262028 l +107.560352 27.371468 l +108.835348 27.795734 l +110.110344 29.068092 l +111.38534 26.922893 l +112.660336 25.997483 l +115.210328 31.240167 l +116.485324 29.884291 l +117.76032 27.36643 l +119.035316 32.006747 l +120.310312 31.826484 l +121.585309 30.0518 l +122.860305 27.877673 l +124.135301 27.715835 l +125.410297 26.073845 l +126.685293 28.299834 l +127.960289 30.925459 l +129.235285 30.31769 l +130.510281 32.028113 l +131.785277 28.887409 l +134.335269 25.827813 l +135.610265 31.675564 l +136.885261 27.958899 l +138.160257 28.101667 l +139.435253 22.724318 l +140.710249 19.388345 l +141.985245 22.43841 l +143.260241 20.941348 l +144.535237 25.022612 l +147.085229 21.407312 l +148.360225 23.117286 l +149.635221 25.303968 l +150.910218 25.16482 l +152.185214 24.484284 l +153.46021 26.696316 l +154.735206 25.312812 l +156.010202 25.692248 l +157.285198 21.057578 l +158.560194 26.804502 l +159.83519 27.621569 l +161.110186 26.105875 l +162.385182 28.773254 l +163.660178 27.967436 l +164.935174 30.173911 l +166.21017 31.176737 l +167.485166 26.944554 l +168.760162 36.781215 l +170.035158 35.899392 l +171.310154 35.649235 l +172.58515 36.578627 l +173.860146 37.776691 l +175.135142 38.04063 l +176.410138 41.18225 l +177.685134 41.70412 l +178.960131 40.815405 l +180.235127 42.361868 l +181.510123 49.149978 l +182.785119 43.516164 l +184.060115 44.396365 l +185.335111 50.212385 l +186.610107 50.483876 l +189.160099 52.654869 l +190.435095 51.88945 l +191.710091 58.099487 l +192.985087 57.658526 l +194.260083 63.096144 l +195.535079 63.970224 l +196.810075 67.178339 l +198.085071 68.741094 l +199.360067 67.336224 l +200.635063 71.431095 l +201.910059 74.249819 l +203.185055 75.534099 l +204.460051 75.353708 l +205.735047 76.483931 l +207.010044 80.065349 l +208.28504 79.06509 l +209.560036 81.714463 l +210.835032 83.863904 l +212.110028 87.265869 l +213.385024 87.453306 l +214.66002 89.708438 l +215.935016 92.268286 l +217.210012 96.538882 l +218.485008 98.939766 l +219.760004 100.320166 l +221.035 102.475811 l +222.309996 103.684334 l +223.584992 106.25971 l +224.859988 107.469656 l +226.134984 109.273745 l +227.40998 113.409275 l +228.684976 114.212972 l +229.959972 114.340155 l +231.234968 115.982592 l +232.509964 116.515497 l +233.78496 120.035974 l +235.059956 121.834069 l +236.334953 123.920172 l +237.609949 127.374511 l +238.884945 132.292312 l +240.159941 133.08618 l +241.434937 135.151934 l +242.709933 136.838802 l +243.984929 137.398072 l +245.259925 138.874698 l +246.534921 140.578337 l +247.809917 144.037237 l +249.084913 145.108294 l +250.359909 147.032199 l +252.909901 150.521825 l +254.184897 150.448853 l +255.459893 152.828199 l +256.734889 156.658985 l +258.009885 159.698752 l +259.284881 158.560879 l +260.559877 161.419613 l +261.834873 163.465023 l +263.109869 163.622497 l +264.384866 167.491629 l +265.659862 169.211197 l +266.934858 172.445177 l +268.209854 174.482126 l +269.48485 176.266171 l +270.759846 175.484367 l +272.034842 178.271089 l +273.309838 179.633316 l +274.584834 176.919742 l +275.85983 181.639063 l +277.134826 183.949216 l +278.409822 181.65831 l +279.684818 186.9988 l +280.959814 187.086059 l +282.23481 187.813089 l +283.509806 189.526089 l +284.784802 191.438495 l +286.059798 192.705946 l +287.334794 191.966597 l +288.60979 195.53086 l +289.884786 192.98754 l +291.159782 195.481142 l +292.434779 197.28038 l +293.709775 197.540261 l +294.984771 198.64047 l +296.259767 196.766598 l +297.534763 197.524362 l +298.809759 212.190691 l +300.084755 199.186915 l +301.359751 196.223289 l +303.909743 201.92218 l +305.184739 195.48927 l +306.459735 196.907441 l +307.734731 195.316844 l +309.009727 198.436155 l +310.284723 188.006769 l +311.559719 194.592838 l +312.834715 196.475991 l +314.109711 200.809452 l +315.384707 202.513034 l +316.659703 197.123194 l +317.934699 198.480371 l +319.209695 193.1717 l +320.484691 195.623105 l +321.759688 195.255067 l +323.034684 197.468548 l +324.30968 196.930929 l +325.584676 195.070032 l +326.859672 196.544155 l +328.134668 194.115922 l +329.409664 197.408084 l +330.68466 192.480572 l +331.959656 195.060715 l +333.234652 198.013356 l +334.509648 192.253927 l +335.784644 190.204211 l +337.05964 194.398364 l +338.334636 190.677392 l +339.609632 191.714125 l +340.884628 183.469179 l +342.159624 188.88416 l +343.43462 189.398319 l +344.709616 186.969485 l +345.984612 186.237671 l +347.259608 183.490621 l +348.534604 184.159964 l +349.809601 186.202004 l +351.084597 182.170155 l +352.359593 185.597854 l +353.634589 181.038309 l +354.909585 183.010699 l +356.184581 185.531146 l +357.459577 179.274687 l +358.734573 181.498821 l +360.009569 181.673071 l +361.284565 179.974614 l +362.559561 181.066851 l +363.834557 179.471502 l +365.109553 179.810129 l +366.384549 173.072756 l +367.659545 176.080317 l +368.934541 173.469461 l +370.209537 170.54131 l +371.484533 174.60741 l +374.034525 168.772095 l +375.309521 166.357689 l +376.584517 161.712421 l +377.859513 161.928163 l +379.13451 160.903018 l +380.409506 159.390767 l +381.684502 158.312192 l +382.959498 153.299766 l +384.234494 152.720806 l +385.50949 146.450489 l +386.784486 142.538221 l +388.059482 139.895588 l +389.334478 136.938957 l +390.609474 134.954642 l +391.88447 134.499117 l +393.159466 130.130325 l +394.434462 128.470245 l +395.709458 124.750385 l +398.25945 121.959139 l +399.534446 121.877688 l +400.809442 121.253371 l +402.084438 118.621071 l +403.359434 117.267293 l +404.63443 115.735504 l +405.909426 113.219341 l +407.184423 110.224744 l +408.459419 109.410494 l +409.734415 106.183953 l +411.009411 105.018547 l +412.284407 101.830988 l +413.559403 100.90423 l +414.834399 98.852772 l +416.109395 97.747253 l +417.384391 93.529149 l +417.384391 93.529149 l +stroke +grestore +0.889 0.436 0.278 setrgbcolor +gsave +416.3 257.7 12.9 12.09 clipbox +24.685609 143.245186 m +25.960605 162.807287 l +27.235601 175.346771 l +28.510597 173.519798 l +29.785593 177.415293 l +31.060589 165.851411 l +32.335585 169.419085 l +33.610581 174.840095 l +34.885577 159.32238 l +36.160574 148.996401 l +37.43557 151.883702 l +38.710566 162.824701 l +39.985562 189.667602 l +41.260558 191.206615 l +42.535554 168.656291 l +43.81055 158.27521 l +45.085546 127.502791 l +46.360542 160.883593 l +47.635538 179.361132 l +48.910534 165.378717 l +50.18553 140.489794 l +51.460526 165.44512 l +52.735522 171.169411 l +54.010518 176.080835 l +55.285514 183.886967 l +56.56051 161.698343 l +57.835506 165.356326 l +59.110502 161.787757 l +60.385498 159.329517 l +61.660494 160.459797 l +62.93549 160.902711 l +64.210487 168.136324 l +65.485483 171.371352 l +66.760479 171.015056 l +68.035475 164.019708 l +69.310471 163.137931 l +70.585467 172.1112 l +71.860463 166.156249 l +73.135459 167.029227 l +74.410455 165.691442 l +75.685451 172.370355 l +76.960447 172.150743 l +78.235443 167.235266 l +79.510439 160.74666 l +80.785435 141.245205 l +82.060431 149.465927 l +83.335427 159.252078 l +84.610423 171.428865 l +85.885419 189.910616 l +87.160415 186.049645 l +88.435411 171.249793 l +89.710407 162.157506 l +90.985403 158.799277 l +92.260399 178.820643 l +93.535396 174.118732 l +94.810392 164.470554 l +96.085388 140.325776 l +97.360384 163.386598 l +98.63538 170.948645 l +99.910376 162.778611 l +101.185372 149.671191 l +102.460368 162.696563 l +103.735364 172.54114 l +105.01036 170.747602 l +106.285356 165.08177 l +107.560352 156.11791 l +108.835348 163.854176 l +110.110344 169.971484 l +111.38534 166.664484 l +112.660336 166.422321 l +113.935332 170.341742 l +115.210328 170.935451 l +116.485324 148.323239 l +117.76032 141.869767 l +119.035316 164.732125 l +120.310312 169.169147 l +121.585309 154.106374 l +122.860305 150.653436 l +124.135301 167.162361 l +125.410297 177.403132 l +126.685293 207.667047 l +127.960289 175.444088 l +129.235285 159.288787 l +130.510281 158.188061 l +131.785277 119.2379 l +133.060273 162.670254 l +134.335269 174.523602 l +135.610265 179.703173 l +136.885261 179.655528 l +138.160257 153.861117 l +139.435253 157.160088 l +140.710249 171.566456 l +141.985245 262.511655 l +143.260241 195.29434 l +144.535237 178.985513 l +145.810233 158.398689 l +147.085229 126.512366 l +148.360225 166.862096 l +149.635221 170.107168 l +150.910218 168.159013 l +152.185214 132.333504 l +153.46021 154.425126 l +154.735206 162.711274 l +156.010202 165.376978 l +157.285198 149.358543 l +158.560194 180.404692 l +159.83519 175.321283 l +161.110186 161.022904 l +162.385182 136.455401 l +163.660178 146.994198 l +164.935174 167.860645 l +166.21017 162.051524 l +167.485166 125.354376 l +168.760162 174.378771 l +170.035158 158.52384 l +171.310154 153.503423 l +172.58515 101.603087 l +173.860146 144.98228 l +175.135142 170.600482 l +176.410138 162.188783 l +177.685134 136.027526 l +178.960131 146.047214 l +180.235127 157.120387 l +181.510123 165.776787 l +182.785119 122.539625 l +184.060115 140.222841 l +185.335111 162.444761 l +186.610107 165.317304 l +187.885103 139.929193 l +189.160099 127.556156 l +190.435095 151.877497 l +191.710091 167.713002 l +192.985087 130.506452 l +194.260083 144.651785 l +195.535079 141.818136 l +196.810075 147.78232 l +198.085071 106.246655 l +199.360067 128.899542 l +200.635063 157.972619 l +201.910059 159.893944 l +203.185055 130.567553 l +204.460051 134.476662 l +205.735047 147.522155 l +207.010044 163.360756 l +208.28504 141.645517 l +209.560036 149.807406 l +210.835032 153.891899 l +212.110028 158.481264 l +213.385024 115.917996 l +214.66002 135.02309 l +215.935016 151.88151 l +217.210012 157.234891 l +218.485008 110.81981 l +219.760004 124.600913 l +221.035 141.907612 l +222.309996 152.087268 l +223.584992 131.141949 l +224.859988 146.302092 l +227.40998 157.366663 l +228.684976 108.972487 l +229.959972 135.241656 l +231.234968 149.164922 l +232.509964 158.830667 l +233.78496 159.479375 l +235.059956 150.796956 l +236.334953 149.848443 l +237.609949 153.100503 l +238.884945 109.74299 l +240.159941 131.131168 l +241.434937 138.36421 l +242.709933 148.63066 l +243.984929 121.03991 l +245.259925 152.524197 l +246.534921 156.063434 l +247.809917 160.672329 l +249.084913 166.203806 l +280.959814 166.203806 l +282.23481 157.308876 l +283.509806 157.438017 l +284.784802 128.332987 l +286.059798 157.223624 l +287.334794 151.816366 l +288.60979 159.90103 l +289.884786 137.504079 l +291.159782 159.991073 l +292.434779 162.661751 l +293.709775 160.635179 l +294.984771 143.931201 l +296.259767 144.149154 l +297.534763 164.225621 l +298.809759 175.113767 l +300.084755 88.969539 l +302.634747 164.768692 l +303.909743 186.407543 l +305.184739 222.721822 l +306.459735 147.888423 l +307.734731 168.563347 l +309.009727 179.279158 l +310.284723 166.151421 l +311.559719 177.473651 l +312.834715 184.091067 l +314.109711 171.355075 l +315.384707 123.279538 l +316.659703 105.758192 l +317.934699 157.575539 l +319.209695 167.263161 l +320.484691 229.963592 l +321.759688 190.472273 l +323.034684 171.3522 l +324.30968 165.000115 l +325.584676 130.941189 l +326.859672 166.784812 l +328.134668 166.748038 l +329.409664 191.132497 l +330.68466 162.431634 l +331.959656 168.548626 l +333.234652 171.753503 l +334.509648 147.104307 l +335.784644 163.648794 l +337.05964 173.180817 l +338.334636 203.815983 l +339.609632 178.739067 l +340.884628 166.203806 l +342.159624 214.355093 l +343.43462 200.730944 l +344.709616 166.203806 l +385.50949 166.203806 l +386.784486 183.72443 l +388.059482 259.935877 l +389.334478 211.214008 l +390.609474 197.148281 l +391.88447 181.791748 l +393.159466 204.154921 l +394.434462 186.784803 l +395.709458 180.834159 l +396.984454 182.095545 l +398.25945 238.851527 l +399.534446 190.094494 l +400.809442 177.688211 l +402.084438 173.796697 l +403.359434 174.029451 l +404.63443 175.690827 l +405.909426 201.279115 l +407.184423 185.017194 l +408.459419 181.298652 l +409.734415 219.169326 l +411.009411 193.169581 l +412.284407 180.44356 l +413.559403 178.383431 l +414.834399 215.715757 l +416.109395 186.149061 l +417.384391 177.177321 l +417.384391 177.177321 l +stroke +grestore +0 setlinejoin +2 setlinecap +[] 0 setdash +0.000 setgray +gsave +12.904646 12.094646 m +12.904646 269.805354 l +stroke +grestore +gsave +12.904646 12.094646 m +429.165354 12.094646 l +stroke +grestore +/DejaVuSans findfont +14.000 scalefont +setfont +gsave +120.730312 275.805354 translate +0.000000 rotate +0.000000 0.000000 m /P glyphshow +8.442383 0.000000 m /o glyphshow +17.007812 0.000000 m /s glyphshow +24.301758 0.000000 m /i glyphshow +28.191406 0.000000 m /t glyphshow +33.680664 0.000000 m /i glyphshow +37.570312 0.000000 m /o glyphshow +46.135742 0.000000 m /n glyphshow +55.008789 0.000000 m /space glyphshow +59.458984 0.000000 m /e glyphshow +68.072266 0.000000 m /t glyphshow +73.561523 0.000000 m /space glyphshow +78.011719 0.000000 m /v glyphshow +86.296875 0.000000 m /i glyphshow +90.186523 0.000000 m /t glyphshow +95.675781 0.000000 m /e glyphshow +104.289062 0.000000 m /s glyphshow +111.583008 0.000000 m /s glyphshow +118.876953 0.000000 m /e glyphshow +127.490234 0.000000 m /space glyphshow +131.940430 0.000000 m /m glyphshow +145.578125 0.000000 m /e glyphshow +154.191406 0.000000 m /s glyphshow +161.485352 0.000000 m /u glyphshow +170.358398 0.000000 m /r glyphshow +176.114258 0.000000 m /eacute glyphshow +184.727539 0.000000 m /e glyphshow +193.340820 0.000000 m /s glyphshow +grestore +0 setlinecap +gsave +18.504646 239.905354 m +110.042146 239.905354 l +111.108812 239.905354 111.642146 240.438688 111.642146 241.505354 c +111.642146 264.205354 l +111.642146 265.272021 111.108812 265.805354 110.042146 265.805354 c +18.504646 265.805354 l +17.437979 265.805354 16.904646 265.272021 16.904646 264.205354 c +16.904646 241.505354 l +16.904646 240.438688 17.437979 239.905354 18.504646 239.905354 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.606 0.979 setrgbcolor +gsave +20.104646 259.327229 m +36.104646 259.327229 l +stroke +grestore +0.000 setgray +/DejaVuSans findfont +8.000 scalefont +setfont +gsave +42.504646 256.527229 translate +0.000000 rotate +0.000000 0.000000 m /e glyphshow +4.921875 0.000000 m /r glyphshow +8.210938 0.000000 m /r glyphshow +11.500000 0.000000 m /e glyphshow +16.421875 0.000000 m /u glyphshow +21.492188 0.000000 m /r glyphshow +grestore +0.889 0.436 0.278 setrgbcolor +gsave +20.104646 247.577229 m +36.104646 247.577229 l +stroke +grestore +0.000 setgray +gsave +42.504646 244.777229 translate +0.000000 rotate +0.000000 0.000000 m /v glyphshow +4.734375 0.000000 m /i glyphshow +6.957031 0.000000 m /t glyphshow +10.093750 0.000000 m /e glyphshow +15.015625 0.000000 m /s glyphshow +19.183594 0.000000 m /s glyphshow +23.351562 0.000000 m /e glyphshow +28.273438 0.000000 m /space glyphshow +30.816406 0.000000 m /m glyphshow +38.609375 0.000000 m /e glyphshow +43.531250 0.000000 m /s glyphshow +47.699219 0.000000 m /u glyphshow +52.769531 0.000000 m /r glyphshow +56.058594 0.000000 m /eacute glyphshow +60.980469 0.000000 m /e glyphshow +grestore + +end +showpage diff --git a/workspace/src/detect_targets/scripts/reconf_server.jl b/workspace/src/detect_targets/scripts/reconf_server.jl new file mode 100644 index 0000000..b5ae1de --- /dev/null +++ b/workspace/src/detect_targets/scripts/reconf_server.jl @@ -0,0 +1,6 @@ +using RobotOS + +@rosimport dynamic_reconfigure.srv: Reconfigure +@rosimport dynamic_reconfigure.msg: Config, ConfigDescription + +rostypegen() diff --git a/workspace/src/detect_targets/scripts/target_publisher.jl b/workspace/src/detect_targets/scripts/target_publisher.jl new file mode 100644 index 0000000..efa5176 --- /dev/null +++ b/workspace/src/detect_targets/scripts/target_publisher.jl @@ -0,0 +1,8 @@ +#!/home/klafyvel/julia-1.1.0/bin/julia + +using RobotOS +@rosimport sensor_msgs.msg: Image + +include("find_targets.jl") + +using FindTargets diff --git a/workspace/src/detect_targets/scripts/test_filter.jl b/workspace/src/detect_targets/scripts/test_filter.jl new file mode 100644 index 0000000..a0fafcc --- /dev/null +++ b/workspace/src/detect_targets/scripts/test_filter.jl @@ -0,0 +1,47 @@ +using YAML +using Plots +using DSP + +pyplot() + + +data = YAML.load(open("/home/klafyvel/Documents/supelec/2A/projet/output.txt")); + +error = zeros(length(data)); +speed_drone = zeros(length(data)); +h = 1/5 + +for (index, value) in enumerate(data) + error[index] = value["error"] + speed_drone[index] = value["derror"] +end + +# filtres quadratiques +filters_quad = [ + (name="Quadratique 9 points", filter=vec([ 4 3 2 1 0 -1 -2 -3 -4 ]) / 60 / h) + (name="Quadratique 7 points", filter=vec([ 3 2 1 0 -1 -2 -3 ]) / 28 / h) + (name="Quadratique 5 points", filter=vec([ 2 1 0 -1 -2 ]) / 10 / h) +] +# filtres cubiques +filters_cub = [ + (name="Cubique 9 points", filter=vec([ -86 142 193 126 0 -126 -193 -142 86 ]) / 1188 / h) + (name="Cubique 7 points", filter=vec([ -22 67 58 0 -58 -67 22 ]) / 252 / h) + (name="Cubique 5 points", filter=vec([ -1 8 0 -8 1 ]) / 12 / h) +] +plot(1:length(data), error, title="Position et vitesse calculée", label="erreur mesurée") +for filter in filters_quad + println(filter.name) + speed = conv(filter.filter, error) + beg = length(speed) - length(error) + plot!(1:length(data), speed[beg:(length(data)-beg)], label=filter.name) +end +savefig("/home/klafyvel/Documents/supelec/2A/projet/mesure_vitesse_quadratique.eps") + +plot(1:length(data), error, title="Position et vitesse calculée", label="erreur mesurée") +for filter in filters_cub + println(filter.name) + speed = conv(filter.filter, error) + beg = length(speed) - length(error) + plot!(1:length(data), speed[beg:(length(data)-beg)], label=filter.name) +end +savefig("/home/klafyvel/Documents/supelec/2A/projet/mesure_vitesse_cubique.eps") diff --git a/workspace/src/detect_targets/scripts/test_pid.jl b/workspace/src/detect_targets/scripts/test_pid.jl new file mode 100644 index 0000000..c309652 --- /dev/null +++ b/workspace/src/detect_targets/scripts/test_pid.jl @@ -0,0 +1,33 @@ +using ControlSystems +using Plots + +pyplot() + +κ = 0.3 +f_0 = 10 # Hz +T_e = 0.01 # s +duration = 2 # s + +z = tf("z", T_e) +p = tf("s") +ω = 2*pi*f_0 + +H = 1 / (1 + 2*κ/ω*p + (p/ω)^2) +H_d = 1 / (1 + 2*κ/(T_e*ω) + 1/(T_e*κ)^2 - 2/(T_e*ω)*(κ+1/(T_e*κ))*z^-1 + 1/(T_e*κ)^2*z^-2) +stepplot(H, 1, 0.001, label="f_0=10Hz") +stepplot(H_d) + + +#k = 1 / (2 * pi * T_e * f_0) +# +## Returns y[i] +#sys(x,y,i) = 1/(1+2*κ*k+κ^2) * (x + 2*κ*(k + κ)*y[i-1] - κ^2*y[i-2]) +# +#t = 0:T_e:duration +#y = zeros(length(t)) +# +#for i in 3:length(t) +# y[i] = sys(1,y,i) +#end +#plot(t,y) +# diff --git a/workspace/src/detect_targets/scripts/triangle_control.py b/workspace/src/detect_targets/scripts/triangle_control.py index 502b53a..f034241 100755 --- a/workspace/src/detect_targets/scripts/triangle_control.py +++ b/workspace/src/detect_targets/scripts/triangle_control.py @@ -8,12 +8,12 @@ import numpy as np import roslib import rospy -from geometry_msgs.msg import Twist + +from std_msgs.msg import Float64 import tf -from simple_pid import PID - import dynamic_reconfigure.server + from detect_targets.cfg import TriangleParamConfig from detect_targets.msg import control @@ -29,95 +29,9 @@ class TriangleControl: self.target_width = config['target_width'] self.target_depth = config['target_depth'] - self.target_distance = config['distance_to_target'] - self.max_speed = config['max_speed'] - - #gains are reversed because of the chosen angle direction - self.pid_angular_z.Kp = - config['angular_z_Kp'] - self.pid_angular_z.Ki = - config['angular_z_Ki'] - self.pid_angular_z.Kd = - config['angular_z_Kd'] - self.pid_angular_z.set_auto_mode(config['control_angular_z'], last_output=0.0) - if not config['control_angular_z']: - self.pid_angular_z._last_output = 0.0 - - self.pid_linear_z.Kp = config['linear_z_Kp'] - self.pid_linear_z.Ki = config['linear_z_Ki'] - self.pid_linear_z.Kd = config['linear_z_Kd'] - self.pid_linear_z.set_auto_mode(config['control_linear_z'], last_output=0.0) - if not config['control_linear_z']: - self.pid_linear_z._last_output = 0.0 - self.pid_linear_z.output_limits = ( - -config['max_speed'], - config['max_speed'] - ) - self.pid_linear_y.Kp = config['linear_y_Kp'] - self.pid_linear_y.Ki = config['linear_y_Ki'] - self.pid_linear_y.Kd = config['linear_y_Kd'] - self.pid_linear_y.set_auto_mode(config['control_linear_y'], last_output=0.0) - self.pid_speed_linear_y.Kp = config['speed_linear_y_Kp'] - self.pid_speed_linear_y.Ki = config['speed_linear_y_Ki'] - self.pid_speed_linear_y.Kd = config['speed_linear_y_Kd'] - self.pid_speed_linear_y.set_auto_mode(config['control_linear_y'], last_output=0.0) - if not config['control_linear_y']: - self.pid_linear_y._last_output = 0.0 - self.pid_speed_linear_y._last_output = 0.0 - self.pid_linear_y.output_limits = ( - -config['max_acceleration'], - config['max_acceleration'] - ) - self.pid_speed_linear_y.output_limits = ( - -config['max_speed'], - config['max_speed'] - ) - self.speed_corrector_y = config['speed_corrector_y'] - - # X gains are reversed because of the chosen axis - self.pid_linear_x.Kp = - config['linear_x_Kp'] - self.pid_linear_x.Ki = - config['linear_x_Ki'] - self.pid_linear_x.Kd = - config['linear_x_Kd'] - self.pid_linear_x.set_auto_mode(config['control_linear_x'], last_output=0.0) - self.pid_speed_linear_x.Kp = config['speed_linear_x_Kp'] - self.pid_speed_linear_x.Ki = config['speed_linear_x_Ki'] - self.pid_speed_linear_x.Kd = config['speed_linear_x_Kd'] - self.pid_speed_linear_x.set_auto_mode(config['control_linear_x'], last_output=0.0) - if not config['control_linear_x']: - self.pid_linear_x._last_output = 0.0 - self.pid_speed_linear_x._last_output = 0.0 - self.pid_linear_x.output_limits = ( - -config['max_acceleration'], - config['max_acceleration'] - ) - self.pid_speed_linear_x.output_limits = ( - -config['max_speed'], - config['max_speed'] - ) - self.speed_corrector_x = config['speed_corrector_x'] - self.pid_linear_x.setpoint = self.target_distance - return config - def clear_controls(self): - self.error_angular_z.clear() - self.error_linear_z.clear() - self.error_linear_y.clear() - self.error_linear_x.clear() - - def saturate_twist(): - if self.twist.linear.x > self.max_speed: - self.twist.linear.x = self.max_speed - elif self.twist.linear.x < - self.max_speed: - self.twist.linear.x = - self.max_speed - if self.twist.linear.y > self.max_speed: - self.twist.linear.y = self.max_speed - elif self.twist.linear.y < - self.max_speed: - self.twist.linear.y = - self.max_speed - if self.twist.linear.z > self.max_speed: - self.twist.linear.z = self.max_speed - elif self.twist.linear.z < - self.max_speed: - self.twist.linear.z = - self.max_speed - def on_comp(self, msg): - self.twist = Twist() if len(msg.data) > 2: msg.data.sort(key=lambda component: -component.nb_vertex) pts = msg.data[0:3] @@ -129,7 +43,6 @@ class TriangleControl: L = pts[1] R = pts[2] self.triangle(L, H, R) - self.twist_pub.publish(self.twist) def triangle(self, L, H, R): now = rospy.Time.now() @@ -146,67 +59,16 @@ class TriangleControl: self.d = self.target_width*ca/(w*self.tan_cam) * .5 self.z = -Gy*self.d*self.tan_cam - # print('#######') - #print('d = {}, z = {}, alpha = {}'.format(self.d, self.z, self.alpha*180/math.pi)) - #print('w = {}, h = {}, Gy = {}'.format(w, h, Gy)) - #print('L = {}, l = {}'.format(self.target_width, self.target_depth)) - self.br.sendTransform((self.d * ca, self.d * sa, self.z), tf.transformations.quaternion_from_euler( 0, 0, self.alpha + math.pi), now, 'drone', 'target') - self.twist.angular.z = self.pid_angular_z(-self.Gx * self.camera_angle) - if self.angular_z_pub.get_num_connections() > 0: - self.angular_z_info.target = 0 - self.angular_z_info.error = 0 - self.angular_z_info.derror = 0 - self.angular_z_info.cmd_vel = self.twist.angular.z - self.angular_z_pub.publish(self.angular_z_info) - - self.twist.linear.z = self.pid_linear_z(self.z) - if self.linear_z_pub.get_num_connections() > 0: - self.linear_z_info.target = 0 - self.linear_z_info.error = self.z - self.linear_z_info.derror = 0 - self.linear_z_info.cmd_vel = self.twist.linear.z - self.linear_z_pub.publish(self.linear_z_info) - - dt = time.time() - self.pid_linear_y._last_time - self.last_values_y = np.concatenate((self.last_values_y[1:7], [self.alpha])) - target_acceleration_y = self.pid_linear_y(-self.alpha) - if abs(self.alpha) >= self.speed_corrector_y: - self.pid_speed_linear_y.setpoint = target_acceleration_y - speed_y = self.last_values_y.dot(self.savgol_filter) / dt - self.twist.linear.y = self.pid_speed_linear_y(speed_y) - else: - self.twist.linear.y = target_acceleration_y - - if self.linear_y_pub.get_num_connections() > 0: - self.linear_y_info.target = 0 - self.linear_y_info.error = -self.alpha - self.linear_y_info.derror = 0 - self.linear_y_info.cmd_vel = self.twist.linear.y - self.linear_y_pub.publish(self.linear_y_info) - - dt = time.time() - self.pid_linear_x._last_time - self.last_values_x = np.concatenate((self.last_values_x[1:7], [self.d])) - target_acceleration_x = self.pid_linear_x(self.d) - speed_x = 0 - if abs(self.target_distance - self.d) >= self.speed_corrector_x: - self.pid_speed_linear_x.setpoint = target_acceleration_x - speed_x = self.last_values_x.dot(self.savgol_filter) / dt - self.twist.linear.x = self.pid_speed_linear_x(speed_x) - else: - self.twist.linear.x = target_acceleration_x - - if self.linear_x_pub.get_num_connections() > 0: - self.linear_x_info.target = self.pid_linear_x.setpoint - self.linear_x_info.error = self.target_distance - self.d - self.linear_x_info.derror = speed_x - self.linear_x_info.cmd_vel = self.twist.linear.x - self.linear_x_pub.publish(self.linear_x_info) + self.angular_z_pub.publish(data=-self.Gx * self.camera_angle) + self.linear_z_pub.publish(data=self.z) + self.linear_y_pub.publish(data=-self.alpha) + self.linear_x_pub.publish(data=self.d) def __init__(self): @@ -220,94 +82,15 @@ class TriangleControl: self.tan_cam = math.tan(self.camera_angle) self.target_width = 1 self.target_depth = .2 - self.target_distance = 2 - self.max_speed = .3 - self.last_time_angular_z = 0 - self.last_time_linear_z = 0 - self.last_time_linear_y = 0 - self.last_time_linear_x = 0 - self.first_time = rospy.Time.now() - - self.pid_angular_z = PID( - 1, - 0, - 0, - auto_mode=True, - sample_time=0.14 # 7 Hz - ) - self.pid_linear_z = PID( - 1, - 0, - 0, - auto_mode=True, - sample_time=0.14 - ) - self.pid_linear_y = PID( - 1, - 0, - 0, - auto_mode=True, - sample_time=0.14 - ) - self.pid_speed_linear_y = PID( - 1, - 0, - 0, - auto_mode=True, - sample_time=0.14 - ) - self.pid_linear_x = PID( - 1, - 0, - 0, - auto_mode=True, - sample_time=0.14, - setpoint=self.target_distance, - ) - self.pid_speed_linear_x = PID( - 1, - 0, - 0, - auto_mode=True, - sample_time=0.14 - ) - - self.savgol_filter = 1.0/252.0 * np.array([ - [22], - [-67], - [-58], - [0], - [58], - [67], - [-22] - ], dtype=np.float64) - - self.last_values_x = np.zeros(7, dtype=np.float64) - self.last_values_y = np.zeros(7, dtype=np.float64) - - self.speed_corrector_x = 30 - self.speed_corrector_y = 30 - - # Control info - self.angular_z_info = control() - self.linear_x_info = control() - self.linear_y_info = control() - self.linear_z_info = control() - - # ROS stuff - - self.twist = Twist() - self.twist_pub = rospy.Publisher( - 'cmd_vel', Twist, queue_size=1) self.angular_z_pub = rospy.Publisher( - 'angular_z_control', control, queue_size=1) + 'angular_z', Float64, queue_size=1) self.linear_z_pub = rospy.Publisher( - 'linear_z_control', control, queue_size=1) + 'linear_z', Float64, queue_size=1) self.linear_y_pub = rospy.Publisher( - 'linear_y_control', control, queue_size=1) + 'linear_y', Float64, queue_size=1) self.linear_x_pub = rospy.Publisher( - 'linear_x_control', control, queue_size=1) + 'linear_x', Float64, queue_size=1) self.comp_sub = rospy.Subscriber( "component_centers", component_centers, self.on_comp, queue_size=1) @@ -318,10 +101,7 @@ class TriangleControl: if __name__ == '__main__': - print "running" rospy.init_node('triangle_control', anonymous=True) - print "node created" - triangle = TriangleControl() rospy.spin() diff --git a/workspace/src/detect_targets/scripts/triangle_control_save.py b/workspace/src/detect_targets/scripts/triangle_control_save.py new file mode 100644 index 0000000..8fcda00 --- /dev/null +++ b/workspace/src/detect_targets/scripts/triangle_control_save.py @@ -0,0 +1,341 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- + +import math +import time + +import numpy as np + +import roslib +import rospy +from geometry_msgs.msg import Twist +import tf + +from simple_pid import PID + +import dynamic_reconfigure.server +from detect_targets.cfg import TriangleParamConfig +from detect_targets.msg import control + +from detect_targets.msg import component_centers + + +class TriangleControl: + + def on_reconf(self, config, level): + + self.camera_angle = config['camera_angle']*math.pi/360.0 # theta/2 + self.tan_cam = math.tan(self.camera_angle) + + self.target_width = config['target_width'] + self.target_depth = config['target_depth'] + self.target_distance = config['distance_to_target'] + self.max_speed = config['max_speed'] + self.sample_time = config['sample_time'] + self.double_loop = config['double_loop'] + + #gains are reversed because of the chosen angle direction + self.pid_angular_z.Kp = - config['angular_z_Kp'] + self.pid_angular_z.Ki = - config['angular_z_Ki'] + self.pid_angular_z.Kd = - config['angular_z_Kd'] + self.pid_angular_z.set_auto_mode(config['control_angular_z'], last_output=0.0) + self.pid_angular_z.sample_time = self.sample_time + self.pid_angular_z._integral = 0 + if not config['control_angular_z']: + self.pid_angular_z._last_output = 0.0 + + self.pid_linear_z.Kp = config['linear_z_Kp'] + self.pid_linear_z.Ki = config['linear_z_Ki'] + self.pid_linear_z.Kd = config['linear_z_Kd'] + self.pid_linear_z.set_auto_mode(config['control_linear_z'], last_output=0.0) + self.pid_linear_z.sample_time = self.sample_time + self.pid_linear_z._integral = 0 + if not config['control_linear_z']: + self.pid_linear_z._last_output = 0.0 + self.pid_linear_z.output_limits = ( + -config['max_speed'], + config['max_speed'] + ) + self.pid_linear_y.Kp = config['linear_y_Kp'] + self.pid_linear_y.Ki = config['linear_y_Ki'] + self.pid_linear_y.Kd = config['linear_y_Kd'] + self.pid_linear_y.set_auto_mode(config['control_linear_y'], last_output=0.0) + self.pid_linear_y.sample_time = self.sample_time + self.pid_linear_y._integral = 0 + self.pid_speed_linear_y.Kp = config['speed_linear_y_Kp'] + self.pid_speed_linear_y.Ki = config['speed_linear_y_Ki'] + self.pid_speed_linear_y.Kd = config['speed_linear_y_Kd'] + self.pid_speed_linear_y.set_auto_mode(config['control_linear_y'], last_output=0.0) + self.pid_speed_linear_y.sample_time = self.sample_time + self.pid_speed_linear_y._integral = 0 + if not config['control_linear_y']: + self.pid_linear_y._last_output = 0.0 + self.pid_speed_linear_y._last_output = 0.0 + self.pid_linear_y.output_limits = ( + -config['max_acceleration'], + config['max_acceleration'] + ) + self.pid_speed_linear_y.output_limits = ( + -config['max_speed'], + config['max_speed'] + ) + self.speed_corrector_y = config['speed_corrector_y'] + + # X gains are reversed because of the chosen axis + self.pid_linear_x.Kp = - config['linear_x_Kp'] + self.pid_linear_x.Ki = - config['linear_x_Ki'] + self.pid_linear_x.Kd = - config['linear_x_Kd'] + self.pid_linear_x.set_auto_mode(config['control_linear_x'], last_output=0.0) + self.pid_linear_x.sample_time = self.sample_time + self.pid_linear_x._integral = 0 + self.pid_speed_linear_x.Kp = config['speed_linear_x_Kp'] + self.pid_speed_linear_x.Ki = config['speed_linear_x_Ki'] + self.pid_speed_linear_x.Kd = config['speed_linear_x_Kd'] + self.pid_speed_linear_x.set_auto_mode(config['control_linear_x'], last_output=0.0) + self.pid_speed_linear_x.sample_time = self.sample_time + self.pid_speed_linear_x._integral = 0 + if not config['control_linear_x']: + self.pid_linear_x._last_output = 0.0 + self.pid_speed_linear_x._last_output = 0.0 + self.pid_linear_x.output_limits = ( + -config['max_acceleration'], + config['max_acceleration'] + ) + self.pid_speed_linear_x.output_limits = ( + -config['max_speed'], + config['max_speed'] + ) + self.speed_corrector_x = config['speed_corrector_x'] + self.pid_linear_x.setpoint = self.target_distance + + return config + + def clear_controls(self): + self.error_angular_z.clear() + self.error_linear_z.clear() + self.error_linear_y.clear() + self.error_linear_x.clear() + + def saturate_twist(): + if self.twist.linear.x > self.max_speed: + self.twist.linear.x = self.max_speed + elif self.twist.linear.x < - self.max_speed: + self.twist.linear.x = - self.max_speed + if self.twist.linear.y > self.max_speed: + self.twist.linear.y = self.max_speed + elif self.twist.linear.y < - self.max_speed: + self.twist.linear.y = - self.max_speed + if self.twist.linear.z > self.max_speed: + self.twist.linear.z = self.max_speed + elif self.twist.linear.z < - self.max_speed: + self.twist.linear.z = - self.max_speed + + def on_comp(self, msg): + self.twist = Twist() + if len(msg.data) > 2: + msg.data.sort(key=lambda component: -component.nb_vertex) + pts = msg.data[0:3] + pts.sort(key=lambda component: -component.y) + H = pts[0] + L = pts[2] + R = pts[1] + if pts[1].x < pts[2].x: + L = pts[1] + R = pts[2] + self.triangle(L, H, R) + self.twist_pub.publish(self.twist) + + def triangle(self, L, H, R): + now = rospy.Time.now() + t = (now - self.first_time).to_sec() + self.Gx = (L.x + H.x + R.x)*.333333 + Gy = (L.y + H.y + R.y)*.333333 + w = R.x - L.x + h = H.x - .5 * (R.x + L.x) + + self.alpha = math.atan(h*self.target_width/(1e-5+w*self.target_depth)) + ca = math.cos(self.alpha) + sa = math.sin(self.alpha) + # why *.5.... I don't know. + self.d = self.target_width*ca/(w*self.tan_cam) * .5 + self.z = -Gy*self.d*self.tan_cam + + self.br.sendTransform((self.d * ca, self.d * sa, self.z), + tf.transformations.quaternion_from_euler( + 0, 0, self.alpha + math.pi), + now, + 'drone', 'target') + + self.twist.angular.z = self.pid_angular_z(-self.Gx * self.camera_angle) + if self.angular_z_pub.get_num_connections() > 0: + self.angular_z_info.target = 0 + self.angular_z_info.error = 0 + self.angular_z_info.derror = 0 + self.angular_z_info.cmd_vel = self.twist.angular.z + self.angular_z_pub.publish(self.angular_z_info) + + self.twist.linear.z = self.pid_linear_z(self.z) + if self.linear_z_pub.get_num_connections() > 0: + self.linear_z_info.target = 0 + self.linear_z_info.error = self.z + self.linear_z_info.derror = 0 + self.linear_z_info.cmd_vel = self.twist.linear.z + self.linear_z_pub.publish(self.linear_z_info) + + dt = time.time() - self.pid_linear_y._last_time + self.last_values_y = np.concatenate((self.last_values_y[1:7], [self.alpha])) + target_acceleration_y = self.pid_linear_y(-self.alpha) + self.pid_speed_linear_y.setpoint = target_acceleration_y + speed_y = self.last_values_y.dot(self.savgol_filter) / self.sample_time + if self.double_loop: + self.twist.linear.y = self.pid_speed_linear_y(speed_y) + else: + self.pid_speed_linear_y(speed_y) + self.twist.linear.y = target_acceleration_y + + if self.linear_y_pub.get_num_connections() > 0: + self.linear_y_info.target = 0 + self.linear_y_info.error = -self.alpha + self.linear_y_info.derror = 0 + self.linear_y_info.cmd_vel = self.twist.linear.y + self.linear_y_pub.publish(self.linear_y_info) + + dt = time.time() - self.pid_linear_x._last_time + self.last_values_x = np.concatenate((self.last_values_x[1:7], [self.d])) + target_acceleration_x = self.pid_linear_x(self.d) + speed_x = 0 + self.pid_speed_linear_x.setpoint = target_acceleration_x + speed_x = self.last_values_x.dot(self.savgol_filter) / self.sample_time + if self.double_loop: + self.twist.linear.x = self.pid_speed_linear_x(speed_x) + else: + self.pid_speed_linear_x(speed_x) + self.twist.linear.x = target_acceleration_x + + if self.linear_x_pub.get_num_connections() > 0: + self.linear_x_info.target = self.pid_linear_x.setpoint + self.linear_x_info.error = self.target_distance - self.d + self.linear_x_info.derror = speed_x + self.linear_x_info.cmd_vel = self.twist.linear.x + self.linear_x_pub.publish(self.linear_x_info) + + def __init__(self): + + self.Gx = 0 + + self.alpha = 0 + self.d = 0 + self.z = 0 + + self.camera_angle = 80*math.pi/180./2.0 + self.tan_cam = math.tan(self.camera_angle) + self.target_width = 1 + self.target_depth = .2 + self.target_distance = 2 + self.max_speed = .3 + + self.last_time_angular_z = 0 + self.last_time_linear_z = 0 + self.last_time_linear_y = 0 + self.last_time_linear_x = 0 + self.first_time = rospy.Time.now() + + self.sample_time = 0.20 + self.double_loop = True + + self.pid_angular_z = PID( + 1, + 0, + 0, + auto_mode=True, + sample_time=self.sample_time + ) + self.pid_linear_z = PID( + 1, + 0, + 0, + auto_mode=True, + sample_time=self.sample_time + ) + self.pid_linear_y = PID( + 1, + 0, + 0, + auto_mode=True, + sample_time=self.sample_time + ) + self.pid_speed_linear_y = PID( + 1, + 0, + 0, + auto_mode=True, + sample_time=self.sample_time + ) + self.pid_linear_x = PID( + 1, + 0, + 0, + auto_mode=True, + sample_time=self.sample_time, + setpoint=self.target_distance, + ) + self.pid_speed_linear_x = PID( + 1, + 0, + 0, + auto_mode=True, + sample_time=self.sample_time + ) + + self.savgol_filter = 1.0/28 * np.array([ + [-3], + [-2], + [-1], + [0], + [1], + [2], + [3] + ], dtype=np.float64) + + self.last_values_x = np.zeros(7, dtype=np.float64) + self.last_values_y = np.zeros(7, dtype=np.float64) + + self.speed_corrector_x = 30 + self.speed_corrector_y = 30 + + # Control info + self.angular_z_info = control() + self.linear_x_info = control() + self.linear_y_info = control() + self.linear_z_info = control() + + # ROS stuff + + self.twist = Twist() + self.twist_pub = rospy.Publisher( + 'cmd_vel', Twist, queue_size=1) + self.angular_z_pub = rospy.Publisher( + 'angular_z_control', control, queue_size=1) + self.linear_z_pub = rospy.Publisher( + 'linear_z_control', control, queue_size=1) + self.linear_y_pub = rospy.Publisher( + 'linear_y_control', control, queue_size=1) + self.linear_x_pub = rospy.Publisher( + 'linear_x_control', control, queue_size=1) + self.comp_sub = rospy.Subscriber( + "component_centers", component_centers, self.on_comp, queue_size=1) + + self.config_srv = dynamic_reconfigure.server.Server( + TriangleParamConfig, self.on_reconf) + + self.br = tf.TransformBroadcaster() + + +if __name__ == '__main__': + print "running" + rospy.init_node('triangle_control', anonymous=True) + + print "node created" + + triangle = TriangleControl() + rospy.spin() diff --git a/workspace/src/detect_targets/scripts/twist_controls.py b/workspace/src/detect_targets/scripts/twist_controls.py new file mode 100755 index 0000000..23c57be --- /dev/null +++ b/workspace/src/detect_targets/scripts/twist_controls.py @@ -0,0 +1,37 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- + +import rospy +from geometry_msgs.msg import Twist +from std_msgs.msg import Float64 + +class Twister: + + def __init__(self): + self.twist = Twist() + self.twist_pub = rospy.Publisher('cmd_vel', Twist, queue_size=1) + self.control_linear_z = rospy.Subscriber('control_linear_z', Float64, self.on_linear_z, queue_size=1) + self.control_angular_z = rospy.Subscriber('control_angular_z', Float64, self.on_angular_z, queue_size=1) + self.control_linear_x = rospy.Subscriber('control_linear_x', Float64, self.on_linear_x, queue_size=1) + self.control_linear_y = rospy.Subscriber('control_linear_y', Float64, self.on_linear_y, queue_size=1) + + def on_linear_x(self, value): + self.twist.linear.x = value.data + self.twist_pub.publisher(self.twist) + + def on_linear_y(self, value): + self.twist.linear.y = value.data + self.twist_pub.publisher(self.twist) + + def on_linear_z(self, value): + self.twist.linear.z = value.data + self.twist_pub.publisher(self.twist) + + def on_angular_z(self, value): + self.twist.angular.z = value.data + self.twist_pub.publisher(self.twist) + +if __name__ == '__main__': + rospy.init_node('twist_controls') + twister = Twister() + rospy.spin() diff --git a/workspace/src/rcontrol/CMakeLists.txt b/workspace/src/rcontrol/CMakeLists.txt new file mode 100644 index 0000000..34a9bd3 --- /dev/null +++ b/workspace/src/rcontrol/CMakeLists.txt @@ -0,0 +1,195 @@ +cmake_minimum_required(VERSION 2.8.3) +project(rcontrol) + +## Compile as C++11, supported in ROS Kinetic and newer +# add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES rcontrol +# CATKIN_DEPENDS other_catkin_pkg +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( +# include +# ${catkin_INCLUDE_DIRS} +) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/rcontrol.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +# add_executable(${PROJECT_NAME}_node src/rcontrol_node.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +# target_link_libraries(${PROJECT_NAME}_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables and/or libraries for installation +# install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_rcontrol.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/workspace/src/rcontrol/package.xml b/workspace/src/rcontrol/package.xml new file mode 100644 index 0000000..1a44bb9 --- /dev/null +++ b/workspace/src/rcontrol/package.xml @@ -0,0 +1,63 @@ + + + rcontrol + 0.0.0 + The rcontrol package + + + + + klafyvel + + + + + + GPLv3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + rospy + std_msgs + rospy + std_msgs + rospy + std_msgs + + + + + +