From b29f5637a243b0008ac197032575c8df47883b2c Mon Sep 17 00:00:00 2001 From: rafal-gorecki <126687345+rafal-gorecki@users.noreply.github.com> Date: Mon, 17 Jun 2024 14:23:04 +0200 Subject: [PATCH] Add antenna (#50) * Add pre commit * Add external antenna * Rename extenal antena -> teltonika * Set GPS uptade rate to 1Hz * Add ns to tf frame * Update name * Mounting point --- .github/workflows/colcon_test_build.yaml | 1 + .pre-commit-config.yaml | 121 +++++++++++++++++++++ CMakeLists.txt | 27 ++--- LICENSE.txt | 6 +- config/gz_orbbec_astra_remappings.yaml | 42 +++---- config/gz_teltonika_remappings.yaml | 5 + config/kinova_6dof_controllers.yaml | 1 + config/kinova_7dof_controllers.yaml | 1 + config/robotiq_controllers.yaml | 2 +- config/ur_controllers.yaml | 25 +++-- env-hooks/ros_components_description.sh.in | 2 +- launch/gz_components.launch.py | 10 +- launch/gz_kinova_6dof.launch.py | 7 +- launch/gz_kinova_7dof.launch.py | 7 +- launch/gz_orbbec_astra.launch.py | 8 +- launch/gz_ouster_os.launch.py | 13 ++- launch/gz_robotiq.launch.py | 30 +++-- launch/gz_slamtec_rplidar.launch.py | 13 ++- launch/gz_teltonika.launch.py | 78 +++++++++++++ launch/gz_ur.launch.py | 7 +- launch/gz_velodyne.launch.py | 13 ++- meshes/intel_realsense_d435.dae | 2 +- meshes/orbbec_astra.dae | 2 +- meshes/ouster_os01.dae | 2 +- meshes/slamtec_rplidar_a2m8.dae | 2 +- meshes/slamtec_rplidar_ax.dae | 2 +- meshes/slamtec_rplidar_s1.dae | 2 +- meshes/slamtec_rplidar_s3.dae | 2 +- meshes/teltonika_003R-00253.dae | 89 +++++++++++++++ meshes/teltonika_003R-00253_collision.stl | Bin 0 -> 51184 bytes meshes/velodyne_puck.dae | 2 +- package.xml | 17 ++- test/test_components_xacro.py | 19 ++-- urdf/components.urdf.xacro | 26 ++++- urdf/teltonika_003R-00253.urdf.xacro | 68 ++++++++++++ 35 files changed, 536 insertions(+), 118 deletions(-) create mode 100644 .pre-commit-config.yaml create mode 100644 config/gz_teltonika_remappings.yaml create mode 100644 launch/gz_teltonika.launch.py create mode 100644 meshes/teltonika_003R-00253.dae create mode 100644 meshes/teltonika_003R-00253_collision.stl create mode 100644 urdf/teltonika_003R-00253.urdf.xacro diff --git a/.github/workflows/colcon_test_build.yaml b/.github/workflows/colcon_test_build.yaml index 59035f6..d9a7afa 100644 --- a/.github/workflows/colcon_test_build.yaml +++ b/.github/workflows/colcon_test_build.yaml @@ -1,3 +1,4 @@ +--- name: ROS2 test build on: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..34fc77d --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,121 @@ +--- +repos: + # Standard hooks + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: check-added-large-files + # mesh files has to be taken into account + args: [--maxkb=3000] + - id: check-ast + - id: check-case-conflict + - id: check-merge-conflict + - id: check-symlinks + - id: check-xml + - id: check-yaml + - id: debug-statements + - id: destroyed-symlinks + - id: detect-private-key + - id: end-of-file-fixer + - id: fix-byte-order-marker + - id: name-tests-test + - id: mixed-line-ending + - id: trailing-whitespace + + # Python hooks + - repo: https://github.com/asottile/pyupgrade + rev: v3.15.2 + hooks: + - id: pyupgrade + args: [--py36-plus] + + - repo: https://github.com/psf/black + rev: 24.4.2 + hooks: + - id: black + args: [--line-length=99] + + - repo: https://github.com/PyCQA/flake8 + rev: 7.0.0 + hooks: + - id: flake8 + args: ['--ignore=E501,W503'] # ignore too long line and line break before binary operator, + # black checks it + + - repo: https://github.com/PyCQA/isort + rev: 5.13.2 + hooks: + - id: isort + args: [--profile, black] + + # CPP hooks + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: v18.1.5 + hooks: + - id: clang-format + + - repo: local + hooks: + - id: ament_cppcheck + name: ament_cppcheck + description: Static code analysis of C/C++ files. + entry: env AMENT_CPPCHECK_ALLOW_SLOW_VERSIONS=1 ament_cppcheck + language: system + files: \.(h\+\+|h|hh|hxx|hpp|cuh|c|cc|cpp|cu|c\+\+|cxx|tpp|txx)$ + + - repo: local + hooks: + - id: ament_cpplint + name: ament_cpplint + description: Static code analysis of C/C++ files. + entry: ament_cpplint + language: system + files: \.(h\+\+|h|hh|hxx|hpp|cuh|c|cc|cpp|cu|c\+\+|cxx|tpp|txx)$ + args: [--linelength=100, --filter=-whitespace/newline] + + # Cmake hooks + - repo: local + hooks: + - id: ament_lint_cmake + name: ament_lint_cmake + description: Check format of CMakeLists.txt files. + entry: ament_lint_cmake + language: system + files: CMakeLists\.txt$ + + - repo: https://github.com/cheshirekow/cmake-format-precommit + rev: v0.6.13 + hooks: + - id: cmake-format + + # XML + - repo: https://github.com/tier4/pre-commit-hooks-ros + rev: v0.8.0 + hooks: + - id: prettier-package-xml + - id: sort-package-xml + + # YAML + - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt + rev: 0.2.3 + hooks: + - id: yamlfmt + files: ^(?!.*compose)(?!.*ekf\.yaml$).*$ + args: [--mapping, '2', --sequence, '4', --offset, '2', --width, '100'] + + # Copyright + - repo: local + hooks: + - id: ament_copyright + name: ament_copyright + description: Check if copyright notice is available in all files. + entry: ament_copyright + language: system + + # Spellcheck + - repo: https://github.com/codespell-project/codespell + rev: v2.2.6 + hooks: + - id: codespell + args: [--write-changes, --uri-ignore-words-list=ist, -L manuel] + exclude: CHANGELOG\.rst|\.(svg|pyc|drawio)$ diff --git a/CMakeLists.txt b/CMakeLists.txt index c07fe79..4af46b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,26 +3,27 @@ project(ros_components_description) find_package(ament_cmake REQUIRED) -install( - DIRECTORY meshes urdf launch config test - DESTINATION share/${PROJECT_NAME} -) +install(DIRECTORY meshes urdf launch config test + DESTINATION share/${PROJECT_NAME}) if(BUILD_TESTING) find_package(ament_cmake_pytest REQUIRED) - set(pytest_tests - test/test_components_xacro.py - ) + set(pytest_tests test/test_components_xacro.py) foreach(test_path ${pytest_tests}) get_filename_component(test_name ${test_path} NAME_WE) - ament_add_pytest_test(${test_name} ${test_path} - APPEND_ENV PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR} - TIMEOUT 60 - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ) + ament_add_pytest_test( + ${test_name} + ${test_path} + APPEND_ENV + PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR} + TIMEOUT + 60 + WORKING_DIRECTORY + ${CMAKE_SOURCE_DIR}) endforeach() endif() -ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/env-hooks/${PROJECT_NAME}.sh.in") +ament_environment_hooks( + "${CMAKE_CURRENT_SOURCE_DIR}/env-hooks/${PROJECT_NAME}.sh.in") ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS}) ament_package() diff --git a/LICENSE.txt b/LICENSE.txt index 8d7be5d..13c8835 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ ROS COMPONENTS DESCRIPTION PACKAGE LICENSING -The default license for ROS components description package is the Apache License, Version 2.0 -(see LICENSE_APACHE2.txt); you may elect at your option to use the ROS COMPONENTS DESCRIPTION -package under the MIT License (see LICENSE_MIT.txt). Contributions must be +The default license for ROS components description package is the Apache License, Version 2.0 +(see LICENSE_APACHE2.txt); you may elect at your option to use the ROS COMPONENTS DESCRIPTION +package under the MIT License (see LICENSE_MIT.txt). Contributions must be made under both licenses. diff --git a/config/gz_orbbec_astra_remappings.yaml b/config/gz_orbbec_astra_remappings.yaml index 5daf8f1..13f6a5c 100644 --- a/config/gz_orbbec_astra_remappings.yaml +++ b/config/gz_orbbec_astra_remappings.yaml @@ -1,27 +1,27 @@ --- # https://github.com/orbbec/OrbbecSDK_ROS2#all-available-topics -- topic_name: /color/camera_info - ros_type_name: sensor_msgs/msg/CameraInfo - gz_type_name: ignition.msgs.CameraInfo - lazy: true + - topic_name: /color/camera_info + ros_type_name: sensor_msgs/msg/CameraInfo + gz_type_name: ignition.msgs.CameraInfo + lazy: true -- topic_name: /color/image_raw - ros_type_name: sensor_msgs/msg/Image - gz_type_name: ignition.msgs.Image - lazy: true + - topic_name: /color/image_raw + ros_type_name: sensor_msgs/msg/Image + gz_type_name: ignition.msgs.Image + lazy: true -- topic_name: /depth/camera_info - ros_type_name: sensor_msgs/msg/CameraInfo - gz_type_name: ignition.msgs.CameraInfo - lazy: true + - topic_name: /depth/camera_info + ros_type_name: sensor_msgs/msg/CameraInfo + gz_type_name: ignition.msgs.CameraInfo + lazy: true -- topic_name: /depth/image_raw - ros_type_name: sensor_msgs/msg/Image - gz_type_name: ignition.msgs.Image - lazy: true + - topic_name: /depth/image_raw + ros_type_name: sensor_msgs/msg/Image + gz_type_name: ignition.msgs.Image + lazy: true -- ros_topic_name: /depth/points - gz_topic_name: /depth/image_raw/points - ros_type_name: sensor_msgs/msg/PointCloud2 - gz_type_name: ignition.msgs.PointCloudPacked - lazy: true + - ros_topic_name: /depth/points + gz_topic_name: /depth/image_raw/points + ros_type_name: sensor_msgs/msg/PointCloud2 + gz_type_name: ignition.msgs.PointCloudPacked + lazy: true diff --git a/config/gz_teltonika_remappings.yaml b/config/gz_teltonika_remappings.yaml new file mode 100644 index 0000000..89bba36 --- /dev/null +++ b/config/gz_teltonika_remappings.yaml @@ -0,0 +1,5 @@ +--- + - topic_name: /fix + ros_type_name: sensor_msgs/msg/NavSatFix + gz_type_name: ignition.msgs.NavSat + direction: GZ_TO_ROS diff --git a/config/kinova_6dof_controllers.yaml b/config/kinova_6dof_controllers.yaml index 7990110..206262d 100644 --- a/config/kinova_6dof_controllers.yaml +++ b/config/kinova_6dof_controllers.yaml @@ -1,3 +1,4 @@ +--- /**: joint_trajectory_controller: ros__parameters: diff --git a/config/kinova_7dof_controllers.yaml b/config/kinova_7dof_controllers.yaml index af4e110..cf7ee9f 100644 --- a/config/kinova_7dof_controllers.yaml +++ b/config/kinova_7dof_controllers.yaml @@ -1,3 +1,4 @@ +--- /**: joint_trajectory_controller: ros__parameters: diff --git a/config/robotiq_controllers.yaml b/config/robotiq_controllers.yaml index 6035346..9cc737d 100644 --- a/config/robotiq_controllers.yaml +++ b/config/robotiq_controllers.yaml @@ -1,3 +1,4 @@ +--- /**: robotiq_gripper_controller: ros__parameters: @@ -10,4 +11,3 @@ ros__parameters: default: true joint: robotiq_85_left_knuckle_joint - diff --git a/config/ur_controllers.yaml b/config/ur_controllers.yaml index 8a03e26..06ce216 100644 --- a/config/ur_controllers.yaml +++ b/config/ur_controllers.yaml @@ -1,3 +1,4 @@ +--- /**: speed_scaling_state_broadcaster: ros__parameters: @@ -38,12 +39,12 @@ constraints: stopped_velocity_tolerance: 0.2 goal_time: 0.0 - shoulder_pan_joint: { trajectory: 0.2, goal: 0.1 } - shoulder_lift_joint: { trajectory: 0.2, goal: 0.1 } - elbow_joint: { trajectory: 0.2, goal: 0.1 } - wrist_1_joint: { trajectory: 0.2, goal: 0.1 } - wrist_2_joint: { trajectory: 0.2, goal: 0.1 } - wrist_3_joint: { trajectory: 0.2, goal: 0.1 } + shoulder_pan_joint: {trajectory: 0.2, goal: 0.1} + shoulder_lift_joint: {trajectory: 0.2, goal: 0.1} + elbow_joint: {trajectory: 0.2, goal: 0.1} + wrist_1_joint: {trajectory: 0.2, goal: 0.1} + wrist_2_joint: {trajectory: 0.2, goal: 0.1} + wrist_3_joint: {trajectory: 0.2, goal: 0.1} scaled_joint_trajectory_controller: @@ -66,12 +67,12 @@ constraints: stopped_velocity_tolerance: 0.2 goal_time: 0.0 - shoulder_pan_joint: { trajectory: 0.2, goal: 0.1 } - shoulder_lift_joint: { trajectory: 0.2, goal: 0.1 } - elbow_joint: { trajectory: 0.2, goal: 0.1 } - wrist_1_joint: { trajectory: 0.2, goal: 0.1 } - wrist_2_joint: { trajectory: 0.2, goal: 0.1 } - wrist_3_joint: { trajectory: 0.2, goal: 0.1 } + shoulder_pan_joint: {trajectory: 0.2, goal: 0.1} + shoulder_lift_joint: {trajectory: 0.2, goal: 0.1} + elbow_joint: {trajectory: 0.2, goal: 0.1} + wrist_1_joint: {trajectory: 0.2, goal: 0.1} + wrist_2_joint: {trajectory: 0.2, goal: 0.1} + wrist_3_joint: {trajectory: 0.2, goal: 0.1} forward_velocity_controller: ros__parameters: diff --git a/env-hooks/ros_components_description.sh.in b/env-hooks/ros_components_description.sh.in index 7c1fa5f..45d23a0 100755 --- a/env-hooks/ros_components_description.sh.in +++ b/env-hooks/ros_components_description.sh.in @@ -1,3 +1,3 @@ ament_prepend_unique_value GAZEBO_MODEL_PATH "@CMAKE_INSTALL_PREFIX@/share" ament_prepend_unique_value GZ_SIM_RESOURCE_PATH "@CMAKE_INSTALL_PREFIX@/share" -ament_prepend_unique_value IGN_GAZEBO_RESOURCE_PATH "@CMAKE_INSTALL_PREFIX@/share" \ No newline at end of file +ament_prepend_unique_value IGN_GAZEBO_RESOURCE_PATH "@CMAKE_INSTALL_PREFIX@/share" diff --git a/launch/gz_components.launch.py b/launch/gz_components.launch.py index 9bbbabd..be683cf 100644 --- a/launch/gz_components.launch.py +++ b/launch/gz_components.launch.py @@ -13,17 +13,18 @@ # limitations under the License. import os + import yaml from ament_index_python.packages import get_package_share_directory + from launch import LaunchDescription from launch.actions import ( DeclareLaunchArgument, IncludeLaunchDescription, OpaqueFunction, ) - from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch.substitutions import LaunchConfiguration, EnvironmentVariable +from launch.substitutions import EnvironmentVariable, LaunchConfiguration def get_value(node: yaml.Node, key: str): @@ -63,6 +64,7 @@ def get_launch_descriptions_from_yaml_node( actions = [] components_types_with_names = { + "ANT02": "teltonika", "LDR01": "slamtec_rplidar", "LDR06": "slamtec_rplidar", "LDR10": "ouster_os", @@ -109,11 +111,11 @@ def launch_setup(context, *args, **kwargs): if components_config_path == "None": return [] - with open(os.path.join(components_config_path), 'r') as file: + with open(os.path.join(components_config_path)) as file: components_config = yaml.safe_load(file) actions = [] - if components_config != None: + if components_config is not None: actions += get_launch_descriptions_from_yaml_node( components_config, ros_components_description, namespace ) diff --git a/launch/gz_kinova_6dof.launch.py b/launch/gz_kinova_6dof.launch.py index 941fa17..ee9df4a 100644 --- a/launch/gz_kinova_6dof.launch.py +++ b/launch/gz_kinova_6dof.launch.py @@ -12,17 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare +from nav2_common.launch import ReplaceString + from launch import LaunchDescription from launch.actions import DeclareLaunchArgument, OpaqueFunction -from launch_ros.actions import Node from launch.substitutions import ( EnvironmentVariable, LaunchConfiguration, PathJoinSubstitution, PythonExpression, ) -from launch_ros.substitutions import FindPackageShare -from nav2_common.launch import ReplaceString # The frame of the point cloud from ignition gazebo 6 isn't provided by . diff --git a/launch/gz_kinova_7dof.launch.py b/launch/gz_kinova_7dof.launch.py index b57e67e..beb7b20 100644 --- a/launch/gz_kinova_7dof.launch.py +++ b/launch/gz_kinova_7dof.launch.py @@ -12,17 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare +from nav2_common.launch import ReplaceString + from launch import LaunchDescription from launch.actions import DeclareLaunchArgument, OpaqueFunction -from launch_ros.actions import Node from launch.substitutions import ( EnvironmentVariable, LaunchConfiguration, PathJoinSubstitution, PythonExpression, ) -from launch_ros.substitutions import FindPackageShare -from nav2_common.launch import ReplaceString # The frame of the point cloud from ignition gazebo 6 isn't provided by . diff --git a/launch/gz_orbbec_astra.launch.py b/launch/gz_orbbec_astra.launch.py index b106894..1218875 100644 --- a/launch/gz_orbbec_astra.launch.py +++ b/launch/gz_orbbec_astra.launch.py @@ -13,12 +13,14 @@ # limitations under the License. import os + +from ament_index_python import get_package_share_directory +from launch_ros.actions import Node +from nav2_common.launch import ReplaceString + from launch import LaunchDescription from launch.actions import DeclareLaunchArgument, OpaqueFunction -from launch_ros.actions import Node from launch.substitutions import EnvironmentVariable, LaunchConfiguration -from nav2_common.launch import ReplaceString -from ament_index_python import get_package_share_directory # The frame of the point cloud from ignition gazebo 6 isn't provided by . diff --git a/launch/gz_ouster_os.launch.py b/launch/gz_ouster_os.launch.py index d241318..fba2914 100644 --- a/launch/gz_ouster_os.launch.py +++ b/launch/gz_ouster_os.launch.py @@ -13,12 +13,14 @@ # limitations under the License. import os + +from ament_index_python import get_package_share_directory +from launch_ros.actions import Node +from nav2_common.launch import ReplaceString + from launch import LaunchDescription from launch.actions import DeclareLaunchArgument -from launch_ros.actions import Node from launch.substitutions import EnvironmentVariable, LaunchConfiguration -from nav2_common.launch import ReplaceString -from ament_index_python import get_package_share_directory def generate_launch_description(): @@ -33,7 +35,10 @@ def generate_launch_description(): namespaced_gz_bridge_config_path = ReplaceString( source_file=gz_bridge_config_path, - replacements={"": robot_namespace, "": device_namespace}, + replacements={ + "": robot_namespace, + "": device_namespace, + }, ) declare_device_namespace = DeclareLaunchArgument( diff --git a/launch/gz_robotiq.launch.py b/launch/gz_robotiq.launch.py index e5caebf..b3716a3 100644 --- a/launch/gz_robotiq.launch.py +++ b/launch/gz_robotiq.launch.py @@ -12,13 +12,20 @@ # See the License for the specific language governing permissions and # limitations under the License. -from launch import LaunchDescription -from launch.actions import DeclareLaunchArgument from launch_ros.actions import Node -from launch.substitutions import EnvironmentVariable, LaunchConfiguration, PathJoinSubstitution, PythonExpression from launch_ros.substitutions import FindPackageShare from nav2_common.launch import ReplaceString +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import ( + EnvironmentVariable, + LaunchConfiguration, + PathJoinSubstitution, + PythonExpression, +) + + def generate_launch_description(): robot_namespace = LaunchConfiguration("robot_namespace") device_namespace = LaunchConfiguration("device_namespace") @@ -27,7 +34,6 @@ def generate_launch_description(): [FindPackageShare("ros_components_description"), "config", "robotiq_controllers.yaml"] ) - # Using robot_namespace as prefix for controller name is caused by # https://github.com/ros-controls/ros2_control/issues/1506 # After this fix the device_namespace and --namespace should be used. @@ -39,8 +45,18 @@ def generate_launch_description(): source_file=initial_joint_controllers, replacements={ "robotiq_85_left_knuckle_joint": [device_namespace, "_robotiq_85_left_knuckle_joint"], - " robotiq_gripper_controller:": [" ", robot_namespace_ext, device_namespace, "_robotiq_gripper_controller:"], - " robotiq_activation_controller:": [" ", robot_namespace_ext, device_namespace, "_robotiq_activation_controller:"], + " robotiq_gripper_controller:": [ + " ", + robot_namespace_ext, + device_namespace, + "_robotiq_gripper_controller:", + ], + " robotiq_activation_controller:": [ + " ", + robot_namespace_ext, + device_namespace, + "_robotiq_activation_controller:", + ], }, ) @@ -63,7 +79,7 @@ def generate_launch_description(): # Using robot_namespace as prefix for controller name is caused by # https://github.com/ros-controls/ros2_control/issues/1506 # After this fix the device_namespace and --namespace should be used. - [robot_namespace_ext , device_namespace, "_robotiq_gripper_controller"], + [robot_namespace_ext, device_namespace, "_robotiq_gripper_controller"], "-t", "position_controllers/GripperActionController", "-c", diff --git a/launch/gz_slamtec_rplidar.launch.py b/launch/gz_slamtec_rplidar.launch.py index 8b655b9..f062b49 100644 --- a/launch/gz_slamtec_rplidar.launch.py +++ b/launch/gz_slamtec_rplidar.launch.py @@ -13,12 +13,14 @@ # limitations under the License. import os + +from ament_index_python import get_package_share_directory +from launch_ros.actions import Node +from nav2_common.launch import ReplaceString + from launch import LaunchDescription from launch.actions import DeclareLaunchArgument -from launch_ros.actions import Node from launch.substitutions import EnvironmentVariable, LaunchConfiguration -from nav2_common.launch import ReplaceString -from ament_index_python import get_package_share_directory def generate_launch_description(): @@ -33,7 +35,10 @@ def generate_launch_description(): namespaced_gz_bridge_config_path = ReplaceString( source_file=gz_bridge_config_path, - replacements={"": robot_namespace, "": device_namespace}, + replacements={ + "": robot_namespace, + "": device_namespace, + }, ) declare_device_namespace = DeclareLaunchArgument( diff --git a/launch/gz_teltonika.launch.py b/launch/gz_teltonika.launch.py new file mode 100644 index 0000000..7e9344d --- /dev/null +++ b/launch/gz_teltonika.launch.py @@ -0,0 +1,78 @@ +# Copyright 2024 Husarion sp. z o.o. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +from ament_index_python import get_package_share_directory +from launch_ros.actions import Node +from nav2_common.launch import ReplaceString + +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import EnvironmentVariable, LaunchConfiguration + + +def generate_launch_description(): + ros_components_description = get_package_share_directory("ros_components_description") + gz_bridge_config_path = os.path.join( + ros_components_description, "config", "gz_teltonika_remappings.yaml" + ) + + robot_namespace = LaunchConfiguration("robot_namespace") + device_namespace = LaunchConfiguration("device_namespace") + gz_bridge_name = LaunchConfiguration("gz_bridge_name") + + namespaced_gz_bridge_config_path = ReplaceString( + source_file=gz_bridge_config_path, + replacements={ + "": robot_namespace, + "": device_namespace, + }, + ) + + declare_device_namespace = DeclareLaunchArgument( + "device_namespace", + default_value="", + description="Sensor namespace that will appear before all non absolute topics and TF frames, used for distinguishing multiple cameras on the same robot.", + ) + + declare_robot_namespace = DeclareLaunchArgument( + "robot_namespace", + default_value=EnvironmentVariable("ROBOT_NAMESPACE", default_value=""), + description="Namespace which will appear in front of all topics (including /tf and /tf_static).", + ) + + declare_gz_bridge_name = DeclareLaunchArgument( + "gz_bridge_name", + default_value="gz_bridge", + description="Name of gz bridge node.", + ) + + gz_bridge = Node( + package="ros_gz_bridge", + executable="parameter_bridge", + name=gz_bridge_name, + parameters=[{"config_file": namespaced_gz_bridge_config_path}], + namespace=robot_namespace, + output="screen", + ) + + return LaunchDescription( + [ + declare_device_namespace, + declare_robot_namespace, + declare_gz_bridge_name, + gz_bridge, + ] + ) diff --git a/launch/gz_ur.launch.py b/launch/gz_ur.launch.py index 8781d10..056f575 100644 --- a/launch/gz_ur.launch.py +++ b/launch/gz_ur.launch.py @@ -12,17 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare +from nav2_common.launch import ReplaceString + from launch import LaunchDescription from launch.actions import DeclareLaunchArgument -from launch_ros.actions import Node from launch.substitutions import ( EnvironmentVariable, LaunchConfiguration, PathJoinSubstitution, PythonExpression, ) -from launch_ros.substitutions import FindPackageShare -from nav2_common.launch import ReplaceString def generate_launch_description(): diff --git a/launch/gz_velodyne.launch.py b/launch/gz_velodyne.launch.py index 3aed15b..887e3ea 100644 --- a/launch/gz_velodyne.launch.py +++ b/launch/gz_velodyne.launch.py @@ -13,12 +13,14 @@ # limitations under the License. import os + +from ament_index_python import get_package_share_directory +from launch_ros.actions import Node +from nav2_common.launch import ReplaceString + from launch import LaunchDescription from launch.actions import DeclareLaunchArgument -from launch_ros.actions import Node from launch.substitutions import EnvironmentVariable, LaunchConfiguration -from nav2_common.launch import ReplaceString -from ament_index_python import get_package_share_directory def generate_launch_description(): @@ -33,7 +35,10 @@ def generate_launch_description(): namespaced_gz_bridge_config_path = ReplaceString( source_file=gz_bridge_config_path, - replacements={"": robot_namespace, "": device_namespace}, + replacements={ + "": robot_namespace, + "": device_namespace, + }, ) declare_device_namespace = DeclareLaunchArgument( diff --git a/meshes/intel_realsense_d435.dae b/meshes/intel_realsense_d435.dae index daee0ae..5961cc3 100644 --- a/meshes/intel_realsense_d435.dae +++ b/meshes/intel_realsense_d435.dae @@ -144,4 +144,4 @@ - \ No newline at end of file + diff --git a/meshes/orbbec_astra.dae b/meshes/orbbec_astra.dae index 034dc7d..0f4f759 100644 --- a/meshes/orbbec_astra.dae +++ b/meshes/orbbec_astra.dae @@ -190,4 +190,4 @@ - \ No newline at end of file + diff --git a/meshes/ouster_os01.dae b/meshes/ouster_os01.dae index b8ac4bf..0c15d31 100644 --- a/meshes/ouster_os01.dae +++ b/meshes/ouster_os01.dae @@ -164,4 +164,4 @@ - \ No newline at end of file + diff --git a/meshes/slamtec_rplidar_a2m8.dae b/meshes/slamtec_rplidar_a2m8.dae index 60e6299..a364852 100644 --- a/meshes/slamtec_rplidar_a2m8.dae +++ b/meshes/slamtec_rplidar_a2m8.dae @@ -138,4 +138,4 @@ - \ No newline at end of file + diff --git a/meshes/slamtec_rplidar_ax.dae b/meshes/slamtec_rplidar_ax.dae index bb0296c..1e19b02 100644 --- a/meshes/slamtec_rplidar_ax.dae +++ b/meshes/slamtec_rplidar_ax.dae @@ -138,4 +138,4 @@ - \ No newline at end of file + diff --git a/meshes/slamtec_rplidar_s1.dae b/meshes/slamtec_rplidar_s1.dae index 7766ac2..c54583f 100644 --- a/meshes/slamtec_rplidar_s1.dae +++ b/meshes/slamtec_rplidar_s1.dae @@ -138,4 +138,4 @@ - \ No newline at end of file + diff --git a/meshes/slamtec_rplidar_s3.dae b/meshes/slamtec_rplidar_s3.dae index cb4d2cb..1b47889 100644 --- a/meshes/slamtec_rplidar_s3.dae +++ b/meshes/slamtec_rplidar_s3.dae @@ -89,4 +89,4 @@ - \ No newline at end of file + diff --git a/meshes/teltonika_003R-00253.dae b/meshes/teltonika_003R-00253.dae new file mode 100644 index 0000000..a0c5697 --- /dev/null +++ b/meshes/teltonika_003R-00253.dae @@ -0,0 +1,89 @@ + + + + + Blender User + Blender 3.0.1 commit date:2022-01-25, commit time:17:19, hash:dc2d18018171 + + 2022-09-28T11:52:16 + 2022-09-28T11:52:16 + + Z_UP + + + + + + + + 0 0 0 1 + + + 4.13421e-4 4.13421e-4 4.13421e-4 1 + + + 1.45 + + + + + + + + + + + + + + + + + -0.04718434 -0.04091292 0.003999948 -0.04700005 -0.02449476 0.003999948 -0.04769998 -0.04249995 0.003999948 -0.04990971 -0.01783299 0.003999948 -0.05286169 -0.04868 0.003999948 -0.05499994 -0.04249995 0.003999948 -0.05445027 -0.04576975 0.003999948 -0.0458343 -0.03993213 0.003999948 -0.04320615 -0.03069567 0.003999948 -0.04416561 -0.03993213 0.003999948 -0.04281562 -0.04091292 0.003999948 -0.04229998 -0.04249995 0.003999948 -0.03859943 -0.03631913 0.003999948 -0.04085117 -0.05159872 0.003999948 -0.0332666 -0.04125928 0.003999948 -0.02730786 -0.04542332 0.003999948 -0.04281562 -0.04408699 0.003999948 -0.04405426 -0.05245518 0.003999948 -0.04416561 -0.04506784 0.003999948 -0.0458343 -0.04506784 0.003999948 -0.04736137 -0.05221718 0.003999948 -0.04718434 -0.04408699 0.003999948 -0.04718434 0.04408699 0.003999948 -0.04736137 0.05221718 0.003999948 -0.04769998 0.04249995 0.003999948 -0.05040884 0.05091094 0.003999948 -0.05286169 0.04868 0.003999948 -0.0458343 0.04506784 0.003999948 -0.04405426 0.05245518 0.003999948 -0.04416561 0.04506784 0.003999948 -0.04281562 0.04408699 0.003999948 -0.04085117 0.05159872 0.003999948 -0.04229998 0.04249995 0.003999948 -0.03859943 0.03631913 0.003999948 -0.04320615 0.03069567 0.003999948 -0.04281562 0.04091292 0.003999948 -0.04416561 0.03993213 0.003999948 -0.0458343 0.03993213 0.003999948 -0.04700005 0.02449476 0.003999948 -0.04718434 0.04091292 0.003999948 -0.05188047 -0.01083576 0.003999948 -0.05287522 -0.003634691 0.003999948 -0.05287522 0.003634691 0.003999948 -0.05499994 0.04249995 0.003999948 -0.05188047 0.01083576 0.003999948 -0.04990971 0.01783299 0.003999948 -0.05445027 0.04576975 0.003999948 -0.0332666 0.04125928 0.003999948 -0.02730786 0.04542332 0.003999948 -0.05040884 -0.05091094 0.003999948 0.02620589 -0.003499984 0 0.02620589 -0.003499984 0.003999948 0.0279113 -0.004031836 0 0.0279113 -0.004031836 0.003999948 0.02901196 -0.005438923 0 0.02901196 -0.005438923 0.003999948 0.02911764 -0.007222175 0 0.02911764 -0.007222175 0.003999948 0.01570826 -0.003499984 0 0.01570826 -0.003499984 0.003999948 -0.04718434 -0.001586973 0 -0.05499994 -0.04249995 0 -0.04769998 0 0 -0.05499994 0.04249995 0 -0.04718434 0.001586973 0 -0.0458343 0.002567827 0 -0.0458343 0.03993213 0 -0.04416561 0.03993213 0 -0.0458343 -0.002567827 0 -0.0458343 -0.03993213 0 -0.04718434 -0.04091292 0 -0.04416561 -0.002567827 0 -0.04416561 -0.03993213 0 -0.03658699 -0.002184331 0 -0.03499996 -0.002699971 0 -0.04281562 -0.001586973 0 -0.03756785 -8.34346e-4 0 -0.04229998 0 0 -0.03756785 8.34346e-4 0 -0.04281562 0.001586973 0 -0.03658699 0.002184331 0 -0.04416561 0.002567827 0 -0.03499996 0.002699971 0 -0.04281562 0.04091292 0 -0.02999997 0.002699971 0 -0.009502053 0.0102815 0 -0.01193642 0.007315814 0 -0.04281562 -0.04091292 0 -0.02999997 -0.002699971 0 -0.009502053 -0.0102815 0 -0.01193642 -0.007315814 0 -0.02841293 -0.002184331 0 -0.01347422 -0.00380063 0 -0.02743214 -8.34346e-4 0 -0.01399999 0 0 -0.02743214 8.34346e-4 0 -0.01347422 0.00380063 0 -0.02841293 0.002184331 0 -0.04718434 0.04091292 0 -0.04769998 0.04249995 0 -0.05445027 0.04576975 0 -0.05286169 0.04868 0 -0.04229998 0.04249995 0 -0.006354033 0.01247495 0 -0.04085117 0.05159872 0 -0.00272876 0.01373147 0 0.01244646 0.02729624 0 0.001101374 0.0139566 0 0.004848897 0.01313346 0 0.008232176 0.01132386 0 0.01713144 0.02462744 0 0.01099717 0.008663773 0 0.02126312 0.0211631 0 0.02470791 0.01701521 0 -0.04281562 0.04408699 0 -0.04416561 0.04506784 0 -0.04405426 0.05245518 0 -0.0458343 0.04506784 0 -0.04736137 0.05221718 0 -0.05040884 0.05091094 0 -0.04718434 0.04408699 0 -0.04718434 -0.04408699 0 -0.05286169 -0.04868 0 -0.04769998 -0.04249995 0 -0.05445027 -0.04576975 0 -0.05040884 -0.05091094 0 -0.0458343 -0.04506784 0 -0.04736137 -0.05221718 0 -0.04405426 -0.05245518 0 -0.04416561 -0.04506784 0 -0.04085117 -0.05159872 0 -0.04281562 -0.04408699 0 -0.04229998 -0.04249995 0 -0.006354033 -0.01247495 0 -0.00272876 -0.01373147 0 0.01244646 -0.02729624 0 0.001101374 -0.0139566 0 0.004848897 -0.01313346 0 0.02735459 -0.01231765 0 0.02470791 -0.01701521 0 0.01293617 -0.005352914 0 0.01099717 -0.008663773 0 0.02126312 -0.0211631 0 0.01713144 -0.02462744 0 0.008232176 -0.01132386 0 0.02735459 0.01231765 0 0.01570826 0.003499984 0 0.01293617 0.005352914 0 0.02620589 0.003499984 0 0.02911764 0.007222175 0 0.0279113 0.004031836 0 0.02901196 0.005438923 0 0.01455986 0.003728449 0 0.0135864 0.004379153 0 0.0135864 -0.004379153 0 0.01455986 -0.003728449 0 0.02911764 0.007222175 0.003999948 0.02901196 0.005438923 0.003999948 0.0279113 0.004031836 0.003999948 0.02620589 0.003499984 0.003999948 0.02735459 0.01231765 0.003999948 0.02470791 0.01701521 0.003999948 0.02126312 0.0211631 0.003999948 0.01713144 0.02462744 0.003999948 0.01244646 0.02729624 0.003999948 0.01293617 -0.005352914 0.003999948 0.0135864 -0.004379153 0.003999948 0.01455986 -0.003728449 0.003999948 0.01099717 -0.008663773 0.003999948 0.008232176 -0.01132386 0.003999948 0.004848897 -0.01313346 0.003999948 0.001101374 -0.0139566 0.003999948 -0.00272876 -0.01373147 0.003999948 -0.006354033 -0.01247495 0.003999948 -0.009502053 -0.0102815 0.003999948 -0.01193642 -0.007315814 0.003999948 -0.01347422 -0.00380063 0.003999948 -0.01399999 0 0.003999948 -0.01347422 0.00380063 0.003999948 -0.01193642 0.007315814 0.003999948 -0.009502053 0.0102815 0.003999948 -0.006354033 0.01247495 0.003999948 -0.00272876 0.01373147 0.003999948 0.001101374 0.0139566 0.003999948 0.004848897 0.01313346 0.003999948 0.008232176 0.01132386 0.003999948 0.01099717 0.008663773 0.003999948 0.01293617 0.005352914 0.003999948 0.01570826 0.003499984 0.003999948 0.01455986 0.003728449 0.003999948 0.0135864 0.004379153 0.003999948 -0.02999997 -0.002699971 0.003999948 -0.03499996 -0.002699971 0.003999948 -0.02999997 0.002699971 0.003999948 -0.02841293 0.002184331 0.003999948 -0.02743214 8.34346e-4 0.003999948 -0.02743214 -8.34346e-4 0.003999948 -0.02841293 -0.002184331 0.003999948 -0.03499996 0.002699971 0.003999948 -0.03658699 -0.002184331 0.003999948 -0.03756785 -8.34346e-4 0.003999948 -0.03756785 8.34346e-4 0.003999948 -0.03658699 0.002184331 0.003999948 -0.04718434 -0.001586973 0.003999948 -0.04769998 0 0.003999948 -0.04718434 0.001586973 0.003999948 -0.0458343 0.002567827 0.003999948 -0.04416561 0.002567827 0.003999948 -0.04281562 0.001586973 0.003999948 -0.04229998 0 0.003999948 -0.04281562 -0.001586973 0.003999948 -0.04416561 -0.002567827 0.003999948 -0.0458343 -0.002567827 0.003999948 0.02735459 -0.01231765 0.003999948 0.02470791 -0.01701521 0.003999948 0.02126312 -0.0211631 0.003999948 0.01713144 -0.02462744 0.003999948 0.01244646 -0.02729624 0.003999948 0.003770172 -0.01284015 0.003999948 0 -0.01338219 0.003999948 -0.003770172 -0.01284015 0.003999948 -0.00723499 -0.01125782 0.003999948 -0.01011359 -0.008763492 0.003999948 -0.01217287 -0.005559146 0.003999948 -0.01324599 -0.001904487 0.003999948 -0.01324599 0.001904487 0.003999948 -0.01217287 0.005559146 0.003999948 -0.01011359 0.008763492 0.003999948 -0.00723499 0.01125782 0.003999948 -0.003770172 0.01284015 0.003999948 0 0.01338219 0.003999948 0.003770172 0.01284015 0.003999948 0.00723499 0.01125782 0.003999948 0.01011359 0.008763492 0.003999948 0.01217287 0.005559146 0.003999948 0.01324599 0.001904487 0.003999948 0.00723499 -0.01125782 0.003999948 0.01011359 -0.008763492 0.003999948 0.01217287 -0.005559146 0.003999948 0.01324599 -0.001904487 0.003999948 -0.02042561 -0.0489059 0.003999948 -0.01311081 -0.05135273 0.003999948 -0.005518257 -0.0527119 0.003999948 0.002191066 -0.05295467 0.003999948 0.009854078 -0.05207586 0.003999948 0.01730835 -0.05009406 0.003999948 0.02439606 -0.04705137 0.003999948 0.03096705 -0.04301208 0.003999948 0.03688216 -0.03806179 0.003999948 0.04201614 -0.03230541 0.003999948 0.04626023 -0.02586477 0.003999948 0.04952454 -0.01887637 0.003999948 0.05173993 -0.01148813 0.003999948 0.05285948 -0.003856599 0.003999948 0.05285948 0.003856599 0.003999948 0.05173993 0.01148813 0.003999948 0.04952454 0.01887637 0.003999948 0.04626023 0.02586477 0.003999948 0.04201614 0.03230541 0.003999948 0.03688216 0.03806179 0.003999948 0.03096705 0.04301208 0.003999948 0.02439606 0.04705137 0.003999948 0.01730835 0.05009406 0.003999948 0.009854078 0.05207586 0.003999948 0.002191066 0.05295467 0.003999948 -0.005518257 0.0527119 0.003999948 -0.01311081 0.05135273 0.003999948 -0.02042561 0.0489059 0.003999948 0.006937801 0.04269015 0.03779995 0.00671482 0.04670298 0.03209757 0 0.04325026 0.03779995 0 0.04718321 0.03209757 -0.00671482 0.04670298 0.03209757 0 0.05036878 0.02594631 -0.007168173 0.04985612 0.02594631 0 0.05275642 0.01944363 -0.007507979 0.05221945 0.01944363 0 0.05430835 0.01269257 -0.007728874 0.05375558 0.01269257 0 0.05499994 0.005799949 -0.007827281 0.05444014 0.005799949 0.01329302 0.04527199 0.03209757 0.01369595 0.04102444 0.03779995 0.01960062 0.04291939 0.03209757 0.0200994 0.03829616 0.03779995 0.02550917 0.03969305 0.03209757 0.02598226 0.03457605 0.03779995 0.03089845 0.03565871 0.03209757 0.03119218 0.02996051 0.03779995 0.03565871 0.03089845 0.03209757 0.03559422 0.02456891 0.03779995 0.03969305 0.02550917 0.03209757 0.03907442 0.01854103 0.03779995 0.04291939 0.01960062 0.03209757 0.04154264 0.01203292 0.03779995 0.04527199 0.01329302 0.03209757 0.04670298 0.00671482 0.03209757 0.04985612 0.007168173 0.02594631 0.05036878 0 0.02594631 0.05275642 0 0.01944363 0.05221945 -0.007507979 0.01944363 0.05375558 -0.007728874 0.01269257 0.05210852 -0.01530039 0.01269257 0.0527721 -0.01549524 0.005799949 0.05002975 -0.02284783 0.005799949 0.04940062 -0.02256047 0.01269257 0.04626893 -0.0297352 0.005799949 0.04568707 -0.0293613 0.01269257 0.04156619 -0.03601729 0.005799949 0.04104351 -0.03556442 0.01269257 0.03601729 -0.04156619 0.005799949 0.03556442 -0.04104351 0.01269257 0.0297352 -0.04626893 0.005799949 0.0293613 -0.04568707 0.01269257 0.02284783 -0.05002975 0.005799949 0.02256047 -0.04940062 0.01269257 0.01549524 -0.0527721 0.005799949 0.01530039 -0.05210852 0.01269257 0.007827281 -0.05444014 0.005799949 0.007728874 -0.05375558 0.01269257 0 -0.05499994 0.005799949 0 -0.05430835 0.01269257 -0.007827281 -0.05444014 0.005799949 -0.007728874 -0.05375558 0.01269257 -0.01549524 -0.0527721 0.005799949 -0.01530039 -0.05210852 0.01269257 -0.02284783 -0.05002975 0.005799949 -0.02256047 -0.04940062 0.01269257 -0.0297352 -0.04626893 0.005799949 -0.0293613 -0.04568707 0.01269257 -0.03601729 -0.04156619 0.005799949 -0.03556442 -0.04104351 0.01269257 -0.04156619 -0.03601729 0.005799949 -0.04104351 -0.03556442 0.01269257 -0.04626893 -0.0297352 0.005799949 -0.04568707 -0.0293613 0.01269257 -0.05002975 -0.02284783 0.005799949 -0.04940062 -0.02256047 0.01269257 -0.0527721 -0.01549524 0.005799949 -0.05210852 -0.01530039 0.01269257 -0.05444014 -0.007827281 0.005799949 -0.05375558 -0.007728874 0.01269257 -0.05499994 0 0.005799949 -0.05430835 0 0.01269257 -0.05444014 0.007827281 0.005799949 -0.05375558 0.007728874 0.01269257 -0.0527721 0.01549524 0.005799949 -0.05210852 0.01530039 0.01269257 -0.05002975 0.02284783 0.005799949 -0.04940062 0.02256047 0.01269257 -0.04626893 0.0297352 0.005799949 -0.04568707 0.0293613 0.01269257 -0.04156619 0.03601729 0.005799949 -0.04104351 0.03556442 0.01269257 -0.03601729 0.04156619 0.005799949 -0.03556442 0.04104351 0.01269257 -0.0297352 0.04626893 0.005799949 -0.0293613 0.04568707 0.01269257 -0.02284783 0.05002975 0.005799949 -0.02256047 0.04940062 0.01269257 -0.01549524 0.0527721 0.005799949 -0.01530039 0.05210852 0.01269257 0.04293489 0.005213201 0.03779995 0.04718321 0 0.03209757 0.04985612 -0.007168173 0.02594631 0.05061942 -0.01486319 0.01944363 0.04321515 -0.001741468 0.03779995 0.04670298 -0.00671482 0.03209757 0.04832851 -0.01419049 0.02594631 0.04798895 -0.02191579 0.01944363 0.04237616 -0.008651137 0.03779995 0.04527199 -0.01329302 0.03209757 0.04581707 -0.02092397 0.02594631 0.04438155 -0.02852225 0.01944363 0.04043966 -0.01533675 0.03779995 0.04291939 -0.01960062 0.03209757 0.04237294 -0.02723139 0.02594631 0.03987067 -0.0345481 0.01944363 0.03745579 -0.0216251 0.03779995 0.03969305 -0.02550917 0.03209757 0.0380662 -0.03298455 0.02594631 0.0345481 -0.03987067 0.01944363 0.03350186 -0.0273534 0.03779995 0.03565871 -0.03089845 0.03209757 0.03298455 -0.0380662 0.02594631 0.02852225 -0.04438155 0.01944363 0.0286802 -0.03237324 0.03779995 0.03089845 -0.03565871 0.03209757 0.02723139 -0.04237294 0.02594631 0.02191579 -0.04798895 0.01944363 0.02311575 -0.03655469 0.03779995 0.02550917 -0.03969305 0.03209757 0.02092397 -0.04581707 0.02594631 0.01486319 -0.05061942 0.01944363 0.01960062 -0.04291939 0.03209757 0.01695263 -0.03978931 0.03779995 0.01329302 -0.04527199 0.03209757 0.01035046 -0.04199343 0.03779995 0.00671482 -0.04670298 0.03209757 0.003480195 -0.04311001 0.03779995 0 -0.04718321 0.03209757 -0.003480195 -0.04311001 0.03779995 -0.00671482 -0.04670298 0.03209757 -0.01035046 -0.04199343 0.03779995 -0.01329302 -0.04527199 0.03209757 -0.01695263 -0.03978931 0.03779995 -0.01960062 -0.04291939 0.03209757 -0.02311575 -0.03655469 0.03779995 -0.02550917 -0.03969305 0.03209757 -0.03089845 -0.03565871 0.03209757 -0.03298455 -0.0380662 0.02594631 -0.0380662 -0.03298455 0.02594631 -0.03987067 -0.0345481 0.01944363 -0.04438155 -0.02852225 0.01944363 -0.0286802 -0.03237324 0.03779995 -0.03565871 -0.03089845 0.03209757 -0.04237294 -0.02723139 0.02594631 -0.04798895 -0.02191579 0.01944363 -0.03350186 -0.0273534 0.03779995 -0.03969305 -0.02550917 0.03209757 -0.04581707 -0.02092397 0.02594631 -0.05061942 -0.01486319 0.01944363 -0.03745579 -0.0216251 0.03779995 -0.04291939 -0.01960062 0.03209757 -0.04832851 -0.01419049 0.02594631 -0.05221945 -0.007507979 0.01944363 -0.04043966 -0.01533675 0.03779995 -0.04527199 -0.01329302 0.03209757 -0.04985612 -0.007168173 0.02594631 -0.05275642 0 0.01944363 -0.04237616 -0.008651137 0.03779995 -0.04670298 -0.00671482 0.03209757 -0.05036878 0 0.02594631 -0.05221945 0.007507979 0.01944363 -0.04321515 -0.001741468 0.03779995 -0.04718321 0 0.03209757 -0.04985612 0.007168173 0.02594631 -0.05061942 0.01486319 0.01944363 -0.04293489 0.005213201 0.03779995 -0.04670298 0.00671482 0.03209757 -0.04832851 0.01419049 0.02594631 -0.04798895 0.02191579 0.01944363 -0.04154264 0.01203292 0.03779995 -0.04527199 0.01329302 0.03209757 -0.04581707 0.02092397 0.02594631 -0.04438155 0.02852225 0.01944363 -0.04291939 0.01960062 0.03209757 -0.03907442 0.01854103 0.03779995 -0.03969305 0.02550917 0.03209757 -0.03559422 0.02456891 0.03779995 -0.03565871 0.03089845 0.03209757 -0.03119218 0.02996051 0.03779995 -0.03089845 0.03565871 0.03209757 -0.02598226 0.03457605 0.03779995 -0.02550917 0.03969305 0.03209757 -0.0200994 0.03829616 0.03779995 -0.01960062 0.04291939 0.03209757 -0.01369595 0.04102444 0.03779995 -0.01329302 0.04527199 0.03209757 -0.006937801 0.04269015 0.03779995 0.05444014 -0.007827281 0.005799949 0.05430835 0 0.01269257 0.05221945 0.007507979 0.01944363 0.04832851 0.01419049 0.02594631 0.05499994 0 0.005799949 0.05375558 0.007728874 0.01269257 0.05061942 0.01486319 0.01944363 0.04581707 0.02092397 0.02594631 0.05444014 0.007827281 0.005799949 0.05210852 0.01530039 0.01269257 0.04798895 0.02191579 0.01944363 0.04237294 0.02723139 0.02594631 0.0527721 0.01549524 0.005799949 0.04940062 0.02256047 0.01269257 0.04438155 0.02852225 0.01944363 0.0380662 0.03298455 0.02594631 0.05002975 0.02284783 0.005799949 0.04568707 0.0293613 0.01269257 0.03987067 0.0345481 0.01944363 0.03298455 0.0380662 0.02594631 0.04626893 0.0297352 0.005799949 0.04104351 0.03556442 0.01269257 0.0345481 0.03987067 0.01944363 0.02723139 0.04237294 0.02594631 0.04156619 0.03601729 0.005799949 0.03556442 0.04104351 0.01269257 0.02852225 0.04438155 0.01944363 0.02092397 0.04581707 0.02594631 0.03601729 0.04156619 0.005799949 0.0293613 0.04568707 0.01269257 0.02191579 0.04798895 0.01944363 0.01419049 0.04832851 0.02594631 0.0297352 0.04626893 0.005799949 0.02256047 0.04940062 0.01269257 0.01486319 0.05061942 0.01944363 0.007168173 0.04985612 0.02594631 0.02284783 0.05002975 0.005799949 0.01530039 0.05210852 0.01269257 0.007507979 0.05221945 0.01944363 0.01549524 0.0527721 0.005799949 0.007728874 0.05375558 0.01269257 0.007827281 0.05444014 0.005799949 0.01419049 -0.04832851 0.02594631 0.007507979 -0.05221945 0.01944363 0.007168173 -0.04985612 0.02594631 0 -0.05275642 0.01944363 0 -0.05036878 0.02594631 -0.007507979 -0.05221945 0.01944363 -0.007168173 -0.04985612 0.02594631 -0.01486319 -0.05061942 0.01944363 -0.01419049 -0.04832851 0.02594631 -0.02191579 -0.04798895 0.01944363 -0.02092397 -0.04581707 0.02594631 -0.02852225 -0.04438155 0.01944363 -0.02723139 -0.04237294 0.02594631 -0.0345481 -0.03987067 0.01944363 -0.04237294 0.02723139 0.02594631 -0.03987067 0.0345481 0.01944363 -0.0380662 0.03298455 0.02594631 -0.03298455 0.0380662 0.02594631 -0.02723139 0.04237294 0.02594631 -0.02092397 0.04581707 0.02594631 -0.01419049 0.04832851 0.02594631 -0.0345481 0.03987067 0.01944363 -0.02852225 0.04438155 0.01944363 -0.02191579 0.04798895 0.01944363 -0.01486319 0.05061942 0.01944363 0 0.05299997 0.005799949 0.007716834 0.05243515 0.005799949 0.01526921 0.05075281 0.005799949 0.02249616 0.04798871 0.005799949 0.02924364 0.04420185 0.005799949 0.03536784 0.03947287 0.005799949 0.04073828 0.03390264 0.005799949 0.0452404 0.02760982 0.005799949 0.04877829 0.02072852 0.005799949 0.05127662 0.01340544 0.005799949 0.05268204 0.00579667 0.005799949 0.05296462 -0.00193566 0.005799949 0.05211836 -0.009626746 0.005799949 0.0501613 -0.01711261 0.005799949 0.04713511 -0.02423381 0.005799949 0.04310435 -0.03083848 0.005799949 0.03815484 -0.0367859 0.005799949 0.0323922 -0.04194927 0.005799949 0.0259391 -0.04621857 0.005799949 0.01893323 -0.04950284 0.005799949 0.01152378 -0.051732 0.005799949 0.003868699 -0.05285859 0.005799949 -0.003868699 -0.05285859 0.005799949 -0.01152378 -0.051732 0.005799949 -0.01893323 -0.04950284 0.005799949 -0.0259391 -0.04621857 0.005799949 -0.0323922 -0.04194927 0.005799949 -0.03815484 -0.0367859 0.005799949 -0.04310435 -0.03083848 0.005799949 -0.04713511 -0.02423381 0.005799949 -0.0501613 -0.01711261 0.005799949 -0.05211836 -0.009626746 0.005799949 -0.05296462 -0.00193566 0.005799949 -0.05268204 0.00579667 0.005799949 -0.05127662 0.01340544 0.005799949 -0.04877829 0.02072852 0.005799949 -0.0452404 0.02760982 0.005799949 -0.04073828 0.03390264 0.005799949 -0.03536784 0.03947287 0.005799949 -0.02924364 0.04420185 0.005799949 -0.02249616 0.04798871 0.005799949 -0.01526921 0.05075281 0.005799949 -0.007716834 0.05243515 0.005799949 -0.003770172 -0.01284015 -0.0212 0 -0.01338219 -0.0212 0.003770172 -0.01284015 -0.0212 0.00723499 -0.01125782 -0.0212 0.01011359 -0.008763492 -0.0212 0.01217287 -0.005559146 -0.0212 0.01324599 -0.001904487 -0.0212 0.01324599 0.001904487 -0.0212 0.01217287 0.005559146 -0.0212 0.01011359 0.008763492 -0.0212 0.00723499 0.01125782 -0.0212 0.003770172 0.01284015 -0.0212 0 0.01338219 -0.0212 -0.003770172 0.01284015 -0.0212 -0.00723499 0.01125782 -0.0212 -0.01011359 0.008763492 -0.0212 -0.01217287 0.005559146 -0.0212 -0.01324599 0.001904487 -0.0212 -0.01324599 -0.001904487 -0.0212 -0.01217287 -0.005559146 -0.0212 -0.01011359 -0.008763492 -0.0212 -0.00723499 -0.01125782 -0.0212 -0.006672859 0.04105979 0.03979998 -0.005129814 0.03567874 0.04535388 0 0.04159843 0.03979998 0 0.03604561 0.04535388 0.005129814 0.03567874 0.04535388 0 0.02975881 0.05006086 0.004235088 0.0294559 0.05006086 0 0.02286607 0.05382513 0.003254175 0.02263331 0.05382513 0 0.01550769 0.05657005 0.002206981 0.01534986 0.05657005 0 0.0078336 0.05823963 0.001114785 0.007753849 0.05823963 0 0 0.05879998 -0.0101552 0.03458553 0.04535388 -0.01317286 0.03945767 0.03979998 -0.01497387 0.03278827 0.04535388 -0.01933175 0.03683358 0.03979998 -0.01948773 0.0303235 0.04535388 -0.02498996 0.03325557 0.03979998 -0.02360486 0.02724146 0.04535388 -0.03000092 0.02881628 0.03979998 -0.02724146 0.02360486 0.04535388 -0.03423488 0.02363061 0.03979998 -0.0303235 0.01948773 0.04535388 -0.03758215 0.01783293 0.03979998 -0.03278827 0.01497387 0.04535388 -0.03995609 0.01157337 0.03979998 -0.03458553 0.0101552 0.04535388 -0.03567874 0.005129814 0.04535388 -0.0294559 0.004235088 0.05006086 -0.02975881 0 0.05006086 -0.02286607 0 0.05382513 -0.02263331 -0.003254175 0.05382513 -0.01534986 -0.002206981 0.05657005 -0.01487952 -0.00436902 0.05657005 -0.007516264 -0.002206981 0.05823963 -0.007125675 -0.003254175 0.05823963 -0.04129517 0.005014121 0.03979998 -0.03604561 0 0.04535388 -0.0294559 -0.004235088 0.05006086 -0.02193981 -0.00644207 0.05382513 -0.01410633 -0.006442129 0.05657005 -0.006590068 -0.004235148 0.05823963 -0.0415647 -0.00167495 0.03979998 -0.03567874 -0.005129814 0.04535388 -0.02855336 -0.008383989 0.05006086 -0.02079969 -0.009498894 0.05382513 -0.0130459 -0.008384108 0.05657005 -0.005920231 -0.005129933 0.05823963 -0.04075777 -0.008320748 0.03979998 -0.03458553 -0.0101552 0.04535388 -0.02706956 -0.01236224 0.05006086 -0.01923614 -0.0123623 0.05382513 -0.01171994 -0.01015537 0.05657005 -0.005129933 -0.005920231 0.05823963 -0.03889524 -0.01475101 0.03979998 -0.03278827 -0.01497387 0.04535388 -0.02503472 -0.01608884 0.05006086 -0.01728099 -0.01497405 0.05382513 -0.01015537 -0.01171994 0.05657005 -0.004235148 -0.006590068 0.05823963 -0.03602534 -0.02079921 0.03979998 -0.0303235 -0.01948773 0.04535388 -0.0224902 -0.01948785 0.05006086 -0.01497405 -0.01728099 0.05382513 -0.008384108 -0.0130459 0.05657005 -0.003254175 -0.007125675 0.05823963 -0.03222239 -0.02630877 0.03979998 -0.02724146 -0.02360486 0.04535388 -0.01948785 -0.0224902 0.05006086 -0.0123623 -0.01923614 0.05382513 -0.006442129 -0.01410633 0.05657005 -0.002206981 -0.007516264 0.05823963 -0.02758485 -0.03113687 0.03979998 -0.02360486 -0.02724146 0.04535388 -0.01608884 -0.02503472 0.05006086 -0.009498894 -0.02079969 0.05382513 -0.00436902 -0.01487952 0.05657005 -0.001114785 -0.007753849 0.05823963 -0.02223294 -0.03515857 0.03979998 -0.01948773 -0.0303235 0.04535388 -0.01236224 -0.02706956 0.05006086 -0.00644207 -0.02193981 0.05382513 -0.002206981 -0.01534986 0.05657005 0 -0.0078336 0.05823963 -0.01497387 -0.03278827 0.04535388 -0.0163052 -0.03826969 0.03979998 -0.0101552 -0.03458553 0.04535388 -0.009955167 -0.04038965 0.03979998 -0.005129814 -0.03567874 0.04535388 -0.003347277 -0.04146355 0.03979998 0 -0.03604561 0.04535388 0.003347277 -0.04146355 0.03979998 0.005129814 -0.03567874 0.04535388 0.009955167 -0.04038965 0.03979998 0.0101552 -0.03458553 0.04535388 0.0163052 -0.03826969 0.03979998 0.01497387 -0.03278827 0.04535388 0.02223294 -0.03515857 0.03979998 0.01948773 -0.0303235 0.04535388 0.02360486 -0.02724146 0.04535388 0.01948785 -0.0224902 0.05006086 0.0224902 -0.01948785 0.05006086 0.01728099 -0.01497405 0.05382513 0.01923614 -0.0123623 0.05382513 0.0130459 -0.008384108 0.05657005 0.01410633 -0.006442129 0.05657005 0.007125675 -0.003254175 0.05823963 0.007516264 -0.002206981 0.05823963 0.02758485 -0.03113687 0.03979998 0.02724146 -0.02360486 0.04535388 0.02503472 -0.01608884 0.05006086 0.02079969 -0.009498894 0.05382513 0.01487952 -0.00436902 0.05657005 0.007753849 -0.001114785 0.05823963 0.03222239 -0.02630877 0.03979998 0.0303235 -0.01948773 0.04535388 0.02706956 -0.01236224 0.05006086 0.02193981 -0.00644207 0.05382513 0.01534986 -0.002206981 0.05657005 0.0078336 0 0.05823963 0.03602534 -0.02079921 0.03979998 0.03278827 -0.01497387 0.04535388 0.02855336 -0.008383989 0.05006086 0.02263331 -0.003254175 0.05382513 0.01550769 0 0.05657005 0.007753849 0.001114785 0.05823963 0.03889524 -0.01475101 0.03979998 0.03458553 -0.0101552 0.04535388 0.0294559 -0.004235088 0.05006086 0.02286607 0 0.05382513 0.01534986 0.002206981 0.05657005 0.007516264 0.002206981 0.05823963 0.04075777 -0.008320748 0.03979998 0.03567874 -0.005129814 0.04535388 0.02975881 0 0.05006086 0.02263331 0.003254175 0.05382513 0.01487952 0.00436902 0.05657005 0.007125675 0.003254175 0.05823963 0.0415647 -0.00167495 0.03979998 0.03604561 0 0.04535388 0.0294559 0.004235088 0.05006086 0.02193981 0.00644207 0.05382513 0.01410633 0.006442129 0.05657005 0.006590068 0.004235148 0.05823963 0.04129517 0.005014121 0.03979998 0.03567874 0.005129814 0.04535388 0.02855336 0.008383989 0.05006086 0.02079969 0.009498894 0.05382513 0.0130459 0.008384108 0.05657005 0.005920231 0.005129933 0.05823963 0.03995609 0.01157337 0.03979998 0.03458553 0.0101552 0.04535388 0.02706956 0.01236224 0.05006086 0.01923614 0.0123623 0.05382513 0.01171994 0.01015537 0.05657005 0.005129933 0.005920231 0.05823963 0.03278827 0.01497387 0.04535388 0.03758215 0.01783293 0.03979998 0.0303235 0.01948773 0.04535388 0.03423488 0.02363061 0.03979998 0.02724146 0.02360486 0.04535388 0.03000092 0.02881628 0.03979998 0.02360486 0.02724146 0.04535388 0.02498996 0.03325557 0.03979998 0.01948773 0.0303235 0.04535388 0.01933175 0.03683358 0.03979998 0.01497387 0.03278827 0.04535388 0.01317286 0.03945767 0.03979998 0.0101552 0.03458553 0.04535388 0.006672859 0.04105979 0.03979998 -0.0078336 0 0.05823963 -0.007753849 0.001114785 0.05823963 -0.007516264 0.002206981 0.05823963 -0.007125675 0.003254175 0.05823963 -0.006590068 0.004235148 0.05823963 -0.005920231 0.005129933 0.05823963 -0.005129933 0.005920231 0.05823963 -0.004235148 0.006590068 0.05823963 -0.003254175 0.007125675 0.05823963 -0.002206981 0.007516264 0.05823963 -0.001114785 0.007753849 0.05823963 0.002206981 0.007516264 0.05823963 0.003254175 0.007125675 0.05823963 0.004235148 0.006590068 0.05823963 0.006590068 -0.004235148 0.05823963 0.005920231 -0.005129933 0.05823963 0.005129933 -0.005920231 0.05823963 0.004235148 -0.006590068 0.05823963 0.003254175 -0.007125675 0.05823963 0.002206981 -0.007516264 0.05823963 0.001114785 -0.007753849 0.05823963 -0.007753849 -0.001114785 0.05823963 -0.01550769 0 0.05657005 -0.02263331 0.003254175 0.05382513 -0.01534986 0.002206981 0.05657005 -0.02193981 0.00644207 0.05382513 -0.01487952 0.00436902 0.05657005 -0.02079969 0.009498894 0.05382513 -0.01410633 0.006442129 0.05657005 -0.01923614 0.0123623 0.05382513 -0.0130459 0.008384108 0.05657005 -0.01728099 0.01497405 0.05382513 -0.01171994 0.01015537 0.05657005 -0.01497405 0.01728099 0.05382513 -0.01015537 0.01171994 0.05657005 -0.0123623 0.01923614 0.05382513 -0.008384108 0.0130459 0.05657005 -0.009498894 0.02079969 0.05382513 -0.006442129 0.01410633 0.05657005 -0.00644207 0.02193981 0.05382513 -0.00436902 0.01487952 0.05657005 -0.003254175 0.02263331 0.05382513 -0.002206981 0.01534986 0.05657005 -0.004235088 0.0294559 0.05006086 -0.008383989 0.02855336 0.05006086 -0.01236224 0.02706956 0.05006086 -0.01608884 0.02503472 0.05006086 -0.01948785 0.0224902 0.05006086 -0.0224902 0.01948785 0.05006086 -0.02503472 0.01608884 0.05006086 -0.02706956 0.01236224 0.05006086 -0.02855336 0.008383989 0.05006086 -0.008383989 -0.02855336 0.05006086 -0.003254175 -0.02263331 0.05382513 0 -0.01550769 0.05657005 -0.004235088 -0.0294559 0.05006086 0 -0.02286607 0.05382513 0.002206981 -0.01534986 0.05657005 0 -0.02975881 0.05006086 0.003254175 -0.02263331 0.05382513 0.00436902 -0.01487952 0.05657005 0.004235088 -0.0294559 0.05006086 0.00644207 -0.02193981 0.05382513 0.006442129 -0.01410633 0.05657005 0.008383989 -0.02855336 0.05006086 0.009498894 -0.02079969 0.05382513 0.008384108 -0.0130459 0.05657005 0.01236224 -0.02706956 0.05006086 0.0123623 -0.01923614 0.05382513 0.01015537 -0.01171994 0.05657005 0.01608884 -0.02503472 0.05006086 0.01497405 -0.01728099 0.05382513 0.01171994 -0.01015537 0.05657005 0.02503472 0.01608884 0.05006086 0.01728099 0.01497405 0.05382513 0.01015537 0.01171994 0.05657005 0.0224902 0.01948785 0.05006086 0.01948785 0.0224902 0.05006086 0.01608884 0.02503472 0.05006086 0.01236224 0.02706956 0.05006086 0.008383989 0.02855336 0.05006086 0.01497405 0.01728099 0.05382513 0.008384108 0.0130459 0.05657005 0.0123623 0.01923614 0.05382513 0.009498894 0.02079969 0.05382513 0.00644207 0.02193981 0.05382513 0.006442129 0.01410633 0.05657005 0.00436902 0.01487952 0.05657005 0.005158066 0.04248052 0.03910404 -0.001723051 0.0427578 0.03910404 -0.008559584 0.04192775 0.03910404 -0.01517444 0.0400117 0.03910404 -0.02139627 0.03705942 0.03910404 -0.02706396 0.03314733 0.03910404 -0.0320307 0.02837669 0.03910404 -0.0361678 0.02287113 0.03910404 -0.03936827 0.01677322 0.03910404 -0.04154908 0.01024091 0.03910404 -0.04265379 0.00344336 0.03910404 -0.04265379 -0.00344336 0.03910404 -0.04154908 -0.01024091 0.03910404 -0.03936827 -0.01677322 0.03910404 -0.0361678 -0.02287113 0.03910404 -0.0320307 -0.02837669 0.03910404 -0.02706396 -0.03314733 0.03910404 -0.02139627 -0.03705942 0.03910404 -0.01517444 -0.0400117 0.03910404 -0.008559584 -0.04192775 0.03910404 -0.001723051 -0.0427578 0.03910404 0.005158066 -0.04248052 0.03910404 0.01190561 -0.041103 0.03910404 0.01834481 -0.03866094 0.03910404 0.02430891 -0.03521758 0.03910404 0.02964341 -0.03086209 0.03910404 0.0342102 -0.0257073 0.03910404 0.03789091 -0.01988667 0.03910404 0.04059028 -0.01355099 0.03910404 0.04223841 -0.006864368 0.03910404 0.04279255 0 0.03910404 0.04223841 0.006864368 0.03910404 0.04059028 0.01355099 0.03910404 0.03789091 0.01988667 0.03910404 0.0342102 0.0257073 0.03910404 0.02964341 0.03086209 0.03910404 0.02430891 0.03521758 0.03910404 0.01834481 0.03866094 0.03910404 0.01190561 0.041103 0.03910404 + + + + + + + + + + 0 0 1 5.06036e-7 0 1 -1.41724e-7 0 1 0 0 1 -1.70697e-7 0 1 0 0 1 3.60834e-7 0 1 -3.26295e-7 0 1 1.21989e-6 0 1 1.62652e-6 0 1 0 0 1 0 0 1 2.60186e-7 0 1 -2.56045e-7 0 1 5.86922e-7 0 1 0 0 1 5.56356e-7 0 1 -3.45529e-7 0 1 4.7193e-7 0 1 -2.35529e-7 0 1 1.61145e-7 0 1 -3.02338e-7 0 1 0 0 1 0 0 1 0.2977368 0.954648 0 0.7876353 0.6161418 0 0.9982489 0.05915516 0 0.9982488 0.05915719 0 0 1 0 0 0 -1 0.9982488 -0.05915719 0 0.9982489 -0.05915516 0 0.7876353 -0.6161418 0 0.2977368 -0.954648 0 0.9450288 0.3269872 0 0.9450284 0.3269884 0 0.8712345 0.4908671 0 0.8712342 0.4908676 0 0.769297 0.6388914 0 0.7692973 0.638891 0 0.6425102 0.7662771 0 0.4949684 0.868911 0 -0.8316352 0.5553224 0 -0.5557191 0.8313701 0 -0.1951487 0.9807738 0 -0.1951484 0.9807738 0 -0.8629062 0.5053643 0 -0.6933064 0.720643 0 -0.4716336 0.8817947 0 -0.4716334 0.8817948 0 -0.2145361 0.9767161 0 -0.2145361 0.9767161 0 0.05867427 0.9982772 0 0.3274781 0.9448588 0 0.5716853 0.8204731 0 0.7729538 0.6344624 0 0.9161664 0.4007981 0 0.9161667 0.4007977 0 0.9905669 0.1370304 0 0.990567 0.13703 0 0.990567 -0.13703 0 0.9905669 -0.1370304 0 0.9161667 -0.4007977 0 0.9161664 -0.4007981 0 0.7729538 -0.6344624 0 0.5716853 -0.8204731 0 0.3274781 -0.9448588 0 0.05867427 -0.9982772 0 -0.2145361 -0.9767161 0 -0.2145361 -0.9767161 0 -0.4716334 -0.8817948 0 -0.4716336 -0.8817947 0 -0.6933064 -0.720643 0 -0.8629062 -0.5053643 0 -0.1951487 -0.9807738 0 -0.1951484 -0.9807738 0 -0.5557191 -0.8313701 0 -0.8316352 -0.5553224 0 0.9510564 0.3090174 0 0.9510551 0.3090214 0 0.9510554 -0.3090208 0 0.9510566 -0.3090168 0 0.5877883 -0.8090149 0 0.5877841 -0.8090178 0 0 -1 0 -0.5877841 -0.8090178 0 -0.9510566 -0.3090168 0 -0.9510564 0.3090174 0 -0.5877856 0.8090167 0 0.5877856 0.8090167 0 0.5877898 0.8090137 0 0.9510566 0.3090168 0 0.9510554 0.3090208 0 0.9510551 -0.3090214 0 0.9510564 -0.3090174 0 0.5877898 -0.8090137 0 0.5877856 -0.8090167 0 -0.5877856 -0.8090167 0 -0.9510564 -0.3090174 0 -0.9510566 0.3090168 0 -0.5877841 0.8090178 0 0.5877841 0.8090178 0 0.5877883 0.8090149 0 -0.3090163 -0.9510568 0 -0.3090175 -0.9510564 0 -0.8090173 -0.5877851 0 -1 0 0 -0.8090173 0.5877851 0 -0.3090175 0.9510564 0 -0.3090163 0.9510568 0 0.3090175 0.9510564 0 0.3090163 0.9510568 0 0.8090183 0.5877836 0 0.8090142 0.5877893 0 1 0 0 0.8090142 -0.5877893 0 0.8090183 -0.5877836 0 0.3090163 -0.9510568 0 0.3090175 -0.9510564 0 0.9510565 0.3090171 0 0.9510552 0.3090211 0 0.9510552 -0.3090211 0 0.9510565 -0.3090171 0 0.5877886 -0.8090147 0 0.5877844 -0.8090177 0 -0.5877844 -0.8090177 0 -0.9510565 -0.3090171 0 -0.9510565 0.3090171 0 -0.5877844 0.8090177 0 0.5877844 0.8090177 0 0.5877886 0.8090147 0 0.4148821 0.9098752 0 0.4148821 0.9098752 0 0.4148819 0.9098754 0 0.9450288 -0.3269872 0 0.9450284 -0.3269884 0 0.8712345 -0.4908671 0 0.8712342 -0.4908676 0 0.769297 -0.6388914 0 0.7692973 -0.638891 0 0.6425102 -0.7662771 0 0.4949684 -0.868911 0 0.4148819 -0.9098754 0 0.4148821 -0.9098752 0 0.4148821 -0.9098752 0 -0.9861623 -0.165783 0 -0.8777502 -0.4791187 0 -0.8777493 -0.4791203 0 -0.6728398 -0.7397882 0 -0.3939656 -0.9191251 0 -0.3939641 -0.9191259 0 -0.07177811 -0.9974206 0 -0.07177799 -0.9974207 0 0.2583009 -0.9660646 0 0.2583014 -0.9660644 0 0.2583014 0.9660644 0 0.2583009 0.9660646 0 -0.07177799 0.9974207 0 -0.07177811 0.9974206 0 -0.3939641 0.9191259 0 -0.3939656 0.9191251 0 -0.6728398 0.7397882 0 -0.8777493 0.4791203 0 -0.8777502 0.4791187 0 -0.9861623 0.165783 0 3.19739e-7 0 -1 -9.66628e-7 0 -1 3.18041e-7 0 -1 3.17031e-7 0 -1 -9.7573e-7 0 -1 3.17031e-7 0 -1 3.1804e-7 0 -1 3.19738e-7 0 -1 0 0 -1 2.28856e-7 0 -1 -8.76748e-7 0 -1 2.28856e-7 0 -1 3.34e-7 0 -1 0 0 -1 -4.93171e-7 0 -1 2.1377e-7 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 6.07691e-7 0 -1 -8.19763e-7 0 -1 0 0 -1 0.06597369 0.8172338 0.5725177 0.05877411 0.8217681 0.5667828 -0.05877411 0.8217681 0.5667828 -0.06338238 0.8862038 0.4589398 -0.06338274 0.8862037 0.4589399 -0.06698787 0.936612 0.3439051 -0.06698745 0.9366125 0.3439037 -0.06953436 0.9722225 0.2234918 -0.06953513 0.9722228 0.2234902 -0.07098501 0.9924937 0.09958726 -0.07098466 0.9924937 0.09958672 0.1758316 0.8082857 0.5619231 0.1954731 0.7930639 0.5769227 0.289892 0.7772315 0.5584567 0.3193633 0.7495732 0.579782 0.3982083 0.729264 0.5564209 0.4349541 0.6878247 0.58113 0.4981736 0.6654835 0.555837 0.539728 0.6092259 0.5809798 0.5873976 0.5873974 0.5567122 0.631374 0.5155014 0.5793317 0.6637631 0.4968866 0.559037 0.7078315 0.4086659 0.5761656 0.7254911 0.3961494 0.5627862 0.7673121 0.291002 0.5714455 0.771189 0.2876398 0.5679183 0.8057646 0.1752818 0.5657029 0.8681632 0.1888566 0.4589399 0.8862038 0.06338232 0.4589396 0.9366122 0.06698846 0.3439044 0.9366123 -0.06698733 0.3439045 0.9722226 -0.06953459 0.2234907 0.9524312 -0.2071882 0.2234907 0.9722893 -0.211509 0.09958684 0.9322919 -0.3477275 0.09958684 0.9322922 -0.3477269 0.09958672 0.873316 -0.4768667 0.09958672 0.8733165 -0.4768656 0.09958702 0.7965615 -0.5962989 0.09958571 0.7965613 -0.5962989 0.0995872 0.703592 -0.7035914 0.09958732 0.7035919 -0.7035916 0.09958618 0.5962984 -0.7965618 0.09958779 0.5962985 -0.7965618 0.09958612 0.4768667 -0.873316 0.09958678 0.4768665 -0.8733159 0.0995872 0.347727 -0.9322921 0.09958785 0.3477267 -0.9322921 0.0995872 0.2115086 -0.9722893 0.09958785 0.2115084 -0.9722894 0.09958726 0.07098466 -0.9924937 0.09958672 0.07098501 -0.9924937 0.09958726 -0.07098466 -0.9924937 0.09958672 -0.07098501 -0.9924937 0.09958726 -0.2115085 -0.9722895 0.09958672 -0.2115084 -0.9722893 0.09958833 -0.347727 -0.9322919 0.09958785 -0.3477267 -0.9322921 0.0995872 -0.4768667 -0.873316 0.09958678 -0.4768665 -0.8733159 0.0995872 -0.5962982 -0.796562 0.09958672 -0.5962986 -0.7965615 0.09958726 -0.703592 -0.7035915 0.09958624 -0.7035918 -0.7035915 0.09958726 -0.7965616 -0.5962989 0.09958624 -0.7965614 -0.5962991 0.09958666 -0.873316 -0.4768667 0.09958672 -0.8733166 -0.4768657 0.09958672 -0.9322919 -0.3477275 0.09958648 -0.9322921 -0.3477268 0.09958696 -0.9722895 -0.2115083 0.0995869 -0.9722893 -0.211509 0.09958714 -0.9924936 -0.07098531 0.09958714 -0.9924938 -0.07098376 0.09958678 -0.9924937 0.07098424 0.09958678 -0.9924937 0.07098484 0.09958714 -0.9722894 0.2115082 0.0995872 -0.9722893 0.211509 0.09958684 -0.9322919 0.3477275 0.09958684 -0.9322922 0.3477269 0.09958672 -0.873316 0.4768667 0.09958672 -0.8733165 0.4768656 0.09958702 -0.7965615 0.5962989 0.09958571 -0.7965613 0.5962989 0.0995872 -0.703592 0.7035914 0.09958732 -0.7035919 0.7035916 0.09958618 -0.5962984 0.7965618 0.09958779 -0.5962985 0.7965618 0.09958612 -0.4768667 0.873316 0.09958678 -0.4768665 0.8733159 0.0995872 -0.347727 0.9322921 0.09958785 -0.3477267 0.9322921 0.0995872 -0.2115086 0.9722893 0.09958785 -0.2115084 0.9722894 0.09958726 0.802634 0.1638596 0.5735233 0.8256271 0.05905121 0.5611175 0.8862036 0.06338304 0.4589399 0.8862038 -0.06338232 0.4589396 0.9366121 -0.06698846 0.3439047 0.9175454 -0.1995997 0.3439047 0.9524309 -0.2071892 0.2234908 0.9132505 -0.3406251 0.2234911 0.8156465 0.0328685 0.5776164 0.8277703 -0.05920326 0.5579348 0.8862036 -0.06338304 0.4589398 0.8681634 -0.1888567 0.4589396 0.9175451 -0.1996005 0.343905 0.8798003 -0.3281475 0.3439051 0.9132506 -0.3406245 0.2234912 0.8554788 -0.4671273 0.2234914 0.8085556 -0.09817737 0.5801716 0.8120647 -0.1766523 0.556188 0.8681633 -0.1888579 0.4589394 0.8324497 -0.310487 0.4589394 0.8797998 -0.3281494 0.3439046 0.8241448 -0.4500166 0.3439046 0.855479 -0.4671268 0.2234913 0.7802928 -0.584119 0.2234913 0.7816187 -0.2263994 0.5812191 0.7788416 -0.2904921 0.5558959 0.8324495 -0.3104876 0.4589394 0.779789 -0.4257975 0.4589396 0.824145 -0.4500166 0.3439044 0.7517119 -0.5627247 0.3439043 0.7802924 -0.5841192 0.2234918 0.6892212 -0.6892215 0.2234907 0.7354694 -0.3489844 0.5807709 0.7288865 -0.3980028 0.5570623 0.7797895 -0.4257968 0.4589394 0.7112547 -0.5324391 0.4589396 0.7517119 -0.5627245 0.3439047 0.6639765 -0.6639765 0.3439047 0.6892212 -0.6892209 0.2234922 0.5841193 -0.7802925 0.2234913 0.6711059 -0.4632312 0.5788211 0.6634186 -0.4966294 0.559674 0.7112548 -0.5324388 0.4589397 0.6282418 -0.6282412 0.4589393 0.6639764 -0.6639767 0.3439043 0.5627247 -0.7517119 0.3439043 0.5841195 -0.7802924 0.2234913 0.4671267 -0.8554791 0.2234911 0.5898782 -0.5665848 0.5753482 0.5840542 -0.5840549 0.5637027 0.6282413 -0.6282413 0.4589399 0.5324393 -0.7112551 0.4589387 0.5627244 -0.7517119 0.3439048 0.4500172 -0.824145 0.3439037 0.467127 -0.855479 0.2234914 0.3406248 -0.9132508 0.2234902 0.4934673 -0.6566849 0.5703114 0.4927644 -0.658257 0.5691055 0.5324382 -0.711255 0.4589401 0.4257974 -0.7797889 0.4589399 0.4500169 -0.8241448 0.3439046 0.3281487 -0.8798004 0.3439037 0.3406251 -0.9132502 0.2234919 0.2071884 -0.9524312 0.2234902 0.3955305 -0.7243601 0.5646753 0.3803888 -0.7247701 0.5744674 0.2894414 -0.7760234 0.5603672 0.258357 -0.7738728 0.5782495 0.1764712 -0.8112249 0.5574695 0.1306169 -0.8037153 0.5805008 0.05929458 -0.8290569 0.5560117 0 -0.8137258 0.5812491 -0.05929458 -0.8290569 0.5560117 -0.1306169 -0.8037153 0.5805008 -0.1764709 -0.8112249 0.5574696 -0.258357 -0.7738728 0.5782495 -0.2894414 -0.7760232 0.5603675 -0.3803888 -0.7247701 0.5744674 -0.3955305 -0.7243601 0.5646753 -0.4927644 -0.658257 0.5691055 -0.5324381 -0.711255 0.4589403 -0.6282415 -0.628241 0.4589398 -0.6639764 -0.6639767 0.3439043 -0.751712 -0.5627246 0.3439043 -0.7802925 -0.5841192 0.2234921 -0.8554788 -0.4671272 0.2234912 -0.4934676 -0.6566848 0.5703113 -0.5840542 -0.5840549 0.5637027 -0.6282413 -0.6282415 0.4589397 -0.7112551 -0.532439 0.458939 -0.7517118 -0.5627247 0.3439046 -0.8241446 -0.4500175 0.343904 -0.855479 -0.4671269 0.2234911 -0.9132503 -0.3406249 0.2234915 -0.589878 -0.5665847 0.5753484 -0.6634186 -0.4966294 0.559674 -0.7112544 -0.5324391 0.45894 -0.77979 -0.4257957 0.4589399 -0.8241452 -0.4500157 0.343905 -0.8797997 -0.3281496 0.3439046 -0.9132507 -0.3406246 0.2234909 -0.9524309 -0.2071892 0.223491 -0.6711057 -0.4632313 0.5788212 -0.7288865 -0.3980028 0.5570623 -0.7797887 -0.4257987 0.4589392 -0.8324499 -0.310487 0.4589392 -0.8798004 -0.3281473 0.3439053 -0.9175451 -0.1996008 0.343905 -0.9524312 -0.2071881 0.2234906 -0.9722226 -0.06953555 0.2234907 -0.7354694 -0.3489844 0.5807707 -0.7788416 -0.2904921 0.5558959 -0.8324494 -0.3104875 0.4589397 -0.8681634 -0.1888579 0.4589391 -0.9175454 -0.1995995 0.3439049 -0.9366121 -0.06698733 0.3439047 -0.9722226 -0.06953346 0.2234915 -0.9722225 0.06953448 0.2234916 -0.7816187 -0.2263994 0.5812191 -0.8120647 -0.1766522 0.5561878 -0.8681632 -0.1888566 0.4589399 -0.8862038 -0.06338232 0.4589396 -0.9366122 -0.06698846 0.3439044 -0.9366123 0.06698733 0.3439045 -0.9722226 0.06953459 0.2234907 -0.9524312 0.2071882 0.2234907 -0.8085557 -0.09817731 0.5801715 -0.8277704 -0.05920326 0.5579347 -0.8862036 -0.06338304 0.4589399 -0.8862038 0.06338232 0.4589396 -0.9366121 0.06698846 0.3439047 -0.9175454 0.1995997 0.3439047 -0.9524309 0.2071892 0.2234908 -0.9132505 0.3406251 0.2234911 -0.8156465 0.0328685 0.5776162 -0.8256271 0.05905121 0.5611176 -0.8862036 0.06338304 0.4589398 -0.8681634 0.1888567 0.4589396 -0.9175451 0.1996005 0.343905 -0.8798003 0.3281475 0.3439051 -0.9132506 0.3406245 0.2234912 -0.8554788 0.4671273 0.2234914 -0.8026338 0.1638596 0.5735234 -0.8057647 0.1752818 0.5657029 -0.8681633 0.1888579 0.4589394 -0.8324497 0.310487 0.4589394 -0.8797998 0.3281494 0.3439046 -0.8241448 0.4500166 0.3439046 -0.855479 0.4671268 0.2234913 -0.7802928 0.584119 0.2234913 -0.771189 0.2876397 0.5679181 -0.7673121 0.291002 0.5714455 -0.7254911 0.3961494 0.5627864 -0.7078315 0.4086659 0.5761656 -0.6637632 0.4968865 0.5590369 -0.631374 0.5155014 0.5793317 -0.5873975 0.5873975 0.5567122 -0.539728 0.6092259 0.5809798 -0.4981738 0.6654834 0.555837 -0.4349541 0.6878247 0.58113 -0.3982085 0.7292639 0.5564209 -0.3193633 0.7495732 0.579782 -0.289892 0.7772315 0.5584568 -0.1954731 0.7930639 0.5769227 -0.1758319 0.8082854 0.5619235 -0.06597375 0.8172343 0.5725169 0.9722894 -0.2115082 0.0995872 0.9924937 -0.07098484 0.09958714 0.9722225 -0.06953448 0.2234916 0.9722226 0.06953346 0.2234915 0.9366122 0.06698733 0.3439049 0.9175453 0.1995995 0.343905 0.8681634 0.1888579 0.4589391 0.8324494 0.3104874 0.4589395 0.9924937 -0.07098424 0.09958678 0.9924938 0.07098376 0.09958678 0.9722226 0.06953555 0.2234908 0.9524312 0.207188 0.2234905 0.9175451 0.1996008 0.3439049 0.8798003 0.3281474 0.3439053 0.8324497 0.3104872 0.4589392 0.7797886 0.4257985 0.4589393 0.9924936 0.07098531 0.09958714 0.9722893 0.211509 0.09958714 0.9524308 0.2071892 0.223491 0.9132506 0.3406246 0.2234909 0.8797997 0.3281496 0.3439046 0.8241453 0.4500156 0.3439047 0.7797899 0.4257956 0.4589398 0.7112545 0.5324391 0.4589397 0.9722895 0.2115082 0.0995869 0.9322921 0.3477268 0.09958696 0.9132504 0.340625 0.2234914 0.8554789 0.467127 0.2234913 0.8241447 0.4500175 0.343904 0.7517118 0.5627246 0.3439046 0.7112551 0.5324389 0.4589391 0.6282413 0.6282413 0.4589399 0.9322919 0.3477275 0.0995866 0.8733166 0.4768656 0.09958702 0.8554788 0.4671271 0.2234915 0.7802925 0.5841192 0.2234918 0.751712 0.5627246 0.3439044 0.6639764 0.6639767 0.3439044 0.6282417 0.6282411 0.4589396 0.5324379 0.7112549 0.4589406 0.873316 0.4768667 0.09958684 0.7965614 0.596299 0.09958666 0.7802928 0.5841191 0.2234911 0.6892214 0.6892209 0.2234918 0.6639766 0.6639766 0.3439046 0.5627247 0.7517121 0.3439041 0.5324394 0.711255 0.4589387 0.4257977 0.7797895 0.4589388 0.7965615 0.5962989 0.0995863 0.7035918 0.7035915 0.09958726 0.6892209 0.6892214 0.2234916 0.5841193 0.7802924 0.2234917 0.5627244 0.7517117 0.3439055 0.450017 0.8241454 0.3439029 0.425797 0.7797892 0.4589397 0.3104872 0.8324493 0.4589399 0.703592 0.7035915 0.09958636 0.5962986 0.7965615 0.09958726 0.5841194 0.7802924 0.2234914 0.4671267 0.855479 0.2234917 0.4500171 0.8241443 0.3439053 0.3281486 0.8798004 0.3439041 0.3104877 0.8324497 0.4589391 0.188857 0.8681633 0.4589397 0.5962982 0.796562 0.09958714 0.4768666 0.8733159 0.0995872 0.4671271 0.855479 0.2234908 0.3406252 0.9132505 0.2234907 0.3281485 0.8798001 0.3439046 0.1995999 0.9175449 0.3439061 0.1888578 0.8681638 0.4589383 0.06338238 0.8862038 0.4589398 0.4768666 0.8733159 0.09958726 0.3477267 0.9322921 0.0995872 0.3406246 0.9132505 0.2234913 0.2071888 0.952431 0.2234907 0.1995998 0.9175455 0.3439045 0.06698775 0.936612 0.343905 0.06338232 0.8862036 0.4589399 0.347727 0.9322919 0.09958815 0.2115084 0.9722893 0.09958833 0.2071884 0.9524311 0.2234908 0.06953436 0.9722228 0.2234907 0.06698751 0.9366124 0.3439037 0.2115085 0.9722895 0.0995869 0.07098501 0.9924937 0.09958726 0.06953513 0.9722225 0.2234912 0.07098466 0.9924937 0.09958672 0.4257975 -0.7797896 0.4589386 0.3104873 -0.8324497 0.4589393 0.3281484 -0.8798 0.343905 0.1995998 -0.9175454 0.3439047 0.2071887 -0.9524309 0.2234913 0.06953513 -0.9722228 0.2234902 0.3104876 -0.8324493 0.4589397 0.1888574 -0.8681636 0.458939 0.1995999 -0.9175449 0.3439058 0.06698733 -0.9366125 0.3439037 0.06953436 -0.9722225 0.2234918 -0.06953513 -0.9722225 0.2234912 0.1888576 -0.8681636 0.458939 0.06338262 -0.8862037 0.4589399 0.06698787 -0.936612 0.3439051 -0.06698751 -0.9366124 0.3439037 -0.06953436 -0.9722226 0.2234912 -0.2071883 -0.9524309 0.2234912 0.06338238 -0.8862038 0.4589398 -0.06338232 -0.8862036 0.4589399 -0.06698775 -0.9366119 0.3439054 -0.1995998 -0.9175454 0.3439048 -0.2071887 -0.952431 0.2234906 -0.3406247 -0.9132506 0.2234912 -0.06338274 -0.8862038 0.4589396 -0.1888577 -0.8681639 0.4589381 -0.1995999 -0.9175449 0.3439062 -0.3281486 -0.8798 0.3439047 -0.3406251 -0.9132505 0.2234911 -0.467127 -0.8554788 0.2234912 -0.1888568 -0.8681634 0.4589396 -0.3104876 -0.8324497 0.458939 -0.3281486 -0.8798001 0.3439046 -0.450017 -0.8241441 0.3439058 -0.4671266 -0.855479 0.2234916 -0.5841194 -0.7802924 0.2234913 -0.3104872 -0.8324494 0.45894 -0.4257971 -0.7797893 0.4589397 -0.4500169 -0.8241453 0.3439033 -0.5627243 -0.7517115 0.3439058 -0.5841193 -0.7802925 0.2234911 -0.6892208 -0.6892213 0.2234921 -0.4257977 -0.7797893 0.4589391 -0.5324392 -0.711255 0.458939 -0.5627247 -0.7517122 0.3439037 -0.6639765 -0.6639765 0.3439047 -0.6892215 -0.6892209 0.2234915 -0.7802928 -0.584119 0.2234913 -0.7797895 0.4257968 0.4589396 -0.7797892 0.4257973 0.4589394 -0.8324496 0.3104875 0.4589394 -0.824145 0.4500166 0.3439044 -0.7517119 0.5627247 0.3439043 -0.7802924 0.5841192 0.2234918 -0.6892212 0.6892215 0.2234907 -0.7112547 0.5324391 0.4589396 -0.7112547 0.5324388 0.4589397 -0.6282418 0.6282412 0.4589393 -0.6282413 0.6282413 0.4589399 -0.5324393 0.7112551 0.4589387 -0.5324382 0.7112548 0.4589404 -0.4257974 0.7797889 0.4589399 -0.4257975 0.7797896 0.4589386 -0.3104873 0.8324497 0.4589393 -0.3104876 0.8324493 0.4589396 -0.1888574 0.8681636 0.458939 -0.1888574 0.8681637 0.4589388 -0.7517119 0.5627245 0.3439047 -0.6639765 0.6639765 0.3439047 -0.6892212 0.6892209 0.2234922 -0.5841193 0.7802925 0.2234913 -0.6639764 0.6639767 0.3439044 -0.5627247 0.7517119 0.3439043 -0.5627244 0.7517119 0.3439047 -0.4500172 0.824145 0.3439037 -0.4500168 0.8241446 0.3439051 -0.3281487 0.8798004 0.3439037 -0.3281484 0.8798 0.3439051 -0.1995998 0.9175454 0.3439047 -0.1995999 0.9175449 0.3439062 -0.4671268 0.8554791 0.223491 -0.5841194 0.7802924 0.2234911 -0.4671269 0.8554788 0.2234918 -0.3406247 0.9132507 0.2234905 -0.3406251 0.9132503 0.2234918 -0.2071884 0.9524312 0.2234901 -0.2071887 0.9524308 0.2234918 0 0 -1 2.35213e-7 0 -1 0 0 -1 0 0 -1 2.37821e-7 0 -1 0 0 -1 2.26791e-7 0 -1 0 0 -1 -4.8658e-7 0 -1 0 0 -1 4.88378e-7 0 -1 -2.23393e-7 0 -1 4.90038e-7 0 -1 -2.2272e-7 0 -1 -4.91555e-7 0 -1 -2.211e-7 0 -1 4.9524e-7 0 -1 0 0 -1 0 0 -1 1.54733e-7 0 -1 -2.48784e-7 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 2.48784e-7 0 -1 -2.20065e-7 0 -1 -4.9524e-7 0 -1 4.422e-7 0 -1 4.91555e-7 0 -1 -4.90038e-7 0 -1 -4.88378e-7 0 -1 4.8658e-7 0 -1 -2.24949e-7 0 -1 -2.26791e-7 0 -1 -2.27824e-7 0 -1 -2.37821e-7 0 -1 0 0 -1 0 0 -1 -2.35213e-7 0 -1 0.07284754 0.9953118 0.06362235 -0.03140884 0.9974972 -0.06334674 -0.07284557 0.9952846 0.06404811 -0.1758552 0.982349 -0.06375932 -0.2169775 0.9740462 0.06445831 -0.3165686 0.9463963 -0.06417596 -0.3564788 0.9320487 0.06486946 -0.450571 0.8904014 -0.06458431 -0.4883739 0.8701896 0.06527847 -0.5717854 0.818229 -0.05968904 -0.6095933 0.7894505 0.07186013 -0.6781391 0.7320416 -0.0651353 -0.7178131 0.692059 0.07614928 -0.7717673 0.6322283 -0.06828361 -0.8108024 0.5800796 0.07814937 -0.8509697 0.5206444 -0.06913942 -0.8866422 0.4558549 0.07785892 -0.9142985 0.3993426 -0.06770378 -0.9437542 0.3219633 0.07528358 -0.9605794 0.2705446 -0.06397509 -0.9809247 0.181186 0.07041573 -0.9889289 0.1366067 -0.05795037 -0.997332 0.03644901 0.06324881 -0.9987683 0 -0.04961967 -0.9925625 -0.1092137 0.05377745 -0.989841 -0.1367327 -0.03897547 -0.9666303 -0.25271 0.04199337 -0.9622257 -0.2710073 -0.02601832 -0.9199885 -0.3909519 0.02788722 -0.9163479 -0.4002389 -0.0107423 -0.8535373 -0.5209058 0.0114631 -0.8529908 -0.5218811 0.006842613 -0.7735564 -0.6336939 -0.00652343 0.1137104 0.99152 -0.06291335 0.2169952 0.9741253 0.06319034 0.2564288 0.9645414 -0.06248408 0.3565268 0.9321749 0.06275826 0.3937239 0.9171322 -0.06204849 0.4884667 0.8703544 0.06231784 0.5226878 0.8502959 -0.06159931 0.6100031 0.78998 0.06186908 0.6405876 0.7654464 -0.06115114 0.718545 0.6927638 0.06141203 0.7449275 0.6643788 -0.06069576 0.8117775 0.5807774 0.06095063 0.8334938 0.5492367 -0.06022685 0.8877145 0.456404 0.06048625 0.9044126 0.4224532 -0.05975949 0.9447342 0.3222978 0.06001293 0.9561799 0.2867148 -0.05928343 0.9816216 0.1813147 0.05953377 0.9876982 0.1448959 -0.05880159 0.9975892 0.03645837 0.05904859 0.9982984 0 -0.05831313 0.9922953 -0.1091843 0.05855751 0.987755 -0.1449043 -0.05781757 0.965852 -0.2525054 0.05805963 0.9562902 -0.2867468 -0.05731844 0.9188201 -0.3904575 0.05755513 0.9045691 -0.4225252 -0.05681014 0.8522033 -0.5200917 0.05704569 0.8336862 -0.5493614 -0.05629795 0.7674177 -0.6386506 0.05652892 0.7451408 -0.6645703 -0.05578052 0.6662716 -0.7436032 0.05600488 0.6408087 -0.7657099 -0.05525106 0.5509183 -0.8327134 0.05547446 0.522898 -0.8506373 -0.05471789 0.4238155 -0.9040805 0.05494606 0.3939046 -0.9175531 -0.0541805 0.2876729 -0.9561824 0.05440109 0.2565609 -0.9650387 -0.05363786 0.1453897 -0.9879078 0.05385184 0.1137754 -0.9920873 -0.05308574 0 -0.9985787 0.05329835 -0.03142857 -0.9981247 -0.05253046 -0.1453983 -0.9879666 0.05274069 -0.1759756 -0.9830218 -0.05196994 -0.287707 -0.9562963 0.05217462 -0.3168032 -0.9470977 -0.05139684 -0.423891 -0.9042419 0.05160439 -0.4509303 -0.891111 -0.05082368 -0.5510488 -0.8329116 0.05102574 -0.5724368 -0.8191614 -0.03592944 -0.6668198 -0.7442159 0.03865283 -0.6794113 -0.7334162 -0.02238243 -0.7684267 -0.6394892 0.02396363 -5.55685e-7 0 -1 2.77843e-7 0 -1 -0.1423149 -0.9898215 0 0.1423149 -0.9898215 0 0.4154151 -0.9096321 0 0.415415 -0.909632 0 0.6548607 -0.7557497 0 0.6548611 -0.7557494 0 0.8412533 -0.5406411 0 0.8412537 -0.5406407 0 0.9594932 -0.2817322 0 0.959493 -0.2817327 0 0.959493 0.2817327 0 0.9594932 0.2817322 0 0.8412537 0.5406407 0 0.8412533 0.5406411 0 0.654861 0.7557494 0 0.6548607 0.7557495 0 0.415415 0.909632 0 0.4154151 0.9096321 0 0.1423149 0.9898215 0 -0.1423149 0.9898215 0 -0.4154151 0.9096321 0 -0.415415 0.909632 0 -0.6548607 0.7557497 0 -0.6548611 0.7557494 0 -0.8412533 0.5406411 0 -0.8412537 0.5406407 0 -0.9594932 0.2817322 0 -0.959493 0.2817327 0 -0.959493 -0.2817327 0 -0.9594932 -0.2817322 0 -0.8412537 -0.5406407 0 -0.8412533 -0.5406411 0 -0.654861 -0.7557494 0 -0.6548607 -0.7557495 0 -0.415415 -0.909632 0 -0.4154151 -0.9096321 0 0 0 -1 0 0 -1 0 0 -1 -3.36774e-7 0 -1 4.03175e-7 0 -1 1.21964e-6 0 -1 6.5419e-7 0 -1 -9.32672e-7 0 -1 -2.24516e-7 0 -1 -4.03175e-7 0 -1 -0.0572381 0.7090237 0.702858 -0.05051249 0.7062709 0.7061373 0.05051249 0.7062709 0.7061373 0.04282772 0.5987907 0.7997598 0.04282522 0.5987897 0.7997605 0.0342592 0.4790209 0.8771347 0.0342611 0.4790209 0.8771347 0.02499049 0.3493955 0.9366421 0.02498948 0.349396 0.9366419 0.01520091 0.2125663 0.9770285 0.01520258 0.212566 0.9770285 0.005098998 0.07134675 0.9974386 -0.1498721 0.6889492 0.7091456 -0.1707701 0.6928405 0.7005781 -0.2456532 0.6586214 0.7112471 -0.2802762 0.6578324 0.6990722 -0.3362927 0.6158745 0.7124647 -0.3825449 0.6049456 0.6983554 -0.4203072 0.5614641 0.7128113 -0.4745792 0.5356893 0.6984351 -0.4963075 0.4963068 0.712291 -0.5537014 0.4520831 0.699311 -0.5630168 0.421469 0.710898 -0.617639 0.3565945 0.7009724 -0.6192836 0.3381552 0.7086176 -0.6645988 0.2520479 0.7034062 -0.6640974 0.2476961 0.7054229 -0.6912343 0.1503686 0.7068129 -0.5866006 0.1276069 0.7997601 -0.5987897 0.04282647 0.7997605 -0.4790207 0.03426009 0.8771347 -0.4790217 -0.03425973 0.8771343 -0.349395 -0.02498936 0.9366422 -0.3422836 -0.07445883 0.9366419 -0.208238 -0.04529953 0.9770286 -0.1996734 -0.07447385 0.9770283 -0.06701833 -0.02499681 0.9974387 -0.6974544 0.1423871 0.7023414 -0.7027715 0.05026227 0.7096379 -0.5987905 0.04282623 0.79976 -0.5987898 -0.04282647 0.7997605 -0.4790204 -0.03426051 0.8771349 -0.4692701 -0.1020833 0.8771345 -0.3422825 -0.07445955 0.9366422 -0.3282027 -0.1224128 0.9366419 -0.1996706 -0.07447391 0.9770289 -0.187042 -0.1021326 0.9770284 -0.06277692 -0.03428018 0.9974387 -0.7133535 0.0287472 0.7002146 -0.7008346 -0.0501244 0.7115606 -0.5987901 -0.04282623 0.7997602 -0.5866005 -0.1276071 0.7997603 -0.4692687 -0.1020829 0.8771352 -0.4499652 -0.167828 0.8771346 -0.3282021 -0.122413 0.9366422 -0.3074402 -0.1678752 0.9366422 -0.1870416 -0.1021324 0.9770284 -0.1706032 -0.1277118 0.9770284 -0.05726569 -0.04286569 0.9974383 -0.7100383 -0.08621424 0.6988654 -0.6855342 -0.1491285 0.7126034 -0.5866007 -0.1276069 0.79976 -0.5624689 -0.2097903 0.7997605 -0.4499641 -0.1678285 0.8771352 -0.4215012 -0.2301563 0.8771345 -0.3074405 -0.1678752 0.9366421 -0.2804201 -0.2099202 0.936642 -0.1706017 -0.1277113 0.9770287 -0.150691 -0.1506909 0.9770285 -0.05057781 -0.05057865 0.9974386 -0.6875366 -0.1991477 0.6983078 -0.6571685 -0.2451103 0.7127767 -0.5624696 -0.2097901 0.7997599 -0.526888 -0.2877022 0.7997604 -0.4214997 -0.2301567 0.877135 -0.3844551 -0.2878002 0.8771347 -0.2804213 -0.2099198 0.9366416 -0.2476907 -0.2476912 0.9366421 -0.1506896 -0.150691 0.9770286 -0.1277146 -0.1706026 0.9770281 -0.04286617 -0.05726194 0.9974386 -0.6464773 -0.3067572 0.6985465 -0.6162142 -0.3364793 0.7120828 -0.5268883 -0.2877027 0.7997601 -0.4805806 -0.359758 0.7997603 -0.3844553 -0.2878 0.8771347 -0.3395838 -0.3395838 0.877135 -0.2476899 -0.247691 0.9366424 -0.2099195 -0.2804207 0.9366419 -0.127712 -0.1706026 0.9770284 -0.1021292 -0.1870413 0.9770289 -0.03427702 -0.06277954 0.9974387 -0.5880666 -0.4059123 0.6995805 -0.5633274 -0.421702 0.7105138 -0.4805804 -0.3597585 0.7997602 -0.4244897 -0.4244897 0.7997606 -0.3395844 -0.3395839 0.8771347 -0.2877997 -0.384455 0.8771349 -0.2099192 -0.2804199 0.9366422 -0.1678755 -0.3074407 0.9366419 -0.102132 -0.1870414 0.9770285 -0.0744698 -0.1996728 0.9770287 -0.02499639 -0.0670191 0.9974386 -0.5140506 -0.4937531 0.7013985 -0.4993305 -0.4993298 0.7080528 -0.4244903 -0.4244903 0.7997599 -0.3597584 -0.4805803 0.7997603 -0.2878001 -0.3844555 0.8771347 -0.2301563 -0.4215002 0.8771349 -0.1678754 -0.3074407 0.9366419 -0.1224129 -0.3282027 0.9366419 -0.0744735 -0.1996725 0.9770285 -0.04530125 -0.2082385 0.9770284 -0.01520389 -0.06989437 0.9974386 -0.426657 -0.5677779 0.703983 -0.4252082 -0.5680105 0.7046716 -0.3597585 -0.4805804 0.7997602 -0.2877021 -0.5268879 0.7997604 -0.2301567 -0.4215005 0.8771347 -0.1678292 -0.4499646 0.8771347 -0.1224138 -0.3282024 0.9366419 -0.07445889 -0.3422834 0.9366419 -0.0453006 -0.2082389 0.9770284 -0.01520234 -0.212566 0.9770285 -0.005098998 -0.07134675 0.9974386 -0.3387153 -0.6203105 0.707451 -0.3310312 -0.6307282 0.7018549 -0.2460598 -0.6597136 0.7100934 -0.2261829 -0.6775002 0.699882 -0.149294 -0.6862919 0.711839 -0.114762 -0.7061597 0.6986903 -0.05004149 -0.6996741 0.7127075 0 -0.715813 0.698292 0.05004149 -0.6996741 0.7127075 0.114762 -0.7061597 0.6986903 0.149294 -0.6862921 0.7118389 0.2261829 -0.6775002 0.699882 0.2460597 -0.6597135 0.7100935 0.3310312 -0.6307282 0.7018549 0.3387149 -0.6203104 0.7074513 0.4252076 -0.5680108 0.7046718 0.3597586 -0.4805802 0.7997604 0.4244889 -0.4244906 0.7997606 0.3395836 -0.3395841 0.8771349 0.3844538 -0.2878003 0.8771353 0.2804194 -0.2099204 0.9366421 0.3074432 -0.167875 0.9366412 0.1870433 -0.1021324 0.977028 0.1996717 -0.07447385 0.9770287 0.06701833 -0.02499681 0.9974387 0.426657 -0.5677779 0.7039831 0.4993301 -0.4993301 0.7080531 0.4244902 -0.4244898 0.7997603 0.480581 -0.3597587 0.7997597 0.3844553 -0.2878 0.8771347 0.421499 -0.2301564 0.8771355 0.3074395 -0.1678754 0.9366424 0.3282043 -0.1224127 0.9366414 0.1996722 -0.07447391 0.9770286 0.2082401 -0.0452997 0.9770283 0.06989687 -0.01520454 0.9974384 0.5140506 -0.4937532 0.7013985 0.5633278 -0.4217017 0.7105135 0.4805805 -0.3597579 0.7997604 0.5268888 -0.2877027 0.7997596 0.4215007 -0.2301567 0.8771347 0.449965 -0.1678281 0.8771347 0.328202 -0.122413 0.9366422 0.3422814 -0.07445889 0.9366426 0.2082381 -0.04529953 0.9770286 0.2125675 -0.01520317 0.9770281 0.07134616 -0.005102813 0.9974386 0.5880664 -0.4059125 0.6995806 0.6162144 -0.3364793 0.7120826 0.5268878 -0.2877021 0.7997605 0.5624683 -0.2097904 0.7997608 0.4499642 -0.1678283 0.877135 0.4692712 -0.1020826 0.8771338 0.3422839 -0.07445949 0.9366418 0.3493965 -0.02498871 0.9366418 0.2125647 -0.01520282 0.9770287 0.2125675 0.01520276 0.9770281 0.07134616 0.005102813 0.9974386 0.6464772 -0.3067572 0.6985466 0.6571685 -0.2451104 0.7127767 0.5624696 -0.2097901 0.7997601 0.5866 -0.1276071 0.7997606 0.4692682 -0.1020834 0.8771354 0.4790217 -0.03426027 0.8771343 0.3493947 -0.0249899 0.9366423 0.3493964 0.02498954 0.9366417 0.2125647 0.01520299 0.9770287 0.2082397 0.0452997 0.9770283 0.06989693 0.01520454 0.9974384 0.6875365 -0.1991477 0.6983078 0.6855342 -0.1491285 0.7126034 0.5866006 -0.1276069 0.7997601 0.5987897 -0.04282647 0.7997605 0.4790207 -0.03426009 0.8771347 0.4790217 0.03425973 0.8771343 0.349395 0.02498936 0.9366422 0.3422836 0.07445883 0.9366419 0.208238 0.04529953 0.9770286 0.1996734 0.07447385 0.9770283 0.06701833 0.02499681 0.9974387 0.7100383 -0.08621424 0.6988654 0.7008346 -0.0501244 0.7115606 0.5987905 -0.04282623 0.79976 0.5987898 0.04282647 0.7997605 0.4790204 0.03426051 0.8771349 0.4692701 0.1020833 0.8771345 0.3422825 0.07445955 0.9366422 0.3282027 0.1224128 0.9366419 0.1996706 0.07447391 0.9770289 0.187042 0.1021326 0.9770284 0.06277692 0.03428018 0.9974387 0.7133535 0.0287472 0.7002146 0.7027716 0.05026227 0.7096378 0.5987901 0.04282623 0.7997602 0.5866005 0.1276071 0.7997603 0.4692687 0.1020829 0.8771352 0.4499652 0.167828 0.8771346 0.3282021 0.122413 0.9366422 0.3074402 0.1678752 0.9366422 0.1870416 0.1021324 0.9770284 0.1706032 0.1277118 0.9770284 0.05726569 0.04286569 0.9974383 0.6974542 0.1423872 0.7023416 0.6912346 0.1503686 0.7068126 0.5866007 0.1276069 0.79976 0.5624689 0.2097903 0.7997605 0.4499641 0.1678285 0.8771352 0.4215012 0.2301563 0.8771345 0.3074405 0.1678752 0.9366421 0.2804201 0.2099202 0.936642 0.1706017 0.1277113 0.9770287 0.150691 0.1506909 0.9770285 0.05057781 0.05057865 0.9974386 0.6640973 0.2476962 0.7054229 0.6645988 0.2520479 0.7034062 0.6192839 0.3381551 0.7086175 0.617639 0.3565945 0.7009724 0.5630167 0.421469 0.7108981 0.5537014 0.4520831 0.699311 0.4963071 0.4963068 0.7122913 0.4745792 0.5356893 0.6984351 0.4203076 0.5614638 0.7128112 0.3825449 0.6049456 0.6983554 0.3362928 0.6158745 0.7124646 0.2802762 0.6578324 0.6990722 0.2456525 0.6586216 0.7112472 0.1707701 0.6928405 0.7005781 0.1498714 0.6889494 0.7091456 0.05723869 0.7090236 0.702858 -0.07134616 0.005102813 0.9974386 -0.06989693 0.01520454 0.9974384 -0.06701833 0.02499681 0.9974387 -0.06277692 0.03428018 0.9974387 -0.05726569 0.04286569 0.9974383 -0.05057781 0.05057865 0.9974386 -0.04286617 0.05726194 0.9974386 -0.03427702 0.06277954 0.9974387 -0.02499639 0.0670191 0.9974386 -0.01520389 0.06989437 0.9974386 -0.005098998 0.07134675 0.9974386 0.01520389 0.06989437 0.9974386 0.02499639 0.0670191 0.9974386 0.03427702 0.06277954 0.9974387 0.06277692 -0.03428018 0.9974387 0.05726569 -0.04286569 0.9974383 0.05057781 -0.05057865 0.9974386 0.04286617 -0.05726194 0.9974386 0.03427702 -0.06277954 0.9974387 0.01520389 -0.06989437 0.9974386 0.005098998 -0.07134675 0.9974386 -0.06989687 -0.01520454 0.9974384 -0.07134616 -0.005102813 0.9974386 -0.3493947 0.0249899 0.9366423 -0.3493965 0.02498871 0.9366418 -0.3422841 0.07445949 0.9366416 -0.3422814 0.07445889 0.9366427 -0.3282009 0.122413 0.9366426 -0.3282036 0.1224128 0.9366417 -0.3074406 0.1678754 0.9366419 -0.3074417 0.1678751 0.9366418 -0.2804193 0.2099203 0.9366422 -0.2804223 0.2099195 0.9366414 -0.2476921 0.2476912 0.9366418 -0.2476907 0.2476907 0.9366422 -0.2099194 0.2804204 0.936642 -0.2099208 0.2804199 0.9366419 -0.1678731 0.3074407 0.9366423 -0.1678777 0.3074408 0.9366416 -0.1224139 0.3282025 0.9366419 -0.1224124 0.3282026 0.9366421 -0.07446146 0.342283 0.9366419 -0.07445657 0.3422832 0.9366422 -0.02499049 0.3493956 0.9366419 -0.02498942 0.3493957 0.936642 -0.2125647 0.01520282 0.9770287 -0.2125675 0.01520317 0.9770281 -0.2082381 0.04529953 0.9770286 -0.20824 0.0452997 0.9770282 -0.1996738 0.07447385 0.9770282 -0.1996701 0.07447391 0.9770289 -0.1870417 0.1021324 0.9770284 -0.1870402 0.1021325 0.9770287 -0.1706018 0.1277115 0.9770286 -0.1706022 0.1277115 0.9770285 -0.1506896 0.150691 0.9770286 -0.150687 0.1506909 0.9770291 -0.1277121 0.1706027 0.9770284 -0.1277145 0.1706025 0.9770281 -0.1021287 0.1870414 0.9770288 -0.1021366 0.1870411 0.977028 -0.0744735 0.1996725 0.9770285 -0.07447308 0.1996726 0.9770285 -0.04530054 0.2082388 0.9770285 -0.04529947 0.2082388 0.9770285 -0.01520091 0.2125661 0.9770285 -0.01520258 0.2125661 0.9770285 -0.3493964 -0.02498954 0.9366417 -0.2125647 -0.01520299 0.9770287 -0.2125675 -0.01520276 0.9770281 -0.04282736 0.5987901 0.7997602 -0.04282563 0.5987903 0.7997601 -0.1276079 0.5866005 0.7997601 -0.1276075 0.5866003 0.7997604 -0.2097904 0.5624696 0.7997599 -0.2097895 0.5624692 0.7997606 -0.2877014 0.5268878 0.7997607 -0.2877027 0.526888 0.7997601 -0.359757 0.4805806 0.7997606 -0.3597586 0.4805802 0.7997604 -0.4244889 0.4244906 0.7997606 -0.4244902 0.4244898 0.7997603 -0.480581 0.3597587 0.7997597 -0.4805805 0.3597579 0.7997605 -0.5268888 0.2877027 0.7997596 -0.5268878 0.2877021 0.7997605 -0.5624683 0.2097904 0.7997608 -0.5624697 0.2097901 0.7997601 -0.5866 0.1276071 0.7997606 -0.03425914 0.4790206 0.8771349 -0.03426134 0.479021 0.8771346 -0.1020833 0.4692693 0.8771347 -0.1020838 0.4692693 0.8771347 -0.1678269 0.4499647 0.8771352 -0.1678279 0.4499648 0.8771349 -0.2301585 0.4215001 0.8771345 -0.2301559 0.4215006 0.8771349 -0.2877991 0.3844556 0.8771349 -0.2878008 0.3844552 0.8771345 -0.339585 0.3395838 0.8771345 -0.3395836 0.339584 0.877135 -0.3844538 0.2878003 0.8771353 -0.3844555 0.2878 0.8771347 -0.421499 0.2301564 0.8771355 -0.4215006 0.2301567 0.8771346 -0.449965 0.1678281 0.8771347 -0.449964 0.1678284 0.8771352 -0.4692712 0.1020826 0.8771338 -0.4692685 0.1020834 0.8771352 -0.4790217 0.03426027 0.8771343 -0.2082402 -0.0452997 0.9770281 -0.287702 -0.5268877 0.7997605 -0.2097904 -0.5624693 0.7997602 -0.1678279 -0.4499648 0.8771349 -0.1020856 -0.4692696 0.8771345 -0.07445693 -0.3422829 0.9366422 -0.02499079 -0.3493958 0.9366419 -0.01520091 -0.2125663 0.9770285 0.01520234 -0.2125661 0.9770285 -0.2097893 -0.5624693 0.7997604 -0.1276078 -0.5866 0.7997605 -0.1020815 -0.4692692 0.877135 -0.03426146 -0.4790208 0.8771346 -0.02499049 -0.3493955 0.9366421 0.02499079 -0.3493957 0.9366419 0.01520091 -0.2125661 0.9770284 0.04530137 -0.2082388 0.9770284 -0.1276069 -0.5866006 0.7997602 -0.04282557 -0.5987897 0.7997605 -0.0342592 -0.4790209 0.8771347 0.03425914 -0.4790206 0.8771349 0.02499049 -0.3493956 0.936642 0.07445549 -0.3422832 0.9366422 0.04530054 -0.2082388 0.9770285 0.0744698 -0.1996727 0.9770287 0.02499639 -0.0670191 0.9974386 -0.04282772 -0.5987907 0.7997598 0.04282736 -0.5987901 0.7997602 0.03426098 -0.479021 0.8771346 0.1020833 -0.4692693 0.8771347 0.07445919 -0.342283 0.9366421 0.1224128 -0.3282027 0.936642 0.07447344 -0.1996725 0.9770284 0.1021358 -0.1870411 0.9770282 0.04282623 -0.5987902 0.7997601 0.1276079 -0.5866005 0.7997601 0.1020833 -0.4692693 0.8771347 0.1678269 -0.4499647 0.8771352 0.1224117 -0.3282026 0.9366421 0.1678789 -0.3074407 0.9366413 0.1021287 -0.1870415 0.9770288 0.1277145 -0.1706025 0.9770281 0.1276069 -0.5866002 0.7997605 0.2097904 -0.5624696 0.7997599 0.1678279 -0.4499648 0.8771349 0.2301585 -0.4215001 0.8771345 0.1678731 -0.3074407 0.9366423 0.2099209 -0.2804199 0.9366418 0.1277121 -0.1706027 0.9770283 0.1506878 -0.1506909 0.9770289 0.2097893 -0.562469 0.7997606 0.2877014 -0.5268878 0.7997607 0.2301567 -0.4215005 0.8771347 0.2877991 -0.3844556 0.8771349 0.2099195 -0.2804205 0.9366421 0.2476922 -0.2476906 0.9366419 0.1506896 -0.150691 0.9770286 0.170603 -0.1277115 0.9770284 0.287702 -0.526888 0.7997605 0.359757 -0.4805806 0.7997606 0.2877998 -0.3844552 0.8771349 0.339585 -0.3395838 0.8771345 0.2476899 -0.2476913 0.9366423 0.2804216 -0.2099196 0.9366417 0.1706035 -0.1277114 0.9770283 0.1870418 -0.1021325 0.9770283 0.526888 0.2877026 0.7997602 0.5268878 0.2877023 0.7997604 0.5624696 0.2097901 0.7997599 0.4214997 0.2301567 0.877135 0.3844551 0.2878002 0.8771347 0.2804213 0.2099198 0.9366416 0.2476907 0.2476912 0.9366421 0.1506896 0.150691 0.9770286 0.1277146 0.1706026 0.9770281 0.04286617 0.05726194 0.9974386 0.4805806 0.359758 0.7997603 0.4805804 0.3597585 0.7997602 0.4244897 0.4244897 0.7997606 0.4244903 0.4244903 0.7997599 0.3597584 0.4805803 0.7997603 0.3597579 0.4805805 0.7997604 0.2877021 0.5268879 0.7997604 0.2877026 0.5268874 0.7997605 0.2097904 0.5624693 0.7997602 0.2097894 0.5624694 0.7997604 0.1276078 0.5866 0.7997605 0.1276075 0.5866004 0.7997603 0.3844553 0.2878 0.8771347 0.3395838 0.3395838 0.877135 0.2476899 0.247691 0.9366424 0.2099195 0.2804207 0.9366419 0.127712 0.1706026 0.9770284 0.1021292 0.1870413 0.9770289 0.3395836 0.3395841 0.8771349 0.2877997 0.384455 0.8771349 0.2878001 0.3844555 0.8771347 0.2301563 0.4215002 0.8771349 0.2301567 0.4215005 0.8771347 0.1678292 0.4499646 0.8771347 0.1678279 0.4499646 0.8771349 0.1020856 0.4692696 0.8771345 0.102082 0.4692692 0.877135 0.2099192 0.2804199 0.9366422 0.1678755 0.3074407 0.9366419 0.102132 0.1870414 0.9770285 0.0744698 0.1996728 0.9770287 0.1678765 0.3074406 0.9366418 0.1224129 0.3282027 0.9366419 0.1224127 0.3282025 0.936642 0.07445889 0.3422834 0.9366419 0.07445806 0.3422828 0.9366421 0.04530131 0.2082386 0.9770285 0.07447344 0.1996725 0.9770284 0.04529953 0.208239 0.9770285 0.03810632 0.4720349 0.8807559 0.02168107 0.5380196 0.8426535 -0.0381056 0.472035 0.8807559 -0.06490373 0.5345304 0.8426535 -0.1133335 0.4598105 0.8807553 -0.1498085 0.5172001 0.8426515 -0.1856255 0.4356772 0.8807545 -0.2308323 0.4864728 0.842651 -0.253107 0.4002594 0.880755 -0.3058798 0.4431447 0.8426509 -0.3140347 0.3544739 0.8807557 -0.3730072 0.3883389 0.8426497 -0.3668303 0.2995088 0.8807554 -0.4304689 0.323475 0.842651 -0.4101264 0.2367858 0.8807548 -0.476781 0.2502353 0.8426519 -0.4427992 0.1679309 0.8807543 -0.5107449 0.1705133 0.8426535 -0.4639994 0.09472668 0.8807561 -0.531489 0.08637428 0.8426499 -0.4731887 0.01906877 0.8807547 -0.5384606 0 0.8426508 -0.4701179 -0.05708289 0.8807558 -0.531488 -0.08637452 0.8426507 -0.4548774 -0.1317555 0.8807536 -0.5107461 -0.1705132 0.8426528 -0.4278503 -0.2030164 0.8807546 -0.4767813 -0.2502359 0.8426516 -0.389741 -0.2690197 0.8807557 -0.4304687 -0.3234757 0.8426507 -0.3415404 -0.3280546 0.8807556 -0.3730071 -0.3883393 0.8426496 -0.2844956 -0.3785945 0.8807545 -0.3058798 -0.4431447 0.8426509 -0.2200813 -0.4193278 0.8807545 -0.2308323 -0.486473 0.8426509 -0.1499654 -0.4492013 0.8807546 -0.1498085 -0.5171999 0.8426517 -0.07596641 -0.467438 0.8807559 -0.06490373 -0.5345304 0.8426535 0 -0.4735718 0.8807552 0.02168202 -0.5380226 0.8426516 0.07596546 -0.4674367 0.8807566 0.1077076 -0.5275803 0.8426495 0.1499644 -0.4492002 0.8807553 0.19094 -0.5034711 0.8426499 0.2200787 -0.419327 0.8807555 0.2692337 -0.4663203 0.8426498 0.284496 -0.378595 0.8807542 0.3405434 -0.4170937 0.8426524 0.3415421 -0.3280552 0.8807548 0.4030447 -0.3570654 0.8426502 0.3897407 -0.2690195 0.8807559 0.455101 -0.287789 0.842651 0.4278481 -0.2030171 0.8807554 0.4953712 -0.2110581 0.8426517 0.454876 -0.1317564 0.8807542 0.5228159 -0.1288614 0.8426496 0.47012 -0.05708312 0.8807547 0.5367097 -0.04332786 0.8426539 0.4731885 0.01906877 0.8807549 0.5367147 0.04332774 0.8426507 0.4640025 0.09472709 0.8807545 0.5228112 0.1288614 0.8426526 0.4427966 0.1679314 0.8807555 0.4953712 0.2110585 0.8426516 0.4101238 0.236786 0.8807559 0.4550978 0.287789 0.8426526 0.3668329 0.2995079 0.8807547 0.4030447 0.3570654 0.8426502 0.3140339 0.3544726 0.8807564 0.3405452 0.4170964 0.8426504 0.2531084 0.4002594 0.8807546 0.2692292 0.466318 0.8426524 0.185626 0.4356786 0.8807538 0.1909416 0.5034708 0.8426497 0.1133319 0.4598109 0.8807554 0.1077062 0.5275774 0.8426516 -0.07768422 0.9622901 0.2606971 0.03698468 0.9177666 0.3953943 0.07768416 0.9622917 0.2606914 0.1837244 0.8999449 0.3954044 0.2310415 0.937367 0.2606971 0.3257078 0.8588212 0.3953993 0.3784134 0.8881657 0.2607013 0.4592535 0.7954542 0.3953974 0.5159858 0.8159622 0.2606997 0.5809049 0.7114834 0.3953998 0.6401932 0.7226261 0.2606997 0.6875131 0.6090853 0.3953998 0.7478201 0.610575 0.2606977 0.7763144 0.4909141 0.3953977 0.8360793 0.4827092 0.2606974 0.8450098 0.3600254 0.3953988 0.9026837 0.3423431 0.2606983 0.8918195 0.2198138 0.3953986 0.9459105 0.193108 0.260697 0.9155309 0.07390952 0.3953992 0.9646379 0.03887259 0.2606964 0.9155315 -0.0739088 0.3953981 0.9583817 -0.1163687 0.260697 0.8918197 -0.2198146 0.3953976 0.927304 -0.2685967 0.2606979 0.84501 -0.3600247 0.3953989 0.8722096 -0.4138686 0.2606976 0.7763159 -0.4909124 0.395397 0.7945263 -0.5484205 0.260697 0.6875142 -0.6090855 0.3953974 0.6962649 -0.6687695 0.2606964 0.5809068 -0.7114822 0.3953992 0.5799692 -0.7717975 0.2607 0.4592534 -0.7954543 0.3953972 0.4486549 -0.8548362 0.2606991 0.3257077 -0.8588213 0.3953993 0.3057174 -0.9157359 0.2607001 0.1837252 -0.8999492 0.3953943 0.1548647 -0.9529163 0.2607058 0.0369845 -0.9177667 0.3953943 0 -0.9654199 0.2607001 -0.1107138 -0.9118145 0.3953943 -0.154865 -0.9529175 0.2607014 -0.2555465 -0.8822468 0.3953942 -0.3057174 -0.9157369 0.2606971 -0.3937579 -0.8298279 0.3953995 -0.4486538 -0.8548361 0.2607013 -0.5217723 -0.7559185 0.3953996 -0.5799706 -0.7717977 0.2606962 -0.6362747 -0.6624319 0.3953968 -0.6962645 -0.6687706 0.2606946 -0.7342954 -0.5517894 0.3953968 -0.7945259 -0.5484206 0.2606982 -0.8132995 -0.4268538 0.3953983 -0.8722097 -0.4138683 0.2606976 -0.8712401 -0.290863 0.3953977 -0.9273048 -0.2685956 0.2606958 -0.9066154 -0.1473409 0.3953977 -0.9583816 -0.1163679 0.2606977 -0.9185104 0 0.3953969 -0.9646375 0.03887271 0.2606981 -0.9066147 0.14734 0.3953998 -0.9459107 0.1931081 0.2606956 -0.8712397 0.2908637 0.3953983 -0.9026843 0.3423423 0.2606968 -0.8132999 0.4268541 0.3953971 -0.836078 0.4827103 0.2606999 -0.734295 0.5517891 0.3953981 -0.7478201 0.6105749 0.2606981 -0.6362726 0.6624336 0.3953974 -0.6401929 0.7226258 0.2607012 -0.521772 0.7559189 0.3953995 -0.5159866 0.8159628 0.2606968 -0.393759 0.8298274 0.3953991 -0.3784129 0.8881665 0.2606993 -0.2555451 0.8822471 0.3953944 -0.2310408 0.9373667 0.2606986 -0.1107141 0.9118167 0.3953893 + + + + + + + + + + + + + + +

0 0 1 0 2 0 2 0 1 0 3 0 2 0 3 0 4 0 4 0 3 0 5 0 4 1 5 1 6 1 0 0 7 0 1 0 1 2 7 2 8 2 8 0 7 0 9 0 8 3 9 3 10 3 10 0 11 0 8 0 8 0 11 0 12 0 12 4 11 4 13 4 12 5 13 5 14 5 14 0 13 0 15 0 11 0 16 0 13 0 13 0 16 0 17 0 17 6 16 6 18 6 17 0 18 0 19 0 17 0 19 0 20 0 20 7 19 7 21 7 20 8 21 8 2 8 22 9 23 9 24 9 24 10 23 10 25 10 24 11 25 11 26 11 22 7 27 7 23 7 23 0 27 0 28 0 28 0 27 0 29 0 28 6 29 6 30 6 28 0 30 0 31 0 31 12 30 12 32 12 31 13 32 13 33 13 33 0 32 0 34 0 34 14 32 14 35 14 34 3 35 3 36 3 36 0 37 0 34 0 34 0 37 0 38 0 38 15 37 15 39 15 38 16 39 16 24 16 3 17 40 17 5 17 5 18 40 18 41 18 5 19 41 19 42 19 5 20 42 20 43 20 43 18 42 18 44 18 43 21 44 21 45 21 38 0 24 0 45 0 45 22 24 22 26 22 45 23 26 23 43 23 43 1 26 1 46 1 33 5 47 5 31 5 31 0 47 0 48 0 4 0 49 0 2 0 2 10 49 10 20 10 50 24 51 24 52 24 52 24 51 24 53 24 52 25 53 25 54 25 54 25 53 25 55 25 54 26 55 26 56 26 56 27 55 27 57 27 50 28 58 28 51 28 51 28 58 28 59 28 60 29 61 29 62 29 62 29 61 29 63 29 62 29 63 29 64 29 64 29 63 29 65 29 65 29 63 29 66 29 65 29 66 29 67 29 60 29 68 29 61 29 61 29 68 29 69 29 61 29 69 29 70 29 68 29 71 29 69 29 69 29 71 29 72 29 72 29 71 29 73 29 72 29 73 29 74 29 71 29 75 29 73 29 73 29 75 29 76 29 76 29 75 29 77 29 76 29 77 29 78 29 78 29 77 29 79 29 78 29 79 29 80 29 80 29 79 29 81 29 80 29 81 29 67 29 67 29 81 29 65 29 80 29 67 29 82 29 82 29 67 29 83 29 82 29 83 29 84 29 84 29 83 29 85 29 84 29 85 29 86 29 72 29 74 29 87 29 87 29 74 29 88 29 87 29 88 29 89 29 89 29 88 29 90 29 90 29 88 29 91 29 90 29 91 29 92 29 92 29 91 29 93 29 92 29 93 29 94 29 94 29 93 29 95 29 94 29 95 29 96 29 96 29 95 29 97 29 96 29 97 29 86 29 86 29 97 29 84 29 98 29 63 29 99 29 99 29 63 29 100 29 99 29 100 29 101 29 98 29 66 29 63 29 83 29 102 29 85 29 85 29 102 29 103 29 103 29 102 29 104 29 103 29 104 29 105 29 105 29 104 29 106 29 105 29 106 29 107 29 107 29 106 29 108 29 108 29 106 29 109 29 109 29 106 29 110 29 109 29 110 29 111 29 111 29 110 29 112 29 111 29 112 29 113 29 102 29 114 29 104 29 104 29 114 29 115 29 104 29 115 29 116 29 116 29 115 29 117 29 116 29 117 29 118 29 118 29 117 29 119 29 119 29 117 29 120 29 119 29 120 29 101 29 101 29 120 29 99 29 121 29 122 29 123 29 123 29 122 29 124 29 123 29 124 29 61 29 122 29 121 29 125 29 125 29 121 29 126 29 125 29 126 29 127 29 127 29 126 29 128 29 128 29 126 29 129 29 128 29 129 29 130 29 130 29 129 29 131 29 130 29 131 29 132 29 87 29 89 29 132 29 132 29 89 29 133 29 132 29 133 29 130 29 130 29 133 29 134 29 130 29 134 29 135 29 135 29 134 29 136 29 135 29 136 29 137 29 70 29 123 29 61 29 52 29 56 29 50 29 50 29 56 29 138 29 50 29 138 29 58 29 58 29 138 29 139 29 58 29 139 29 140 29 140 29 139 29 141 29 141 29 139 29 142 29 141 29 142 29 143 29 52 29 54 29 56 29 141 29 143 29 144 29 144 29 143 29 135 29 144 29 135 29 137 29 145 29 146 29 113 29 113 29 146 29 147 29 113 29 147 29 111 29 146 29 145 29 148 29 148 29 145 29 149 29 148 29 149 29 150 29 150 29 149 29 151 29 146 29 152 29 147 29 147 29 152 29 153 29 154 29 155 29 140 29 140 29 155 29 58 29 149 30 156 30 151 30 151 31 156 31 157 31 151 32 157 32 150 32 150 32 157 32 158 32 150 33 158 33 148 33 148 33 158 33 159 33 156 34 149 34 160 34 160 35 149 35 145 35 160 36 145 36 161 36 161 37 145 37 113 37 161 38 113 38 162 38 162 39 113 39 112 39 162 40 112 40 163 40 163 40 112 40 110 40 163 41 110 41 164 41 164 41 110 41 106 41 140 42 165 42 154 42 154 42 165 42 166 42 154 43 166 43 167 43 59 44 58 44 167 44 167 45 58 45 155 45 167 43 155 43 154 43 165 46 140 46 168 46 168 46 140 46 141 46 168 47 141 47 169 47 169 47 141 47 144 47 169 48 144 48 170 48 170 49 144 49 137 49 170 50 137 50 171 50 171 51 137 51 136 51 171 52 136 52 172 52 172 52 136 52 134 52 172 53 134 53 173 53 173 53 134 53 133 53 173 54 133 54 174 54 174 54 133 54 89 54 174 55 89 55 175 55 175 55 89 55 90 55 175 56 90 56 176 56 176 57 90 57 92 57 176 58 92 58 177 58 177 59 92 59 94 59 177 60 94 60 178 60 178 61 94 61 96 61 178 62 96 62 179 62 179 63 96 63 86 63 179 64 86 64 180 64 180 64 86 64 85 64 180 65 85 65 181 65 181 65 85 65 103 65 181 66 103 66 182 66 182 66 103 66 105 66 182 67 105 67 183 67 183 67 105 67 107 67 183 68 107 68 184 68 184 69 107 69 108 69 184 70 108 70 185 70 185 71 108 71 109 71 185 72 109 72 186 72 186 72 109 72 111 72 186 73 111 73 187 73 187 73 111 73 147 73 146 74 188 74 152 74 152 75 188 75 189 75 152 76 189 76 190 76 187 77 147 77 190 77 190 77 147 77 153 77 190 76 153 76 152 76 21 78 121 78 2 78 2 79 121 79 123 79 2 80 123 80 0 80 0 81 123 81 70 81 0 82 70 82 7 82 7 83 70 83 69 83 7 84 69 84 9 84 9 84 69 84 72 84 9 85 72 85 10 85 10 85 72 85 87 85 10 86 87 86 11 86 11 86 87 86 132 86 11 87 132 87 16 87 16 87 132 87 131 87 16 88 131 88 18 88 18 88 131 88 129 88 18 28 129 28 19 28 19 28 129 28 126 28 19 89 126 89 21 89 21 90 126 90 121 90 39 91 98 91 24 91 24 92 98 92 99 92 24 93 99 93 22 93 22 94 99 94 120 94 22 95 120 95 27 95 27 96 120 96 117 96 27 84 117 84 29 84 29 84 117 84 115 84 29 97 115 97 30 97 30 97 115 97 114 97 30 98 114 98 32 98 32 98 114 98 102 98 32 99 102 99 35 99 35 99 102 99 83 99 35 100 83 100 36 100 36 100 83 100 67 100 36 28 67 28 37 28 37 28 67 28 66 28 37 101 66 101 39 101 39 102 66 102 98 102 88 28 74 28 191 28 191 28 74 28 192 28 193 103 84 103 194 103 194 104 84 104 97 104 194 105 97 105 195 105 195 105 97 105 95 105 195 106 95 106 196 106 196 106 95 106 93 106 196 107 93 107 197 107 197 107 93 107 91 107 197 108 91 108 191 108 191 109 91 109 88 109 82 84 84 84 198 84 198 84 84 84 193 84 192 110 74 110 199 110 199 111 74 111 73 111 199 112 73 112 200 112 200 113 73 113 76 113 200 114 76 114 201 114 201 114 76 114 78 114 201 115 78 115 202 115 202 116 78 116 80 116 202 117 80 117 198 117 198 118 80 118 82 118 203 119 60 119 204 119 204 120 60 120 62 120 204 121 62 121 205 121 205 122 62 122 64 122 205 123 64 123 206 123 206 124 64 124 65 124 206 84 65 84 207 84 207 84 65 84 81 84 207 125 81 125 208 125 208 125 81 125 79 125 208 126 79 126 209 126 209 126 79 126 77 126 209 127 77 127 210 127 210 127 77 127 75 127 210 128 75 128 211 128 211 128 75 128 71 128 211 28 71 28 212 28 212 28 71 28 68 28 212 129 68 129 203 129 203 130 68 130 60 130 164 131 106 131 48 131 48 132 106 132 104 132 48 133 104 133 31 133 159 84 188 84 148 84 148 84 188 84 146 84 56 134 57 134 138 134 138 135 57 135 213 135 138 136 213 136 139 136 139 137 213 137 214 137 139 138 214 138 142 138 142 139 214 139 215 139 142 140 215 140 143 140 143 140 215 140 216 140 143 141 216 141 135 141 135 141 216 141 217 141 13 142 130 142 15 142 15 143 130 143 135 143 15 144 135 144 217 144 5 145 61 145 6 145 6 145 61 145 124 145 6 146 124 146 4 146 4 147 124 147 122 147 4 148 122 148 49 148 49 148 122 148 125 148 49 149 125 149 20 149 20 150 125 150 127 150 20 151 127 151 17 151 17 152 127 152 128 152 17 153 128 153 13 153 13 154 128 154 130 154 63 106 61 106 43 106 43 106 61 106 5 106 31 155 104 155 28 155 28 156 104 156 116 156 28 157 116 157 23 157 23 158 116 158 118 158 23 159 118 159 25 159 25 160 118 160 119 160 25 161 119 161 26 161 26 161 119 161 101 161 26 162 101 162 46 162 46 163 101 163 100 163 46 164 100 164 43 164 43 164 100 164 63 164 205 29 208 29 204 29 204 29 208 29 209 29 204 29 209 29 203 29 203 29 209 29 210 29 203 29 210 29 212 29 212 29 210 29 211 29 206 29 207 29 205 29 205 29 207 29 208 29 218 29 171 29 219 29 219 29 171 29 172 29 219 29 172 29 220 29 220 29 172 29 173 29 220 29 173 29 221 29 221 29 173 29 174 29 221 165 174 165 222 165 222 166 174 166 175 166 222 167 175 167 223 167 223 29 175 29 176 29 223 168 176 168 224 168 224 169 176 169 177 169 224 29 177 29 225 29 225 169 177 169 178 169 225 170 178 170 226 170 226 29 178 29 179 29 226 171 179 171 227 171 227 166 179 166 180 166 227 172 180 172 228 172 228 29 180 29 181 29 228 29 181 29 229 29 229 29 181 29 182 29 229 173 182 173 230 173 230 29 182 29 183 29 230 29 183 29 231 29 231 174 183 174 184 174 231 29 184 29 232 29 232 29 184 29 185 29 232 29 185 29 233 29 233 175 185 175 186 175 233 29 186 29 234 29 234 29 186 29 187 29 234 29 187 29 235 29 235 29 187 29 190 29 235 29 190 29 189 29 171 176 218 176 170 176 170 177 218 177 236 177 170 178 236 178 169 178 169 29 236 29 237 29 169 179 237 179 168 179 168 29 237 29 238 29 168 180 238 180 165 180 165 29 238 29 239 29 165 29 239 29 166 29 166 29 239 29 167 29 167 29 239 29 59 29 59 29 239 29 235 29 59 29 235 29 188 29 188 29 235 29 189 29 15 29 217 29 240 29 240 29 217 29 241 29 241 29 217 29 242 29 242 29 217 29 243 29 243 29 217 29 244 29 244 29 217 29 245 29 245 29 217 29 246 29 246 181 217 181 216 181 246 182 216 182 247 182 247 183 216 183 215 183 247 29 215 29 248 29 248 184 215 184 214 184 248 29 214 29 249 29 249 185 214 185 213 185 249 186 213 186 250 186 250 187 213 187 57 187 250 188 57 188 251 188 251 29 57 29 252 29 252 189 57 189 55 189 252 190 55 190 253 190 253 29 55 29 157 29 253 191 157 191 254 191 254 29 157 29 255 29 255 189 157 189 156 189 255 29 156 29 256 29 256 29 156 29 257 29 257 187 156 187 160 187 257 192 160 192 258 192 258 185 160 185 161 185 258 29 161 29 259 29 259 184 161 184 162 184 259 29 162 29 260 29 260 183 162 183 163 183 260 193 163 193 261 193 261 181 163 181 164 181 261 29 164 29 262 29 262 29 164 29 263 29 263 29 164 29 264 29 264 29 164 29 265 29 265 29 164 29 266 29 266 29 164 29 267 29 267 29 164 29 48 29 55 194 53 194 157 194 157 195 53 195 158 195 158 196 53 196 51 196 158 29 51 29 159 29 159 29 51 29 59 29 159 29 59 29 188 29 268 197 269 197 270 197 270 198 269 198 271 198 270 199 271 199 272 199 272 200 271 200 273 200 272 201 273 201 274 201 274 202 273 202 275 202 274 203 275 203 276 203 276 204 275 204 277 204 276 205 277 205 278 205 278 206 277 206 279 206 278 207 279 207 280 207 269 208 268 208 281 208 281 209 268 209 282 209 281 210 282 210 283 210 283 211 282 211 284 211 283 212 284 212 285 212 285 213 284 213 286 213 285 214 286 214 287 214 287 215 286 215 288 215 287 216 288 216 289 216 289 217 288 217 290 217 289 218 290 218 291 218 291 219 290 219 292 219 291 220 292 220 293 220 293 221 292 221 294 221 293 222 294 222 295 222 295 223 294 223 296 223 295 224 296 224 297 224 297 225 296 225 298 225 297 226 298 226 299 226 299 227 298 227 300 227 299 228 300 228 301 228 301 229 300 229 302 229 301 230 302 230 303 230 303 231 302 231 304 231 304 232 302 232 305 232 304 233 305 233 306 233 306 234 305 234 307 234 306 235 307 235 308 235 308 236 307 236 309 236 308 237 309 237 310 237 310 238 309 238 311 238 310 239 311 239 312 239 312 240 311 240 313 240 312 241 313 241 314 241 314 242 313 242 315 242 314 243 315 243 316 243 316 244 315 244 317 244 316 245 317 245 318 245 318 246 317 246 319 246 318 247 319 247 320 247 320 248 319 248 321 248 320 249 321 249 322 249 322 250 321 250 323 250 322 251 323 251 324 251 324 252 323 252 325 252 324 253 325 253 326 253 326 254 325 254 327 254 326 255 327 255 328 255 328 256 327 256 329 256 328 257 329 257 330 257 330 258 329 258 331 258 330 259 331 259 332 259 332 260 331 260 333 260 332 261 333 261 334 261 334 262 333 262 335 262 334 263 335 263 336 263 336 264 335 264 337 264 336 265 337 265 338 265 338 266 337 266 339 266 338 267 339 267 340 267 340 268 339 268 341 268 340 269 341 269 342 269 342 270 341 270 343 270 342 271 343 271 344 271 344 272 343 272 345 272 344 273 345 273 346 273 346 274 345 274 347 274 346 275 347 275 348 275 348 276 347 276 349 276 348 277 349 277 350 277 350 278 349 278 351 278 350 279 351 279 352 279 352 280 351 280 353 280 352 281 353 281 354 281 354 282 353 282 355 282 354 283 355 283 356 283 356 284 355 284 357 284 356 285 357 285 358 285 358 286 357 286 359 286 358 287 359 287 360 287 360 288 359 288 361 288 360 289 361 289 280 289 280 290 361 290 278 290 294 291 362 291 296 291 296 292 362 292 363 292 296 293 363 293 298 293 298 294 363 294 364 294 298 295 364 295 300 295 300 296 364 296 365 296 300 297 365 297 302 297 302 298 365 298 305 298 362 299 366 299 363 299 363 300 366 300 367 300 363 301 367 301 364 301 364 302 367 302 368 302 364 303 368 303 365 303 365 304 368 304 369 304 365 305 369 305 305 305 305 306 369 306 307 306 366 307 370 307 367 307 367 308 370 308 371 308 367 309 371 309 368 309 368 310 371 310 372 310 368 311 372 311 369 311 369 312 372 312 373 312 369 313 373 313 307 313 307 314 373 314 309 314 370 315 374 315 371 315 371 316 374 316 375 316 371 317 375 317 372 317 372 318 375 318 376 318 372 319 376 319 373 319 373 320 376 320 377 320 373 321 377 321 309 321 309 322 377 322 311 322 374 323 378 323 375 323 375 324 378 324 379 324 375 325 379 325 376 325 376 326 379 326 380 326 376 327 380 327 377 327 377 328 380 328 381 328 377 329 381 329 311 329 311 330 381 330 313 330 378 331 382 331 379 331 379 332 382 332 383 332 379 333 383 333 380 333 380 334 383 334 384 334 380 335 384 335 381 335 381 336 384 336 385 336 381 337 385 337 313 337 313 338 385 338 315 338 382 339 386 339 383 339 383 340 386 340 387 340 383 341 387 341 384 341 384 342 387 342 388 342 384 343 388 343 385 343 385 344 388 344 389 344 385 345 389 345 315 345 315 346 389 346 317 346 386 347 390 347 387 347 387 348 390 348 391 348 387 349 391 349 388 349 388 350 391 350 392 350 388 351 392 351 389 351 389 352 392 352 393 352 389 353 393 353 317 353 317 354 393 354 319 354 391 355 390 355 394 355 394 356 390 356 395 356 394 357 395 357 396 357 396 358 395 358 397 358 396 359 397 359 398 359 398 360 397 360 399 360 398 361 399 361 400 361 400 362 399 362 401 362 400 363 401 363 402 363 402 364 401 364 403 364 402 365 403 365 404 365 404 366 403 366 405 366 404 367 405 367 406 367 406 368 405 368 407 368 406 369 407 369 408 369 408 370 407 370 409 370 408 371 409 371 410 371 410 372 409 372 411 372 410 373 411 373 412 373 412 374 411 374 413 374 412 375 413 375 335 375 335 376 413 376 337 376 407 377 414 377 409 377 409 378 414 378 415 378 409 379 415 379 411 379 411 380 415 380 416 380 411 381 416 381 413 381 413 382 416 382 417 382 413 383 417 383 337 383 337 384 417 384 339 384 414 385 418 385 415 385 415 386 418 386 419 386 415 387 419 387 416 387 416 388 419 388 420 388 416 389 420 389 417 389 417 390 420 390 421 390 417 391 421 391 339 391 339 392 421 392 341 392 418 393 422 393 419 393 419 394 422 394 423 394 419 395 423 395 420 395 420 396 423 396 424 396 420 397 424 397 421 397 421 398 424 398 425 398 421 399 425 399 341 399 341 400 425 400 343 400 422 401 426 401 423 401 423 402 426 402 427 402 423 403 427 403 424 403 424 404 427 404 428 404 424 405 428 405 425 405 425 406 428 406 429 406 425 407 429 407 343 407 343 408 429 408 345 408 426 409 430 409 427 409 427 410 430 410 431 410 427 411 431 411 428 411 428 412 431 412 432 412 428 413 432 413 429 413 429 414 432 414 433 414 429 415 433 415 345 415 345 416 433 416 347 416 430 417 434 417 431 417 431 418 434 418 435 418 431 419 435 419 432 419 432 420 435 420 436 420 432 421 436 421 433 421 433 422 436 422 437 422 433 423 437 423 347 423 347 424 437 424 349 424 434 425 438 425 435 425 435 426 438 426 439 426 435 427 439 427 436 427 436 428 439 428 440 428 436 429 440 429 437 429 437 430 440 430 441 430 437 431 441 431 349 431 349 432 441 432 351 432 438 433 442 433 439 433 439 434 442 434 443 434 439 435 443 435 440 435 440 436 443 436 444 436 440 437 444 437 441 437 441 438 444 438 445 438 441 439 445 439 351 439 351 440 445 440 353 440 443 441 442 441 446 441 446 442 442 442 447 442 446 443 447 443 448 443 448 444 447 444 449 444 448 445 449 445 450 445 450 446 449 446 451 446 450 447 451 447 452 447 452 448 451 448 453 448 452 449 453 449 454 449 454 450 453 450 455 450 454 451 455 451 456 451 456 452 455 452 457 452 456 453 457 453 458 453 458 454 457 454 459 454 458 455 459 455 272 455 272 456 459 456 270 456 303 457 460 457 301 457 301 458 460 458 461 458 301 459 461 459 299 459 299 460 461 460 462 460 299 461 462 461 297 461 297 462 462 462 463 462 297 463 463 463 295 463 295 464 463 464 293 464 460 465 464 465 461 465 461 466 464 466 465 466 461 467 465 467 462 467 462 468 465 468 466 468 462 469 466 469 463 469 463 470 466 470 467 470 463 471 467 471 293 471 293 472 467 472 291 472 464 473 468 473 465 473 465 474 468 474 469 474 465 475 469 475 466 475 466 476 469 476 470 476 466 477 470 477 467 477 467 478 470 478 471 478 467 479 471 479 291 479 291 480 471 480 289 480 468 481 472 481 469 481 469 482 472 482 473 482 469 483 473 483 470 483 470 484 473 484 474 484 470 485 474 485 471 485 471 486 474 486 475 486 471 487 475 487 289 487 289 488 475 488 287 488 472 489 476 489 473 489 473 490 476 490 477 490 473 491 477 491 474 491 474 492 477 492 478 492 474 493 478 493 475 493 475 494 478 494 479 494 475 495 479 495 287 495 287 496 479 496 285 496 476 497 480 497 477 497 477 498 480 498 481 498 477 499 481 499 478 499 478 500 481 500 482 500 478 501 482 501 479 501 479 502 482 502 483 502 479 503 483 503 285 503 285 504 483 504 283 504 480 505 484 505 481 505 481 506 484 506 485 506 481 507 485 507 482 507 482 508 485 508 486 508 482 509 486 509 483 509 483 510 486 510 487 510 483 511 487 511 283 511 283 512 487 512 281 512 484 513 488 513 485 513 485 514 488 514 489 514 485 515 489 515 486 515 486 516 489 516 490 516 486 517 490 517 487 517 487 518 490 518 491 518 487 519 491 519 281 519 281 520 491 520 269 520 488 521 492 521 489 521 489 522 492 522 493 522 489 523 493 523 490 523 490 524 493 524 494 524 490 525 494 525 491 525 491 526 494 526 495 526 491 527 495 527 269 527 269 528 495 528 271 528 492 529 496 529 493 529 493 530 496 530 497 530 493 531 497 531 494 531 494 532 497 532 498 532 494 533 498 533 495 533 495 534 498 534 273 534 495 535 273 535 271 535 496 536 499 536 497 536 497 537 499 537 500 537 497 538 500 538 498 538 498 539 500 539 275 539 498 540 275 540 273 540 499 541 501 541 500 541 500 542 501 542 277 542 500 543 277 543 275 543 501 544 279 544 277 544 391 545 394 545 392 545 392 546 394 546 502 546 392 547 502 547 393 547 393 548 502 548 503 548 393 549 503 549 319 549 319 550 503 550 321 550 394 551 396 551 502 551 502 552 396 552 504 552 502 553 504 553 503 553 503 554 504 554 505 554 503 555 505 555 321 555 321 556 505 556 323 556 396 557 398 557 504 557 504 558 398 558 506 558 504 559 506 559 505 559 505 560 506 560 507 560 505 561 507 561 323 561 323 562 507 562 325 562 398 563 400 563 506 563 506 564 400 564 508 564 506 565 508 565 507 565 507 566 508 566 509 566 507 567 509 567 325 567 325 568 509 568 327 568 400 569 402 569 508 569 508 570 402 570 510 570 508 571 510 571 509 571 509 572 510 572 511 572 509 573 511 573 327 573 327 574 511 574 329 574 402 575 404 575 510 575 510 576 404 576 512 576 510 577 512 577 511 577 511 578 512 578 513 578 511 579 513 579 329 579 329 580 513 580 331 580 404 581 406 581 512 581 512 582 406 582 514 582 512 583 514 583 513 583 513 584 514 584 515 584 513 585 515 585 331 585 331 586 515 586 333 586 406 587 408 587 514 587 514 588 408 588 410 588 514 589 410 589 515 589 515 590 410 590 412 590 515 591 412 591 333 591 333 592 412 592 335 592 448 593 516 593 446 593 446 594 516 594 444 594 446 595 444 595 443 595 444 596 516 596 445 596 445 597 516 597 517 597 445 598 517 598 353 598 353 599 517 599 355 599 516 600 448 600 518 600 518 601 448 601 450 601 518 602 450 602 519 602 519 603 450 603 452 603 519 604 452 604 520 604 520 605 452 605 454 605 520 606 454 606 521 606 521 607 454 607 456 607 521 608 456 608 522 608 522 609 456 609 458 609 522 610 458 610 274 610 274 611 458 611 272 611 516 612 518 612 517 612 517 613 518 613 523 613 517 614 523 614 355 614 355 615 523 615 357 615 523 616 518 616 519 616 523 617 519 617 524 617 524 618 519 618 520 618 524 619 520 619 525 619 525 620 520 620 521 620 525 621 521 621 526 621 526 622 521 622 522 622 526 623 522 623 276 623 276 624 522 624 274 624 359 625 357 625 524 625 524 626 357 626 523 626 359 627 524 627 525 627 361 628 359 628 525 628 361 629 525 629 526 629 278 630 361 630 526 630 278 631 526 631 276 631 280 29 279 29 527 29 527 632 279 632 501 632 527 29 501 29 528 29 528 29 501 29 499 29 528 29 499 29 529 29 529 633 499 633 496 633 529 634 496 634 530 634 530 29 496 29 492 29 530 635 492 635 531 635 531 636 492 636 488 636 531 29 488 29 532 29 532 29 488 29 484 29 532 637 484 637 533 637 533 29 484 29 480 29 533 638 480 638 534 638 534 29 480 29 476 29 534 29 476 29 535 29 535 29 476 29 472 29 535 639 472 639 536 639 536 640 472 640 468 640 536 641 468 641 537 641 537 642 468 642 464 642 537 643 464 643 538 643 538 644 464 644 460 644 538 645 460 645 539 645 539 646 460 646 303 646 539 29 303 29 540 29 540 29 303 29 304 29 540 29 304 29 541 29 541 29 304 29 306 29 541 647 306 647 542 647 542 648 306 648 308 648 542 649 308 649 543 649 543 29 308 29 310 29 543 650 310 650 544 650 544 29 310 29 312 29 544 651 312 651 545 651 545 652 312 652 314 652 545 653 314 653 546 653 546 29 314 29 316 29 546 654 316 654 547 654 547 29 316 29 318 29 547 29 318 29 548 29 548 655 318 655 320 655 548 29 320 29 549 29 549 656 320 656 322 656 549 29 322 29 550 29 550 29 322 29 324 29 550 29 324 29 551 29 551 29 324 29 326 29 551 29 326 29 552 29 552 657 326 657 328 657 552 658 328 658 553 658 553 29 328 29 330 29 553 29 330 29 554 29 554 29 330 29 332 29 554 29 332 29 555 29 555 659 332 659 334 659 555 660 334 660 556 660 556 29 334 29 336 29 556 29 336 29 557 29 557 29 336 29 338 29 557 29 338 29 558 29 558 661 338 661 340 661 558 29 340 29 559 29 559 662 340 662 342 662 559 29 342 29 560 29 560 663 342 663 344 663 560 29 344 29 561 29 561 664 344 664 346 664 561 665 346 665 562 665 562 29 346 29 348 29 562 29 348 29 563 29 563 29 348 29 350 29 563 666 350 666 564 666 564 29 350 29 352 29 564 667 352 667 565 667 565 29 352 29 354 29 565 29 354 29 566 29 566 668 354 668 356 668 566 669 356 669 567 669 567 29 356 29 358 29 567 670 358 670 568 670 568 671 358 671 360 671 568 29 360 29 569 29 569 29 360 29 280 29 569 29 280 29 527 29 528 672 264 672 527 672 527 673 264 673 265 673 527 674 265 674 569 674 569 675 265 675 266 675 569 676 266 676 568 676 568 677 266 677 267 677 568 678 267 678 567 678 567 679 267 679 48 679 567 680 48 680 566 680 566 681 48 681 47 681 566 682 47 682 565 682 565 683 47 683 33 683 565 684 33 684 564 684 564 685 33 685 34 685 564 686 34 686 563 686 563 687 34 687 38 687 563 688 38 688 562 688 562 689 38 689 45 689 562 690 45 690 561 690 561 691 45 691 44 691 561 692 44 692 560 692 560 693 44 693 42 693 560 694 42 694 559 694 559 695 42 695 41 695 559 696 41 696 558 696 558 697 41 697 40 697 558 698 40 698 557 698 557 699 40 699 3 699 557 700 3 700 556 700 556 701 3 701 1 701 556 702 1 702 555 702 555 703 1 703 8 703 555 704 8 704 12 704 264 705 528 705 263 705 263 706 528 706 529 706 263 707 529 707 262 707 262 708 529 708 530 708 262 709 530 709 261 709 261 710 530 710 531 710 261 711 531 711 260 711 260 712 531 712 532 712 260 713 532 713 259 713 259 714 532 714 533 714 259 715 533 715 258 715 258 716 533 716 534 716 258 717 534 717 257 717 257 718 534 718 535 718 257 719 535 719 256 719 256 720 535 720 536 720 256 721 536 721 255 721 255 722 536 722 537 722 255 723 537 723 254 723 254 724 537 724 538 724 254 725 538 725 253 725 253 726 538 726 539 726 253 727 539 727 252 727 252 728 539 728 540 728 252 729 540 729 251 729 251 730 540 730 541 730 251 731 541 731 250 731 250 732 541 732 542 732 250 733 542 733 249 733 249 734 542 734 543 734 249 735 543 735 248 735 248 736 543 736 544 736 248 737 544 737 247 737 247 738 544 738 545 738 247 739 545 739 246 739 246 740 545 740 546 740 246 741 546 741 245 741 245 742 546 742 547 742 245 743 547 743 244 743 244 744 547 744 548 744 244 745 548 745 243 745 243 746 548 746 549 746 243 747 549 747 242 747 242 748 549 748 550 748 242 749 550 749 241 749 241 750 550 750 551 750 241 751 551 751 240 751 240 752 551 752 552 752 240 753 552 753 15 753 15 754 552 754 553 754 15 755 553 755 14 755 14 756 553 756 554 756 14 757 554 757 12 757 12 758 554 758 555 758 197 759 191 759 196 759 196 29 191 29 192 29 196 29 192 29 200 29 200 760 192 760 199 760 196 29 200 29 195 29 195 29 200 29 201 29 195 29 201 29 193 29 193 29 201 29 198 29 198 29 201 29 202 29 193 29 194 29 195 29 220 761 570 761 219 761 219 761 570 761 571 761 219 762 571 762 218 762 218 762 571 762 572 762 218 763 572 763 236 763 236 764 572 764 573 764 236 765 573 765 237 765 237 766 573 766 574 766 237 767 574 767 238 767 238 768 574 768 575 768 238 769 575 769 239 769 239 770 575 770 576 770 239 114 576 114 235 114 235 114 576 114 577 114 235 771 577 771 234 771 234 772 577 772 578 772 234 773 578 773 233 773 233 774 578 774 579 774 233 775 579 775 232 775 232 776 579 776 580 776 232 777 580 777 231 777 231 778 580 778 581 778 231 779 581 779 230 779 230 779 581 779 582 779 230 780 582 780 229 780 229 780 582 780 583 780 229 781 583 781 228 781 228 782 583 782 584 782 228 783 584 783 227 783 227 784 584 784 585 784 227 785 585 785 226 785 226 786 585 786 586 786 226 787 586 787 225 787 225 788 586 788 587 788 225 106 587 106 224 106 224 106 587 106 588 106 224 789 588 789 223 789 223 790 588 790 589 790 223 791 589 791 222 791 222 792 589 792 590 792 222 793 590 793 221 793 221 794 590 794 591 794 221 795 591 795 220 795 220 796 591 796 570 796 570 29 582 29 571 29 571 797 582 797 581 797 571 798 581 798 580 798 582 29 570 29 583 29 583 799 570 799 591 799 583 29 591 29 584 29 584 800 591 800 590 800 584 29 590 29 585 29 585 801 590 801 589 801 585 29 589 29 586 29 586 802 589 802 588 802 586 29 588 29 587 29 580 803 579 803 571 803 571 804 579 804 578 804 571 805 578 805 577 805 577 29 576 29 571 29 571 806 576 806 575 806 571 29 575 29 574 29 574 29 573 29 571 29 571 29 573 29 572 29 592 807 593 807 594 807 594 808 593 808 595 808 594 809 595 809 596 809 596 810 595 810 597 810 596 811 597 811 598 811 598 812 597 812 599 812 598 813 599 813 600 813 600 814 599 814 601 814 600 815 601 815 602 815 602 816 601 816 603 816 602 817 603 817 604 817 604 818 603 818 605 818 593 819 592 819 606 819 606 820 592 820 607 820 606 821 607 821 608 821 608 822 607 822 609 822 608 823 609 823 610 823 610 824 609 824 611 824 610 825 611 825 612 825 612 826 611 826 613 826 612 827 613 827 614 827 614 828 613 828 615 828 614 829 615 829 616 829 616 830 615 830 617 830 616 831 617 831 618 831 618 832 617 832 619 832 618 833 619 833 620 833 620 834 619 834 621 834 620 835 621 835 622 835 622 836 621 836 623 836 622 837 623 837 624 837 624 838 623 838 625 838 624 839 625 839 626 839 626 840 625 840 627 840 626 841 627 841 628 841 628 842 627 842 629 842 628 843 629 843 605 843 619 844 630 844 621 844 621 845 630 845 631 845 621 846 631 846 623 846 623 847 631 847 632 847 623 848 632 848 625 848 625 849 632 849 633 849 625 850 633 850 627 850 627 851 633 851 634 851 627 852 634 852 629 852 629 853 634 853 635 853 629 854 635 854 605 854 630 855 636 855 631 855 631 856 636 856 637 856 631 857 637 857 632 857 632 858 637 858 638 858 632 859 638 859 633 859 633 860 638 860 639 860 633 861 639 861 634 861 634 862 639 862 640 862 634 863 640 863 635 863 635 864 640 864 641 864 635 865 641 865 605 865 636 866 642 866 637 866 637 867 642 867 643 867 637 868 643 868 638 868 638 869 643 869 644 869 638 870 644 870 639 870 639 871 644 871 645 871 639 872 645 872 640 872 640 873 645 873 646 873 640 874 646 874 641 874 641 875 646 875 647 875 641 876 647 876 605 876 642 877 648 877 643 877 643 878 648 878 649 878 643 879 649 879 644 879 644 880 649 880 650 880 644 881 650 881 645 881 645 882 650 882 651 882 645 883 651 883 646 883 646 884 651 884 652 884 646 885 652 885 647 885 647 886 652 886 653 886 647 887 653 887 605 887 648 888 654 888 649 888 649 889 654 889 655 889 649 890 655 890 650 890 650 891 655 891 656 891 650 892 656 892 651 892 651 893 656 893 657 893 651 894 657 894 652 894 652 895 657 895 658 895 652 896 658 896 653 896 653 897 658 897 659 897 653 898 659 898 605 898 654 899 660 899 655 899 655 900 660 900 661 900 655 901 661 901 656 901 656 902 661 902 662 902 656 903 662 903 657 903 657 904 662 904 663 904 657 905 663 905 658 905 658 906 663 906 664 906 658 907 664 907 659 907 659 908 664 908 665 908 659 909 665 909 605 909 660 910 666 910 661 910 661 911 666 911 667 911 661 912 667 912 662 912 662 913 667 913 668 913 662 914 668 914 663 914 663 915 668 915 669 915 663 916 669 916 664 916 664 917 669 917 670 917 664 918 670 918 665 918 665 919 670 919 671 919 665 920 671 920 605 920 666 921 672 921 667 921 667 922 672 922 673 922 667 923 673 923 668 923 668 924 673 924 674 924 668 925 674 925 669 925 669 926 674 926 675 926 669 927 675 927 670 927 670 928 675 928 676 928 670 929 676 929 671 929 671 930 676 930 677 930 671 931 677 931 605 931 673 932 672 932 678 932 678 933 672 933 679 933 678 934 679 934 680 934 680 935 679 935 681 935 680 936 681 936 682 936 682 937 681 937 683 937 682 938 683 938 684 938 684 939 683 939 685 939 684 940 685 940 686 940 686 941 685 941 687 941 686 942 687 942 688 942 688 943 687 943 689 943 688 944 689 944 690 944 690 945 689 945 691 945 690 946 691 946 692 946 692 947 691 947 693 947 692 948 693 948 694 948 694 949 693 949 695 949 694 950 695 950 696 950 696 951 695 951 697 951 696 952 697 952 698 952 698 953 697 953 699 953 698 954 699 954 700 954 700 955 699 955 701 955 700 956 701 956 605 956 691 957 702 957 693 957 693 958 702 958 703 958 693 959 703 959 695 959 695 960 703 960 704 960 695 961 704 961 697 961 697 962 704 962 705 962 697 963 705 963 699 963 699 964 705 964 706 964 699 965 706 965 701 965 701 966 706 966 707 966 701 967 707 967 605 967 702 968 708 968 703 968 703 969 708 969 709 969 703 970 709 970 704 970 704 971 709 971 710 971 704 972 710 972 705 972 705 973 710 973 711 973 705 974 711 974 706 974 706 975 711 975 712 975 706 976 712 976 707 976 707 977 712 977 713 977 707 978 713 978 605 978 708 979 714 979 709 979 709 980 714 980 715 980 709 981 715 981 710 981 710 982 715 982 716 982 710 983 716 983 711 983 711 984 716 984 717 984 711 985 717 985 712 985 712 986 717 986 718 986 712 987 718 987 713 987 713 988 718 988 719 988 713 989 719 989 605 989 714 990 720 990 715 990 715 991 720 991 721 991 715 992 721 992 716 992 716 993 721 993 722 993 716 994 722 994 717 994 717 995 722 995 723 995 717 996 723 996 718 996 718 997 723 997 724 997 718 998 724 998 719 998 719 999 724 999 725 999 719 1000 725 1000 605 1000 720 1001 726 1001 721 1001 721 1002 726 1002 727 1002 721 1003 727 1003 722 1003 722 1004 727 1004 728 1004 722 1005 728 1005 723 1005 723 1006 728 1006 729 1006 723 1007 729 1007 724 1007 724 1008 729 1008 730 1008 724 1009 730 1009 725 1009 725 1010 730 1010 731 1010 725 1011 731 1011 605 1011 726 1012 732 1012 727 1012 727 1013 732 1013 733 1013 727 1014 733 1014 728 1014 728 1015 733 1015 734 1015 728 1016 734 1016 729 1016 729 1017 734 1017 735 1017 729 1018 735 1018 730 1018 730 1019 735 1019 736 1019 730 1020 736 1020 731 1020 731 1021 736 1021 737 1021 731 1022 737 1022 605 1022 732 1023 738 1023 733 1023 733 1024 738 1024 739 1024 733 1025 739 1025 734 1025 734 1026 739 1026 740 1026 734 1027 740 1027 735 1027 735 1028 740 1028 741 1028 735 1029 741 1029 736 1029 736 1030 741 1030 742 1030 736 1031 742 1031 737 1031 737 1032 742 1032 743 1032 737 1033 743 1033 605 1033 738 1034 744 1034 739 1034 739 1035 744 1035 745 1035 739 1036 745 1036 740 1036 740 1037 745 1037 746 1037 740 1038 746 1038 741 1038 741 1039 746 1039 747 1039 741 1040 747 1040 742 1040 742 1041 747 1041 748 1041 742 1042 748 1042 743 1042 743 1043 748 1043 749 1043 743 1044 749 1044 605 1044 745 1045 744 1045 750 1045 750 1046 744 1046 751 1046 750 1047 751 1047 752 1047 752 1048 751 1048 753 1048 752 1049 753 1049 754 1049 754 1050 753 1050 755 1050 754 1051 755 1051 756 1051 756 1052 755 1052 757 1052 756 1053 757 1053 758 1053 758 1054 757 1054 759 1054 758 1055 759 1055 760 1055 760 1056 759 1056 761 1056 760 1057 761 1057 762 1057 762 1058 761 1058 763 1058 762 1059 763 1059 596 1059 596 1060 763 1060 594 1060 764 1061 605 1061 765 1061 765 1062 605 1062 766 1062 766 1063 605 1063 767 1063 767 1064 605 1064 768 1064 768 1065 605 1065 769 1065 769 1066 605 1066 770 1066 770 1067 605 1067 771 1067 771 1068 605 1068 772 1068 772 1069 605 1069 773 1069 773 1070 605 1070 774 1070 774 1071 605 1071 603 1071 604 1072 605 1072 775 1072 775 1073 605 1073 776 1073 776 1074 605 1074 777 1074 700 1075 605 1075 778 1075 778 1076 605 1076 779 1076 779 1077 605 1077 780 1077 780 1078 605 1078 781 1078 781 1079 605 1079 782 1079 783 1080 605 1080 784 1080 784 1081 605 1081 677 1081 628 1082 605 1082 785 1082 785 1083 605 1083 764 1083 624 1084 786 1084 787 1084 787 1085 786 1085 788 1085 787 1086 788 1086 789 1086 789 1087 788 1087 790 1087 789 1088 790 1088 791 1088 791 1089 790 1089 792 1089 791 1090 792 1090 793 1090 793 1091 792 1091 794 1091 793 1092 794 1092 795 1092 795 1093 794 1093 796 1093 795 1094 796 1094 797 1094 797 1095 796 1095 798 1095 797 1096 798 1096 799 1096 799 1097 798 1097 800 1097 799 1098 800 1098 801 1098 801 1099 800 1099 802 1099 801 1100 802 1100 803 1100 803 1101 802 1101 804 1101 803 1102 804 1102 805 1102 805 1103 804 1103 806 1103 805 1104 806 1104 599 1104 599 1105 806 1105 601 1105 786 1106 764 1106 788 1106 788 1107 764 1107 765 1107 788 1108 765 1108 790 1108 790 1109 765 1109 766 1109 790 1110 766 1110 792 1110 792 1111 766 1111 767 1111 792 1112 767 1112 794 1112 794 1113 767 1113 768 1113 794 1114 768 1114 796 1114 796 1115 768 1115 769 1115 796 1116 769 1116 798 1116 798 1117 769 1117 770 1117 798 1118 770 1118 800 1118 800 1119 770 1119 771 1119 800 1120 771 1120 802 1120 802 1121 771 1121 772 1121 802 1122 772 1122 804 1122 804 1123 772 1123 773 1123 804 1124 773 1124 806 1124 806 1125 773 1125 774 1125 806 1126 774 1126 601 1126 601 1127 774 1127 603 1127 624 1128 626 1128 786 1128 786 1129 626 1129 785 1129 786 1130 785 1130 764 1130 597 1131 595 1131 807 1131 807 1132 595 1132 593 1132 807 1133 593 1133 808 1133 808 1134 593 1134 606 1134 808 1135 606 1135 809 1135 809 1136 606 1136 608 1136 809 1137 608 1137 810 1137 810 1138 608 1138 610 1138 810 1139 610 1139 811 1139 811 1140 610 1140 612 1140 811 1141 612 1141 812 1141 812 1142 612 1142 614 1142 812 1143 614 1143 813 1143 813 1144 614 1144 616 1144 813 1145 616 1145 814 1145 814 1146 616 1146 618 1146 814 1147 618 1147 815 1147 815 1148 618 1148 620 1148 815 1149 620 1149 622 1149 599 1150 597 1150 805 1150 805 1151 597 1151 807 1151 805 1152 807 1152 803 1152 803 1153 807 1153 808 1153 803 1154 808 1154 801 1154 801 1155 808 1155 809 1155 801 1156 809 1156 799 1156 799 1157 809 1157 810 1157 799 1158 810 1158 797 1158 797 1159 810 1159 811 1159 797 1160 811 1160 795 1160 795 1161 811 1161 812 1161 795 1162 812 1162 793 1162 793 1163 812 1163 813 1163 793 1164 813 1164 791 1164 791 1165 813 1165 814 1165 791 1166 814 1166 789 1166 789 1167 814 1167 815 1167 789 1168 815 1168 787 1168 787 1169 815 1169 622 1169 787 1170 622 1170 624 1170 628 1171 785 1171 626 1171 673 1172 678 1172 674 1172 674 1173 678 1173 816 1173 674 1174 816 1174 675 1174 675 1175 816 1175 817 1175 675 1176 817 1176 676 1176 676 1177 817 1177 818 1177 676 1178 818 1178 677 1178 677 1179 818 1179 784 1179 678 1180 680 1180 816 1180 816 1181 680 1181 819 1181 816 1182 819 1182 817 1182 817 1183 819 1183 820 1183 817 1184 820 1184 818 1184 818 1185 820 1185 821 1185 818 1186 821 1186 784 1186 784 1187 821 1187 783 1187 680 1188 682 1188 819 1188 819 1189 682 1189 822 1189 819 1190 822 1190 820 1190 820 1191 822 1191 823 1191 820 1192 823 1192 821 1192 821 1193 823 1193 824 1193 821 1194 824 1194 783 1194 783 1195 824 1195 782 1195 783 1196 782 1196 605 1196 682 1197 684 1197 822 1197 822 1198 684 1198 825 1198 822 1199 825 1199 823 1199 823 1200 825 1200 826 1200 823 1201 826 1201 824 1201 824 1202 826 1202 827 1202 824 1203 827 1203 782 1203 782 1204 827 1204 781 1204 684 1205 686 1205 825 1205 825 1206 686 1206 828 1206 825 1207 828 1207 826 1207 826 1208 828 1208 829 1208 826 1209 829 1209 827 1209 827 1210 829 1210 830 1210 827 1211 830 1211 781 1211 781 1212 830 1212 780 1212 686 1213 688 1213 828 1213 828 1214 688 1214 831 1214 828 1215 831 1215 829 1215 829 1216 831 1216 832 1216 829 1217 832 1217 830 1217 830 1218 832 1218 833 1218 830 1219 833 1219 780 1219 780 1220 833 1220 779 1220 688 1221 690 1221 831 1221 831 1222 690 1222 834 1222 831 1223 834 1223 832 1223 832 1224 834 1224 835 1224 832 1225 835 1225 833 1225 833 1226 835 1226 836 1226 833 1227 836 1227 779 1227 779 1228 836 1228 778 1228 690 1229 692 1229 834 1229 834 1230 692 1230 694 1230 834 1231 694 1231 835 1231 835 1232 694 1232 696 1232 835 1233 696 1233 836 1233 836 1234 696 1234 698 1234 836 1235 698 1235 778 1235 778 1236 698 1236 700 1236 752 1237 837 1237 750 1237 750 1238 837 1238 746 1238 750 1239 746 1239 745 1239 746 1240 837 1240 747 1240 747 1241 837 1241 838 1241 747 1242 838 1242 748 1242 748 1243 838 1243 839 1243 748 1244 839 1244 749 1244 749 1245 839 1245 777 1245 749 1246 777 1246 605 1246 837 1247 752 1247 840 1247 840 1248 752 1248 754 1248 840 1249 754 1249 841 1249 841 1250 754 1250 756 1250 841 1251 756 1251 842 1251 842 1252 756 1252 758 1252 842 1253 758 1253 843 1253 843 1254 758 1254 760 1254 843 1255 760 1255 844 1255 844 1256 760 1256 762 1256 844 1257 762 1257 598 1257 598 1258 762 1258 596 1258 837 1259 840 1259 838 1259 838 1260 840 1260 845 1260 838 1261 845 1261 839 1261 839 1262 845 1262 846 1262 839 1263 846 1263 777 1263 777 1264 846 1264 776 1264 845 1265 840 1265 841 1265 845 1266 841 1266 847 1266 847 1267 841 1267 842 1267 847 1268 842 1268 848 1268 848 1269 842 1269 843 1269 848 1270 843 1270 849 1270 849 1271 843 1271 844 1271 849 1272 844 1272 600 1272 600 1273 844 1273 598 1273 845 1274 847 1274 846 1274 846 1275 847 1275 850 1275 846 1276 850 1276 776 1276 776 1277 850 1277 775 1277 850 1278 847 1278 848 1278 850 1279 848 1279 851 1279 851 1280 848 1280 849 1280 851 1281 849 1281 602 1281 602 1282 849 1282 600 1282 604 1283 775 1283 851 1283 851 1284 775 1284 850 1284 604 1285 851 1285 602 1285 763 1286 852 1286 594 1286 594 1287 852 1287 853 1287 594 1288 853 1288 592 1288 592 1289 853 1289 854 1289 592 1290 854 1290 607 1290 607 1291 854 1291 855 1291 607 1292 855 1292 609 1292 609 1293 855 1293 856 1293 609 1294 856 1294 611 1294 611 1295 856 1295 857 1295 611 1296 857 1296 613 1296 613 1297 857 1297 858 1297 613 1298 858 1298 615 1298 615 1299 858 1299 859 1299 615 1300 859 1300 617 1300 617 1301 859 1301 860 1301 617 1302 860 1302 619 1302 619 1303 860 1303 861 1303 619 1304 861 1304 630 1304 630 1305 861 1305 862 1305 630 1306 862 1306 636 1306 636 1307 862 1307 863 1307 636 1308 863 1308 642 1308 642 1309 863 1309 864 1309 642 1310 864 1310 648 1310 648 1311 864 1311 865 1311 648 1312 865 1312 654 1312 654 1313 865 1313 866 1313 654 1314 866 1314 660 1314 660 1315 866 1315 867 1315 660 1316 867 1316 666 1316 666 1317 867 1317 868 1317 666 1318 868 1318 672 1318 672 1319 868 1319 869 1319 672 1320 869 1320 679 1320 679 1321 869 1321 870 1321 679 1322 870 1322 681 1322 681 1323 870 1323 871 1323 681 1324 871 1324 683 1324 683 1325 871 1325 872 1325 683 1326 872 1326 685 1326 685 1327 872 1327 873 1327 685 1328 873 1328 687 1328 687 1329 873 1329 874 1329 687 1330 874 1330 689 1330 689 1331 874 1331 875 1331 689 1332 875 1332 691 1332 691 1333 875 1333 876 1333 691 1334 876 1334 702 1334 702 1335 876 1335 877 1335 702 1336 877 1336 708 1336 708 1337 877 1337 878 1337 708 1338 878 1338 714 1338 714 1339 878 1339 879 1339 714 1340 879 1340 720 1340 720 1341 879 1341 880 1341 720 1342 880 1342 726 1342 726 1343 880 1343 881 1343 726 1344 881 1344 732 1344 732 1345 881 1345 882 1345 732 1346 882 1346 738 1346 738 1347 882 1347 883 1347 738 1348 883 1348 744 1348 744 1349 883 1349 884 1349 744 1350 884 1350 751 1350 751 1351 884 1351 885 1351 751 1352 885 1352 753 1352 753 1353 885 1353 886 1353 753 1354 886 1354 755 1354 755 1355 886 1355 887 1355 755 1356 887 1356 757 1356 757 1357 887 1357 888 1357 757 1358 888 1358 759 1358 759 1359 888 1359 889 1359 759 1360 889 1360 761 1360 761 1361 889 1361 890 1361 761 1362 890 1362 763 1362 763 1363 890 1363 852 1363 459 1364 853 1364 270 1364 270 1365 853 1365 852 1365 270 1366 852 1366 268 1366 268 1367 852 1367 890 1367 268 1368 890 1368 282 1368 282 1369 890 1369 889 1369 282 1370 889 1370 284 1370 284 1371 889 1371 888 1371 284 1372 888 1372 286 1372 286 1373 888 1373 887 1373 286 1374 887 1374 288 1374 288 1375 887 1375 886 1375 288 1376 886 1376 290 1376 290 1377 886 1377 885 1377 290 1378 885 1378 292 1378 292 1379 885 1379 884 1379 292 1380 884 1380 294 1380 294 1381 884 1381 883 1381 294 1382 883 1382 362 1382 362 1383 883 1383 882 1383 362 1384 882 1384 366 1384 366 1385 882 1385 881 1385 366 1386 881 1386 370 1386 370 1387 881 1387 880 1387 370 1388 880 1388 374 1388 374 1389 880 1389 879 1389 374 1390 879 1390 378 1390 378 1391 879 1391 878 1391 378 1392 878 1392 382 1392 382 1393 878 1393 877 1393 382 1394 877 1394 386 1394 386 1395 877 1395 876 1395 386 1396 876 1396 390 1396 390 1397 876 1397 875 1397 390 1398 875 1398 395 1398 395 1399 875 1399 874 1399 395 1400 874 1400 397 1400 397 1401 874 1401 873 1401 397 1402 873 1402 399 1402 399 1403 873 1403 872 1403 399 1404 872 1404 401 1404 401 1405 872 1405 871 1405 401 1406 871 1406 403 1406 403 1407 871 1407 870 1407 403 1408 870 1408 405 1408 405 1409 870 1409 869 1409 405 1410 869 1410 407 1410 407 1411 869 1411 868 1411 407 1412 868 1412 414 1412 414 1413 868 1413 867 1413 414 1414 867 1414 418 1414 418 1415 867 1415 866 1415 418 1416 866 1416 422 1416 422 1417 866 1417 865 1417 422 1418 865 1418 426 1418 426 1419 865 1419 864 1419 426 1420 864 1420 430 1420 430 1421 864 1421 863 1421 430 1422 863 1422 434 1422 434 1423 863 1423 862 1423 434 1424 862 1424 438 1424 438 1425 862 1425 861 1425 438 1426 861 1426 442 1426 442 1427 861 1427 860 1427 442 1428 860 1428 447 1428 447 1429 860 1429 859 1429 447 1430 859 1430 449 1430 449 1431 859 1431 858 1431 449 1432 858 1432 451 1432 451 1433 858 1433 857 1433 451 1434 857 1434 453 1434 453 1435 857 1435 856 1435 453 1436 856 1436 455 1436 455 1437 856 1437 855 1437 455 1438 855 1438 457 1438 457 1439 855 1439 854 1439 457 1440 854 1440 459 1440 459 1441 854 1441 853 1441

+
+
+
+
+ + + + 1 0 0 0.04515354 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + + + + + + +
diff --git a/meshes/teltonika_003R-00253_collision.stl b/meshes/teltonika_003R-00253_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..16b50300c5cc1a137438f4c846d7e234d32f2216 GIT binary patch literal 51184 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 - \ No newline at end of file + diff --git a/package.xml b/package.xml index 202fbbe..b4b15b5 100644 --- a/package.xml +++ b/package.xml @@ -17,20 +17,19 @@ ament_cmake - robot_state_publisher - urdf - xacro - ur_description kortex_description - robotiq_description - - ros_gz_sim - ros_gz_bridge launch nav2_common + robot_state_publisher + robotiq_description + ros_gz_bridge + ros_gz_sim + ur_description + urdf + xacro - ament_index_python ament_cmake_pytest + ament_index_python python3-yaml diff --git a/test/test_components_xacro.py b/test/test_components_xacro.py index 9297e26..6b57883 100644 --- a/test/test_components_xacro.py +++ b/test/test_components_xacro.py @@ -13,11 +13,12 @@ # limitations under the License. +import os +import xml import xml.dom import xml.dom.minidom -import os + import xacro -import xml import yaml from ament_index_python.packages import get_package_share_directory @@ -84,26 +85,26 @@ def does_urdf_parse(self) -> bool: self._urdf = xacro.process_file( xacro_path, mappings={"components_config_path": self.components_config_path} ) - except xacro.XacroException as e: + except xacro.XacroException: return False return True def does_link_exist(self, doc: xml.dom.minidom.Document, link_name: str) -> bool: - links = doc.getElementsByTagName('link') + links = doc.getElementsByTagName("link") for link in links: - if link.getAttribute('name') == link_name: + if link.getAttribute("name") == link_name: return True return False def does_sensor_name_exist( self, doc: xml.dom.minidom.Document, link_name: str, sensor_name: str ) -> bool: - gazebos_tags = doc.getElementsByTagName('gazebo') + gazebos_tags = doc.getElementsByTagName("gazebo") for tag in gazebos_tags: - if tag.getAttribute('reference') == link_name: - sensors = doc.getElementsByTagName('sensor') + if tag.getAttribute("reference") == link_name: + sensors = doc.getElementsByTagName("sensor") for sensor in sensors: - if sensor.getAttribute('name') == sensor_name: + if sensor.getAttribute("name") == sensor_name: return True return False diff --git a/urdf/components.urdf.xacro b/urdf/components.urdf.xacro index e426c27..7e63aa3 100644 --- a/urdf/components.urdf.xacro +++ b/urdf/components.urdf.xacro @@ -28,12 +28,26 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + ${ns}${device_namespace}/fix + ${ns}${device_namespace} + + + +